物件偵測

區域提議網路

區域提議網路是 Faster R-CNN 內部那個小型、全卷積的「第一階段」,它唯一的工作是看著共享特徵圖,在許多位置喊出「這裡也許有物件,而且大概是這個形狀」。它是 Selective Search 的學習版替代品:提議不再來自固定的影像處理演算法,而來自一個在資料上訓練的網路;又因為它共享骨幹的特徵,執行起來幾乎不花成本。

在機制上,RPN 在特徵圖上滑動一個小型(例如 3×3)卷積以混合局部脈絡,再分岔成兩個 1×1 卷積頭。在每個空間位置上,它考慮 k 個錨框(例如 9 個,來自 3 尺度 × 3 長寬比)。分類頭輸出 2k 個物件性 logit(每個錨框的物件對非物件);回歸頭輸出 4k 個框微調量(每個錨框的 (t_x,t_y,t_w,t_h) 偏移)。由於它是全卷積的,一次前向傳遞就同時為整張影像上的每個錨框評分。

它的標籤來自與真實框的 IoU:若某錨框與任一真實框的 IoU 高於約 0.7(或它是某個框的最高 IoU 錨框,以保證每個物件至少有一個),即為正樣本;若它與所有真實框的 IoU 都低於約 0.3,即為負樣本;其餘則被忽略。損失為物件性的二元交叉熵,加上只施於正樣本的 smooth-L1 回歸。注意 RPN 是類別無關的——它只預測「是不是物件」,把真正的類別留給第二階段。

推論時 RPN 可能輸出數以萬計的已評分錨框;這些會經由取分數前 N 名、以預測的偏移量微調、裁切到影像邊界、再跑 NMS,縮減成約 1,000–2,000 個提議交給 RoI 頭。RPN 也是單階段偵測的概念種子:一個在特徵圖上密集、基於錨框、滑動的「物件性+回歸」頭,正是 YOLO、SSD、RetinaNet 所推廣的——差別在於它們在那同一次掃描中就分類成真正的類別,跳過了第二階段。

在每格 9 個錨框的 50×38 特徵圖上,RPN 一次傳遞就為 50×38×9 ≈ 17,100 個錨框評分;經過取前 N 名 + NMS 後,只剩約 2,000 個提議存活進入第二階段。

又稱
RPN