目標(biāo)檢測(cè)之R-FCN網(wǎng)絡(luò)

論文地址:https://arxiv.org/abs/1605.06409
Github代碼:Matlab版榆骚,Python版

背景

在Fast R-CNN中坏晦,rbg利用 ROI Pooling 解決了不同尺寸 proposal 的特征提取問(wèn)題丛晦,在其升級(jí)版 Faster R-CNN 中rbg進(jìn)一步提出了 RPN 網(wǎng)絡(luò)掉冶,通過(guò)共享輸入圖像的卷積特征准夷,快速生成 proposal双抽。縱觀整個(gè) R-CNN 系列的發(fā)展過(guò)程琳要,我們可以發(fā)現(xiàn)寡具,F(xiàn)ast R-CNN中之所以引進(jìn) ROI Pooling 是因?yàn)榫W(wǎng)絡(luò)中全連接層的存在。事實(shí)上稚补,一些state of art的圖片分類(lèi)網(wǎng)絡(luò)均為全卷積網(wǎng)絡(luò)童叠,如ResNet、GoogLeNet等课幕。所以很自然地厦坛,是否可以將目標(biāo)檢測(cè)的網(wǎng)絡(luò)也用全卷積網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)?事實(shí)證明乍惊,如果簡(jiǎn)單地丟棄全連接層(實(shí)現(xiàn)融合特征和特征映射)粪般,檢測(cè)的效果會(huì)很差。

作者認(rèn)為這主要來(lái)源于這樣的一對(duì)矛盾:

圖像分類(lèi):要求圖像具有平移不變性(translation invariance)
目標(biāo)檢測(cè):要求圖像具有位置敏感性(translation variance)

Region based Fully Convolutional Network(R-FCN)的提出即是為了解決這樣的一對(duì)矛盾污桦,R-FCN中的一個(gè)關(guān)鍵層是位置敏感ROI池化層(position-sensitive RoI pooling layer)。

R-FCN結(jié)構(gòu)

r-fcn

首先來(lái)看一下R-FCN的網(wǎng)絡(luò)結(jié)構(gòu)匙监。和Faster R-CNN一樣凡橱,R-FCN也是 基于region proposal的兩級(jí)檢測(cè)架構(gòu)小作。

“對(duì)于region-based的檢測(cè)方法,以Faster R-CNN為例稼钩,實(shí)際上是分成了幾個(gè)subnetwork顾稀,第一個(gè)用來(lái)在整張圖上做比較耗時(shí)的conv,這些操作與region無(wú)關(guān)坝撑,是計(jì)算共享的静秆。第二個(gè)subnetwork是用來(lái)產(chǎn)生候選的boundingbox(如RPN),第三個(gè)subnetwork用來(lái)分類(lèi)或進(jìn)一步對(duì)box進(jìn)行regression(如Fast RCNN)巡李,這個(gè)subnetwork和region是有關(guān)系的抚笔,必須每個(gè)region單獨(dú)跑網(wǎng)絡(luò),銜接在這個(gè)subnetwork和前兩個(gè)subnetwork中間的就是ROI pooling侨拦。我們希望的是殊橙,耗時(shí)的卷積都盡量移到前面共享的subnetwork上。因此狱从,和Faster RCNN中用的ResNet(前91層共享膨蛮,插入ROI pooling,后10層不共享)策略不同季研,本文把所有的101層都放在了前面共享的subnetwork敞葛。最后用來(lái)prediction的卷積只有1層,大大減少了計(jì)算量与涡∪切常”

R-FCN 首先也是一個(gè)RPN的網(wǎng)絡(luò),用于生成和訓(xùn)練proposal(ROI)递沪。所不同的是豺鼻,F(xiàn)aster R-CNN中,ROI Pooling層直接對(duì)ROI進(jìn)行分塊池化輸出用于分類(lèi)和回歸的特征向量款慨。

R-FCN中儒飒,則將每一個(gè)ROI劃分成k×k個(gè)格,池化輸出每個(gè)格的位置得分檩奠,再通過(guò)投票方式得到 ROI 最后的輸出特征向量桩了。的首先生成 k^2(C+1) 通道大小的輸出。其中埠戳,C 為類(lèi)別數(shù)(+1為背景)井誉, k^2 表示將ROI區(qū)域劃分成 k×k個(gè)格,如上圖所示整胃。如 k=3颗圣,則對(duì)應(yīng)9個(gè)格,分別為上左(左上角),上中在岂,上右奔则,中左,中中蔽午,中右易茬,下左,下中及老,下右(右下角)抽莱,如下圖所示:

Backbone網(wǎng)絡(luò):ResNet101——去除原始網(wǎng)絡(luò)最后的平均池化層和全連接層,保留100層的卷積層用于特征提取骄恶。為了降維食铐,100層卷積層之后又添加了一層1×1×1024的卷積層,使輸出維度變成1024(原始的是2048)叠蝇。之后再接一層卷積層用于產(chǎn)生得分圖璃岳。

