目標檢測算法-CRAFT


目標檢測任務中通常分為兩個子任務:產生proposal以及將proposal分類,CRAFT對Faster-RCNN進行改進,分別對Faster-RCNN中的兩個階段進行了一定的改進,對於生成目標proposal階段,在RPN的后面加了一個二值的Fast-RCNN分類器來對RPN生成的proposals進行進一步的篩選,留下一些高質量的proposals,對於第二階段的目標proposals分類,在原來的分類器后又級聯了N個類別(不包含背景類)的二值分類器以進行更精細的目標檢測。

由於R-CNN產生的區域建議包含過多背景區域,導致物體類內差異小於物體與背景的差異,從而引入很多相似類間的假正例。"分而治之":RPN后面增加一個基於CNN的分類器來區分物體與背景。

一.區域建議

RPN(基線)

覆蓋幾乎所有物體實例的同時,理想的區域建議產生器產生的建議越少越好。RPN 能夠獲取不同物體的相似性。然而,分類區域的目的是區分物體與非物體 。RPN 難以獲得極限尺度或形狀的物體 (比如瓶子和船),還包括表面不復雜或者藏在雜物中的物體 (比如植物,電視和椅子)。
級聯建議生成器

RPN 后引入1個2類檢測網絡 (FRCN) 來區分真實物體與背景 (或誤定位區域)。RPN 輸入一般的圖像塊,輸出類似紋理的一般模式。FRCN 輸入為 RPN 輸出,學習更細致的模式。

訓練步驟:

(1)單獨訓練RPN網絡,網絡參數由預訓練模型載入。

(2)單獨訓練Fast-RCNN網絡,將第一步RPN的輸出候選框區域作為檢測網絡的輸入,具體而言,RPN輸出一個候選框,通過候選框截取原圖像,並將截取后的圖像通過幾次conv-pool,然后再通過roi-pooling和fc在輸出兩條支路,一條是目標分類softmax,另一條是bbox回歸。截止到現在,兩個網絡並沒有共享參數,只是分開訓練了。

(3)再次訓練RPN,此時固定網絡公共部分的參數,只更新RPN獨有部分的參數。

(4)RPN的結果再次微調Fast-RCNN網絡,固定網絡公共部分的參數,只更新Fast-RCNN獨有部分的參數。

實現細節:

RPN網絡得到大約2萬個anchor但是不是全部都給Fast-RCNN,因為由很多重疊的框。使用NMS方法,設定IOU為0.7的閾值最后留下大約2000個anchor,然后再取前N個box(比如300個)給Fast-RCNN。Fast-RCNN將輸出300個判定類別及其box,對類別分數采用閾值為0.3的NMS,並取分數大於某個分數的目標結果。

二.物體分類

快速 R-CNN (基線)
RPN 產生大量背景區域建議,所以快速 R-CNN 分類時增加背景類。用 Softmax 層的多類交叉熵訓練分類器 (假正例太多),輔以邊界框回歸。

級聯分類器
太多假正例造成誤分類。R-CNN 框架中用1對多的2類SVM分類。每個2類分類器專注於找類內的差異。

最后,FRCN-1用來產生區域建議,FRCN-2目標函數為N個二分類交叉熵函數損失的和,測試時,RPN產生300個區域建議,FRCN-1產生約20個原檢測,每個原檢測有N個分數。FRCN-2對原檢測在分類,有N個輸出分數,最后的輸出分數為每類的輸出分數乘以對應類的原分數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM