摘要:
SPPNET 和 FAST RCNN 較少了檢測(cè)網(wǎng)絡(luò)的時(shí)間,但是 region proposal 還是耗費(fèi)很多時(shí)間。FASTER RCNN 解決了這個(gè)問(wèn)題,提出了Region Proposal Network(RPN)代替selective search部分,同時(shí)輸出bbox和每一類(lèi)的scores??梢耘cFAST RCNN結(jié)合實(shí)現(xiàn)端到端的網(wǎng)絡(luò),可以共享卷積特征。速度是5fps,在VOC2007的結(jié)果是mAP 73.2%.
整個(gè)FASTER RCNN的結(jié)構(gòu)圖如下所示:

Region Proposal Networks
PRN以任意尺寸的圖片作為輸入,輸出一系列矩形的region proposals以及每個(gè)對(duì)應(yīng)的scores。為了使PRN和fast rcnn 分享卷積特征,所以這兩個(gè)網(wǎng)絡(luò)要使用同樣的卷積層。本文使用了ZF和VGG19兩個(gè)網(wǎng)絡(luò)的卷積層,作為共享卷積層。
如圖1所示,為了生成region proposals 在最后一個(gè)卷積層上,用一個(gè)n*n(n=3)的小窗口(卷積層)滑動(dòng)每個(gè)位置,把特征降為256維。把這256為特征分別輸入兩個(gè)全連接層cls和reg。
Translation-Invariant Anchors
在每個(gè)滑窗的位置預(yù)測(cè)k個(gè)region proposals(k=9)叫作anchor,3種尺度和3種長(zhǎng)寬比。reg layer 有4k個(gè)輸出對(duì)應(yīng)BBox的坐標(biāo),cls layer有2k個(gè)scores輸出對(duì)應(yīng)是否有目標(biāo)的概率。若一個(gè)最后一個(gè)特征層大小是W*H,那么總共有WHk個(gè)anchors。
A Loss Function for Learning Region Proposals
為了訓(xùn)練PRNs,賦予anchors二值的類(lèi)標(biāo)對(duì)應(yīng)是否包含object。以下兩種anchors賦予正類(lèi)標(biāo):
- 與某個(gè)ground truth 的IOU最大的anchors。
- 與任何GT的IOU大于0.7的anchors。
賦予與任何GT的iou小于0.3的anchors作為負(fù)例,其余的anchors棄之不用。
損失函數(shù)如下:


Optimization
一個(gè)mini-batch從一幅圖像中采樣256個(gè)anchors,正負(fù)樣本比例為1:1. 如果正樣本數(shù)量不夠128,就用負(fù)樣本填充。

Sharing Convolutional Features for Region Proposal and Object Detection
- 先訓(xùn)練PRNs。通過(guò)在imagenet上訓(xùn)練好的分類(lèi)模型,端到端的在Region Proposal任務(wù)上fine-tune。
- 訓(xùn)練FAST RCNN網(wǎng)絡(luò)通過(guò)step1中PRNs生成的region proposals。FAST RCNN也通過(guò)預(yù)訓(xùn)練網(wǎng)絡(luò)初始化。
- 用dectetion 網(wǎng)絡(luò)初始化PRNs網(wǎng)絡(luò),固定共享層,只fine-tunePRNS獨(dú)有的層。
- 最后,固定共享層,fine-tune FAST RANN的全連接層。
最后要進(jìn)行非最大值抑制,刪除重復(fù)的bbox。在NMS 之后,選擇得分最高的N個(gè)區(qū)域作為結(jié)果。