一、前言
之前的Faster RCNN對Fast RCNN產(chǎn)生region porposal的問題給出了解決方案,并且在RPN和Fast RCNN網(wǎng)絡(luò)中實現(xiàn)了卷積層共享。
但是這種共享僅僅停留在第一卷積部分,RoIpooling及之后的部分沒有實現(xiàn)完全共享,可以當(dāng)做是一種“部分共享”,這導(dǎo)致兩個損失:1.信息損失,精度下降。2.由于后續(xù)網(wǎng)絡(luò)部分不共享,導(dǎo)致重復(fù)計算全連接層等參數(shù),時間代價過高。(另外還需要多說一句,全連接層計算量是要大于全卷積層的)
因此RFCN(Region-based fully convolutional network)試圖以Faster RCNN和FCN為基礎(chǔ)進(jìn)行改進(jìn)。
二、結(jié)構(gòu)
2.1問題
第一個問題,如何改進(jìn)不完全共享問題
FCN(Fully convolutional network)針對不完全共享問題進(jìn)行了改進(jìn),即:將一般的backbone網(wǎng)絡(luò)中用于分類的全連接層替換為全卷積層,這樣一來整個網(wǎng)絡(luò)結(jié)構(gòu)均是由卷積層構(gòu)成,因而稱為全卷積網(wǎng)絡(luò)。
第二個問題,目標(biāo)檢測的需求
很顯然,目標(biāo)檢測問題包括兩個子問題:第一是確定物體種類,第二是確定物體位置,確定物體種類時我們希望保持位置不敏感性(translation invariance也就是說不管物體出現(xiàn)在哪個位置都能正確分類)以及保持位置敏感性(translation variance我們當(dāng)然希望不論物體發(fā)生怎樣的位置變化都能確定物體位置)
這兩個需求看起來比較矛盾,RFCN做出了一個折中,實際上也不算折中吧,就是這樣一個問題:我們知道全卷積網(wǎng)絡(luò)提取特征非常強(qiáng),因此用于物體分類很nice,但是普通的卷積網(wǎng)絡(luò)只關(guān)注特征,并不關(guān)注位置信息,不能直接用于檢測。所以RFCN在FCN網(wǎng)絡(luò)中引入了一個概念“position sensitive score map”位置敏感得分圖,用來保證全卷積網(wǎng)絡(luò)對物體位置的敏感性。
先接著說結(jié)構(gòu)的問題,在結(jié)構(gòu)當(dāng)中繼續(xù)解釋這個position sensitive
2.2結(jié)構(gòu)與流程
下圖描述了RFCN的結(jié)構(gòu),物體檢測流程如下:
原始圖片經(jīng)過conv卷積得到feature map1,其中一個subnetwork如同F(xiàn)astRCNN:使用RPN在featuremap1上滑動產(chǎn)生region proposal備用;另一個subnetwork則繼續(xù)卷積,得到k^2(k=3)深度的featuremap2,根據(jù)RPN產(chǎn)生的RoI(region proposal)在這些featuremap2上進(jìn)行池化和打分分類操作,得到最終的檢測結(jié)果。

觀察RFCN結(jié)構(gòu)中的這個放大部分,此處是上文提到的position sensitive的關(guān)鍵。

下面這張figure3描述了一次成功的位置敏感性識別,figure3中間的九張featuremap實際上就是位置敏感結(jié)構(gòu)圖左側(cè)的九層featuremap,每一層分別對應(yīng)物體的一個感興趣部位,就比如[2,2]這張圖上中位置代表人體的頭部。因而所有位置的響應(yīng)經(jīng)過一次池化都保存在figure3右側(cè)33(C+1)的對應(yīng)位置了(原來是上中現(xiàn)在還是上中,原來是左下現(xiàn)在還是左下),如此位置敏感性得到保留。
當(dāng)poolingmap九個方框得分都超過一定閾值,我們可以相信這個region proposal中是存在物體的。

下圖figure4展示了一次失敗的檢測:由于紅框內(nèi)的poolingmap得分過低。

三、總結(jié)
上述為RFCN閱讀后的筆記,可以看見RFCN的貢獻(xiàn)在于:1.引入FCN達(dá)成更多的網(wǎng)絡(luò)參數(shù)和特征共享(相比于Faster RCNN)2.解決全卷積網(wǎng)絡(luò)關(guān)于位置敏感性的不足問題(使用position sensitive score map)
其余結(jié)構(gòu)與Faster RCNN相比沒有很大的區(qū)別(保留RPN,共享第一層用于提取特征的con_Subnetwork)
這篇論文是在沒有深入了解過FCN的情況下讀的,下一步先讀一下FCN以及MaskRCNN那么two stage detecion method可以先告一段落了。