Faster-RCNN的一些记录。
Faster-RCNN詳解
Ross B. Girshick的論文《Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks》
主要解決兩個問題:
1、提出區域建議網絡RPN,快速生成候選區域;
2、通過交替訓練,使RPN和Fast-RCNN網絡共享參數。
另外Faster RCN已經將特征抽取(feature extraction),proposal提取(RPN),bounding box regression,classification都整合在了一個網絡中,使得綜合性能有較大提高,在檢測速度方面尤為明顯
?
1、RPN網絡
RPN網絡的作用是輸入一張圖像,輸出一批矩形候選區域,類似于Selective Search的作用,網絡結構是卷積神經網絡,輸出時包含softmax二類分類器(是否是候選框)和bbox回歸得出候選邊界框的位置的四個參數(box的中心坐標xy和box長h寬w),
?
2、anchor機制
anchor是rpn網絡的核心,RPN網絡需要確定每個滑窗中心對應感受野內存在目標與否,但是由于目標大小和長寬比例不一,需要多個尺度的窗。所以Anchor正是給出一個基準窗大小,可以按照倍數和長寬比例可以得到不同大小的窗,論文中基準窗大小為16,給了(8、16、32)三種倍數和(0.5、1、2)三種比例,這樣能夠得到一共9種尺度的anchor。
例如:在對60*40的特征圖map進行滑窗時,以中心像素為基點構造9種anchor映射到原來的1000*600圖像中,映射比例為16倍。那么總共可以得到60*40*9大約2萬個anchor。
3、訓練
對于分類器,采anchor是否有目標,用了這樣的規則判斷:1)假如某anchor與任一目標區域的IoU最大,則該anchor判定為有目標;2)假如某anchor與任一目標區域的IoU>0.7,則判定為有目標;3)假如某anchor與任一目標區域的IoU<0.3,則判定為背景。
所謂IoU,就是預測box和真實box的覆蓋率,其值等于兩個box的交集除以兩個box的并集。其它的anchor不參與訓練。
對于回歸器:判定為有目標的anchor,并將其標注的坐標作為ground truth
代價函數為:
代價函數分為兩部分,前邊對應anchor中是否有目標的分類誤差,后邊對應bbox回歸誤差。
4、聯合訓練
1) 單獨訓練RPN網絡,網絡參數由預訓練模型載入;
2) 單獨訓練Fast-RCNN網絡,將第一步RPN的輸出候選區域作為檢測網絡的輸入。具體而言,RPN輸出一個候選框,通過候選框截取原圖像,并將截取后的圖像通過幾次conv-pool,然后再通過roi-pooling和fc再輸出兩條支路,一條是目標分類softmax,另一條是bbox回歸。截止到現在,兩個網絡并沒有共享參數,只是分開訓練了;
3) 再次訓練RPN,此時固定網絡公共部分的參數,只更新RPN獨有部分的參數;
4) 那RPN的結果再次微調Fast-RCNN網絡,固定網絡公共部分的參數,只更新Fast-RCNN獨有部分的參數。
5、其他理解
從上圖來看:
1) Faster RCNN首先使用一組基礎conv layer(conv+relu+pooling層)提取image的feature maps。該feature maps被共享用于后續RPN層和全連接層。
2) RPN(Region Proposal Networks)。RPN網絡用于生成region proposals。該層通過softmax判斷anchors屬于foreground或者background,再利用bounding box regression修正anchors的位置,最終獲得精確位置的region proposals(候選框)。
3)RoI Pooling。輸入的feature maps和候選框(region proposals),綜合這些信息后提取proposal?feature maps,送入后面全連接層判定目標類別。
4)Classification and regression。利用proposal?feature maps計算region proposal中物體的類別,同時再次bounding box regression獲得檢測框最終的精確位置。
6、其他理解
I是輸入圖像,conv是卷積層,H是network head,C使classification即Softmax二分類anchor中是否有目標,B是Bbox回歸得到候選框,pool是ROI Pooling
7、其他概念
bounding box regression:對定位不準的邊界框進行微調,即尋找一種映射關系是定位不準的邊界框經過映射后得到跟ground true接近的邊界框。
RPN步驟:生成anchors -> softmax分類器提取fg anchors?-> bbox reg回歸fg anchors -> Proposal Layer過濾得到最終的proposal ?boxs
多通道卷積:對多通道圖像做1x1卷積,其實就是將輸入圖像于每個通道乘以卷積系數后加在一起,即相當于把原圖像中本來各個獨立的通道“聯通”在了一起。
總結
以上是生活随笔為你收集整理的Faster-RCNN的一些记录。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Object Detection中的IO
- 下一篇: Cascade R-CNN的一些记录