Faster R-CNN 筆記

Faster R-CNN論文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Network


Fast R-CNN的缺點(diǎn)

基于Fast R-CNN的網(wǎng)絡(luò)結(jié)構(gòu)是當(dāng)時最先進(jìn)的目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu),統(tǒng)稱為Region-based CNN,而它們共同的問題就是柴墩,提出Region Proposal的過程(比如Selective Search、EdgeBoxes)太過耗時間铃岔。


Faster R-CNN提出的改進(jìn)方法

Region Proposal由深度卷積網(wǎng)絡(luò)(Region Proposal Networks, RPN)提出。RPN和分類網(wǎng)絡(luò)共享特征提取網(wǎng)絡(luò)峭火。


Faster R-CNN的結(jié)構(gòu)

Faster R-CNN論文中的網(wǎng)絡(luò)結(jié)構(gòu)示意圖

Faster R-CNN的結(jié)構(gòu)較之Fast R-CNN還要簡潔德撬。

1.輸入:任意大小的圖像

2.特征提取網(wǎng)絡(luò),輸出feature map躲胳。

3.RPN:根據(jù)feature map蜓洪,預(yù)測若干ROI的位置和尺寸,以及該ROI“包含目標(biāo)的置信度”坯苹。ROI的表示采用了anchor方法隆檀,ROI為anchor經(jīng)過映射(預(yù)測輸出)得到的區(qū)域。詳細(xì)的解釋在后面粹湃。

4.ROI Pooling:在特征圖像上恐仑,對于每個ROI而言,保留其里面的特征圖內(nèi)容为鳄。將保留的內(nèi)容壓縮成H×W長度的向量輸出裳仆。

5.Classification


RPN

RPN以一個任意大小的特征圖作為輸入,預(yù)測若干ROI的位置和尺寸孤钦,以及該ROI“包含目標(biāo)的置信度”歧斟。

在特征提取網(wǎng)絡(luò)的最后一層輸出的特征圖上,一個n×n(論文中n取3)的窗口滑動遍歷整個圖像偏形,每個窗口內(nèi)的特征數(shù)據(jù)都分別被映射(d維1×1卷積)到一個較低維度(對Zeiler and Forgus網(wǎng)絡(luò)而言是256-d静袖,對VGG-16而言是512-d)的特征向量,這個特征向量輸入至兩個全連接層——分別對應(yīng)Box-regression和Box-classification俊扭。對每個窗口將預(yù)測k個邊界框队橙,所以Box-regression全連接層有4k個輸出(4個值反映一個邊界框的位置和大小),Box-classification全連接層有2k個輸出(表示對應(yīng)的anchor“包含”或“不包含”目標(biāo)捐康,作者將它實(shí)現(xiàn)為具有2個類別的softmax層仇矾,實(shí)際上也可以改為實(shí)現(xiàn)為邏輯回歸層,這樣Box-classification層就有k個輸出)解总。

映射的具體實(shí)現(xiàn)方式:先用3×3(256或512個)卷積核對特征圖進(jìn)行卷積贮匕,結(jié)果輸入進(jìn)cls和reg層。cls和reg層分別是1×1(2k個)和1×1(4k個)的卷積層——全連接層可以用1×1卷積層實(shí)現(xiàn)倾鲫。

在滑動窗口的某個位置上粗合,都預(yù)設(shè)了k個anchor萍嬉,對于這個位置上預(yù)測出的k個選框而言乌昔,每個選框表示為一個anchor中的映射(作者將k取9,為3種尺度和3種長寬比的組合)壤追。


RPN結(jié)構(gòu)示意圖磕道。注意RPN有一兩個分支的全連接層,這里的cls層判斷是否包含對象行冰,并不具備分類功能溺蕉,別和后面的分類網(wǎng)絡(luò)搞混了。

平移不變性

用此種方法設(shè)計anchor悼做,模型對輸入具有平移不變性疯特,即,如果輸入圖像經(jīng)過了一定的平移肛走,RPN預(yù)測到的邊框回歸變換參數(shù)是不變的漓雅,只是對應(yīng)的anchor位置變了。這種特性對比的是采用固定anchor(一般由聚類方法預(yù)先獲得)各種方法朽色,比如MultiBox或者YOLO2(3邻吞?)。

這種特性的一個好處是不用預(yù)先設(shè)定太多的anchor葫男,相應(yīng)地抱冷,全連接層參數(shù)會減少,模型過擬合的風(fēng)險下降梢褐。

