錨定更快的 RCNN
在 Faster RCNN 論文中談到錨定時,使用“參考框金字塔”是什麼意思,這是如何做到的?這是否僅僅意味著在每個 WHk 錨點處生成一個邊界框?
其中 W = 寬度,H = 高度,k = 縱橫比數量 * 比例
錨點解釋
錨點
暫時,忽略“參考框金字塔”這個花哨的術語,anchors 只不過是要饋送到 Region Proposal Network 的固定大小的矩形。錨點是在最後一個卷積特徵圖上定義的,這意味著有 $ (H_{featuremap}W_{featuremap})(k) $ 其中,但它們對應於圖像。對於每個錨點,RPN 會預測一般包含一個對象的概率和四個校正坐標,以將錨點移動並調整其大小到正確的位置。但是錨的幾何形狀與 RPN 有什麼關係呢?
錨點實際上出現在損失函數中
在訓練 RPN 時,首先為每個錨點分配一個二進制類標籤。具有Intersection-over-Union ( IoU ) 的錨與真實框重疊,高於某個閾值,被分配一個正標籤(同樣,IoU 小於給定閾值的錨將被標記為負)。這些標籤進一步用於計算損失函數:
$ p $ 是RPN的分類頭輸出,它決定了anchor包含對象的概率。對於標記為 Negative 的錨點,回歸不會產生任何損失—— $ p^* $ ,真實標籤為零。換句話說,網絡不關心負錨的輸出坐標,只要它正確分類它們就很高興。在正錨點的情況下,會考慮回歸損失。 $ t $ 是 RPN 的回歸頭輸出,表示預測邊界框的 4 個參數化坐標的向量。參數化取決於錨的幾何形狀,如下所示:
在哪裡 $ x, y, w, $ h 表示盒子的中心坐標及其寬度和高度。變量 $ x, x_a, $ 和 $ x^* $ 分別用於預測框、錨框和真實框(同樣適用於 $ y, w, h $ )。
另請注意,沒有標籤的錨既不分類也不重塑,RPM 只是將它們排除在計算之外。一旦 RPN 的工作完成並生成了提案,其餘部分與 Fast R-CNN 非常相似。