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的結(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種長寬比的組合)壤追。
平移不變性
用此種方法設(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ù)為:
其中,是anchor包含目標(biāo)的置信度饺鹃,
表示anchor實(shí)際上是否包含目標(biāo)莫秆,
為
損失函數(shù),
為mini-batch size悔详;
是表示anchor到預(yù)測的邊界框的四維變換向量镊屎,
是anchor到Ground Truth的變換向量,
為
損失函數(shù)茄螃,前面乘
表示只有包含目標(biāo)的anchor才對邊框回歸損失有貢獻(xiàn)缝驳,
是有匹配的Ground Truth的anchor數(shù),
為調(diào)整權(quán)重的超參數(shù)归苍。
邊框位置和大小回歸計算公式和R-CNN用狱、Fast R-CNN里一樣:
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)用。