多尺寸問題

有些模型采用圖像金字塔解決多尺寸問題旺遮,這種方法問題在于比較耗時(因?yàn)橹貜?fù)的特征被映射到新特征圖的不同尺度上);有些模型采用不同尺寸的卷積核(卷積核金字塔)盈咳,這種方法問題在于不同的卷積核使訓(xùn)練更為困難趣效。Faster R-CNN中,多尺寸的anchor解決了該問題猪贪,并且對模型引入了相對而言最小的代價跷敬。


損失函數(shù)

在訓(xùn)練數(shù)據(jù)中,將以下兩種anchor標(biāo)記為“包含目標(biāo)”:(1)與一個Ground Truth有最大重疊比例者;或(2)與任意一個Ground Truth的重疊比例達(dá)到0.7者西傀。將未被標(biāo)記為“包含目標(biāo)”的anchor中斤寇,符合如下條件的標(biāo)記為“不包含目標(biāo)”:(1)與任何Ground Truth的重疊比例都未達(dá)到0.3者。剩余的既未被標(biāo)記為包含目標(biāo)又未被標(biāo)記為不包含目標(biāo)的anchor拥褂,將不對目標(biāo)函數(shù)做出貢獻(xiàn)娘锁。

訓(xùn)練RPN的損失函數(shù)為:

\begin{aligned} L\left(\left\{p_{i}\right\},\left\{t_{i}\right\}\right) &=\frac{1}{N_{c l s}} \sum_{i} L_{c l s}\left(p_{i}, p_{i}^{*}\right) \\ &+\lambda \frac{1}{N_{\text {reg}}} \sum_{i} p_{i}^{*} L_{\text {reg}}\left(t_{i}, t_{i}^{*}\right) \end{aligned}\\

其中,p_{i}是anchor包含目標(biāo)的置信度饺鹃,p_{i}^*表示anchor實(shí)際上是否包含目標(biāo)莫秆,L_{cls}log損失函數(shù),N_{cls}為mini-batch size悔详;t_{i}是表示anchor到預(yù)測的邊界框的四維變換向量镊屎,t_{i}^*是anchor到Ground Truth的變換向量,L_{reg}Smooth_{L_{1}}損失函數(shù)茄螃,前面乘p_{i}^*表示只有包含目標(biāo)的anchor才對邊框回歸損失有貢獻(xiàn)缝驳,N_{reg}是有匹配的Ground Truth的anchor數(shù),\lambda 為調(diào)整權(quán)重的超參數(shù)归苍。

邊框位置和大小回歸計算公式和R-CNN用狱、Fast R-CNN里一樣:

\begin{aligned} t_{\mathrm{x}} &=\left(x-x_{\mathrm{a}}\right) / w_{\mathrm{a}}, \quad t_{\mathrm{y}}=\left(y-y_{\mathrm{a}}\right) / h_{\mathrm{a}} \\ t_{\mathrm{w}} &=\log \left(w / w_{\mathrm{a}}\right), \quad t_{\mathrm{h}}=\log \left(h / h_{\mathrm{a}}\right) \\ t_{\mathrm{x}}^{*} &=\left(x^{*}-x_{\mathrm{a}}\right) / w_{\mathrm{a}}, \quad t_{\mathrm{y}}^{*}=\left(y^{*}-y_{\mathrm{a}}\right) / h_{\mathrm{a}} \\ t_{\mathrm{w}}^{*} &=\log \left(w^{*} / w_{\mathrm{a}}\right), \quad t_{\mathrm{h}}^{*}=\log \left(h^{*} / h_{\mathrm{a}}\right) \end{aligned}\\


RPN的訓(xùn)練

在Faster R-CNN中,RPN和分類網(wǎng)絡(luò)(基于Fast R-CNN)是分開訓(xùn)練的拼弃。

訓(xùn)練集采樣

采樣策略類似Fast R-CNN夏伊,取少量圖像中的多個ROI,只是Faster R-CNN更加極端吻氧,每個mini-batch只取1張圖片溺忧,采樣其中的256個有標(biāo)記的區(qū)域建議作為樣本,并盡可能地保證正樣本和負(fù)樣本的比例在1:1医男。

超參數(shù)

和Fast R-CNN基本一樣砸狞。略。

關(guān)于RPN和Fast R-CNN的共享特征提取網(wǎng)絡(luò)在訓(xùn)練時的處理方法