位置敏感得分圖&位置敏感ROI Pooling:將w×h大小的ROI劃分成k×k個(gè)格(大小 ≈ \frac{w}{k}×\frac{h}{k})。對(duì)每個(gè)格進(jìn)行位置敏感池化操作悔捶,如下式:
r(i,j|Θ) = \sum_{(x,y)∈bin(i,j)}^{}z_i,_j,_c(x+x_0,y+y_0|Θ)/n
式中铃慷,r(i,j|Θ)是第(i,j)個(gè)格的池化響應(yīng);z_i,_j,_c表示k^2(C+1) 中的一個(gè)得分圖蜕该;(x_0,y_0)表示ROI左上角的格犁柜。

k^2個(gè)得分圖通過(guò)投票(eg.求均值)后得到ROI上 C+1 維的輸出向量。后接一個(gè)softmax層得到每一類(lèi)的最終得分堂淡,并在訓(xùn)練時(shí)計(jì)算損失馋缅,如下圖。

ROI的位置回歸:R-FCN的位置回歸方式與R-CNN和Fast R-CNN相似绢淀。上面說(shuō)到萤悴,在base網(wǎng)絡(luò)的 feature map 之后連接了一層卷積用于產(chǎn)生k^2(C+1)維的位置敏感得分圖。此處仍然從base網(wǎng)絡(luò)上連接一個(gè) 4k^2 通道的得分圖(與位置敏感得分圖并列)皆的,用來(lái)做 ROI 的坐標(biāo)微調(diào)覆履。同樣對(duì)這個(gè) 4k^2 大小的得分圖進(jìn)行 ROI Pooling操作,輸出 t=(t_x, t_y, t_w, t_h) 大小的 4 維坐標(biāo)向量费薄。

訓(xùn)練的相關(guān)細(xì)節(jié):損失函數(shù)與Fast RCNN相似硝全,分類(lèi)部分為交叉熵?fù)p失,回歸部分為平滑L1損失楞抡,總的損失為這兩部分的和:

L(s, t_{x, y, w, h}) = L_{cls}(s_{c^*}) + \lambda[c^* > 0]L_{reg}(t, t^*)

  1. IoU大于0.5的ROI被當(dāng)做正樣本伟众,其余作為負(fù)樣本
  2. 采用單尺度訓(xùn)練,尺度大小為600像素(min(w, h))召廷。每張圖片通過(guò)OHEM選取128個(gè)hard example做反向傳播
  3. 分別用學(xué)習(xí)率為0.001凳厢,20k次迭代账胧;學(xué)習(xí)率為0.0001,10k次迭代在VOC數(shù)據(jù)集上做微調(diào)
  4. 采用類(lèi)似Faster R-CNN中的4步訓(xùn)練策略交替訓(xùn)練RPN網(wǎng)絡(luò)和R-FCN網(wǎng)絡(luò)

推理部分:與Faster R-CNN等類(lèi)似,采用閾值0.7的NMS進(jìn)行非極大值抑制数初。

à trous卷積和stride調(diào)整:R-FCN調(diào)整了部分卷積核的stride大姓野(conv4及之前的保持stride=16,conv5的stride由2變?yōu)?)泡孩。同時(shí),conv5上的卷積采用à trous卷積(空洞卷積)寺谤,補(bǔ)償減小stride帶來(lái)的影響仑鸥。

實(shí)驗(yàn)結(jié)果

VOC數(shù)據(jù)集

1. 與Faster R-CNN的對(duì)比

2. ResNet深度、ROI生成策略的影響

COCO數(shù)據(jù)集

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末变屁,一起剝皮案震驚了整個(gè)濱河市眼俊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌粟关,老刑警劉巖疮胖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異闷板,居然都是意外死亡澎灸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)遮晚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)性昭,“玉大人,你說(shuō)我怎么就攤上這事县遣∶拥撸” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵萧求,是天一觀的道長(zhǎng)其兴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)夸政,這世上最難降的妖魔是什么元旬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮秒梳,結(jié)果婚禮上法绵,老公的妹妹穿的比我還像新娘。我一直安慰自己酪碘,他們只是感情好朋譬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著兴垦,像睡著了一般徙赢。 火紅的嫁衣襯著肌膚如雪字柠。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天狡赐,我揣著相機(jī)與錄音窑业,去河邊找鬼。 笑死枕屉,一個(gè)胖子當(dāng)著我的面吹牛常柄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搀擂,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼西潘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了哨颂?” 一聲冷哼從身側(cè)響起喷市,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎威恼,沒(méi)想到半個(gè)月后品姓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箫措,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年腹备,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒂破。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡馏谨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出附迷,到底是詐尸還是另有隱情惧互,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布喇伯,位于F島的核電站喊儡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏稻据。R本人自食惡果不足惜艾猜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捻悯。 院中可真熱鬧匆赃,春花似錦、人聲如沸今缚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)姓言。三九已至瞬项,卻和暖如春蔗蹋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背囱淋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工猪杭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妥衣。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓皂吮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親称鳞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涮较,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容