方案1:交替訓(xùn)練

用初始權(quán)重訓(xùn)練RPN镀梭;然后將RPN輸出的Region Proposal作為Fast R-CNN的輸入刀森,用初始權(quán)重訓(xùn)練Fast R-CNN(這時RPN和Fast R-CNN并不共享權(quán)重);然后再將特征提取網(wǎng)絡(luò)作為RPN的初始化權(quán)重报账,并保持特征提取網(wǎng)絡(luò)權(quán)重不變研底,僅對RPN的全連接層進(jìn)行finetune(此時RPN和Fast R-CNN共享權(quán)重)...這個過程被迭代執(zhí)行若干次。

這個方法是論文中所有實(shí)驗(yàn)采用的方法透罢。

方案2:Approximate joint training(近似聯(lián)合訓(xùn)練)

將RPN和Fast R-CNN串聯(lián)成一個網(wǎng)絡(luò)(即完整的Faster R-CNN結(jié)構(gòu))榜晦,此時前向傳播如同F(xiàn)aster R-CNN被設(shè)計的那樣如常進(jìn)行,且反向傳播也正常進(jìn)行羽圃,因?yàn)镽PN和Fast R-CNN都有Loss乾胶,在反向傳播時這兩個Loss將被結(jié)合(我猜可能就是加權(quán)相加吧...)起來考慮。

作者表示它的問題在于忽略了對Region Proposal的坐標(biāo)的偏導(dǎo),而這其實(shí)也是網(wǎng)絡(luò)的響應(yīng)...好把這句話我完全沒看懂识窿,但是結(jié)合下面一個方案說的斩郎,我的理解是:在Fast R-CNN里直接將Region Proposal作為固定輸入了,而沒有考慮它實(shí)際上是RPN的輸出喻频,所以在反向傳播時沒有考慮它對Fast R-CNN的Loss的貢獻(xiàn)缩宜。而實(shí)際上Region Proposal的坐標(biāo)明顯和RPN的權(quán)重有關(guān)。

不過在實(shí)驗(yàn)中甥温,這個方案能夠加快訓(xùn)練速度锻煌,而且表現(xiàn)也基本符合預(yù)期,所以不失為一種可用的訓(xùn)練方案姻蚓。

方案3:Non-approximate joint training(非近似聯(lián)合訓(xùn)練)

這個方案如同方案2宋梧,但是也將Region Proposal坐標(biāo)的偏導(dǎo)考慮進(jìn)去了。如作者所言史简,這個解決方案的實(shí)現(xiàn)較為困難乃秀,已超過了本論文的討論范圍肛著。

明明Fast R-CNN的訓(xùn)練是很簡單的圆兵,到了Faster R-CNN,訓(xùn)練網(wǎng)絡(luò)卻如此復(fù)雜枢贿。不過好處在于殉农, RPN 訓(xùn)練出來能被各種其他的網(wǎng)絡(luò)應(yīng)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末局荚,一起剝皮案震驚了整個濱河市超凳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耀态,老刑警劉巖轮傍,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異首装,居然都是意外死亡创夜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門仙逻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驰吓,“玉大人,你說我怎么就攤上這事系奉∶史。” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵缺亮,是天一觀的道長翁涤。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么葵礼? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任限书,我火速辦了婚禮,結(jié)果婚禮上章咧,老公的妹妹穿的比我還像新娘倦西。我一直安慰自己,他們只是感情好赁严,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布扰柠。 她就那樣靜靜地躺著,像睡著了一般疼约。 火紅的嫁衣襯著肌膚如雪卤档。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天程剥,我揣著相機(jī)與錄音劝枣,去河邊找鬼。 笑死织鲸,一個胖子當(dāng)著我的面吹牛舔腾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搂擦,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼稳诚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瀑踢?” 一聲冷哼從身側(cè)響起扳还,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎橱夭,沒想到半個月后氨距,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棘劣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年俏让,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呈础。...
    茶點(diǎn)故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡舆驶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出而钞,到底是詐尸還是另有隱情沙廉,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布臼节,位于F島的核電站撬陵,受9級特大地震影響珊皿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巨税,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一蟋定、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧草添,春花似錦驶兜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驰后,卻和暖如春肆资,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灶芝。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工郑原, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人夜涕。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓犯犁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钠乏。 傳聞我的和親對象是個殘疾皇子栖秕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評論 2 355

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