導(dǎo)讀
本文是曠視科技和清華大學(xué)的聯(lián)合作品。論文針對two-stage的目標(biāo)檢測框架中,回歸坐標(biāo)和分類的子網(wǎng)絡(luò)進(jìn)行優(yōu)化,主要結(jié)合Faster RCNN和RFCN兩個(gè)網(wǎng)絡(luò)有點(diǎn)击碗,同時(shí)提出自己的改進(jìn),最終在Accuracy和Speed上都取得了state-of-the-art的表現(xiàn)们拙。
1.Introduction
一般來說Two-Stage的檢測框架稍途,第一步是產(chǎn)生足夠多的候選框,作者稱之為Body砚婆;第二步是對候選框進(jìn)行識別械拍,作者稱為Head,像大腦做出判斷射沟。通常殊者,想要取得最好的準(zhǔn)確率,Head的設(shè)計(jì)一般比較Heavy验夯,就是計(jì)算量參數(shù)較多猖吴,計(jì)算量比較大。作者發(fā)現(xiàn)挥转,像Faster RCNN和R-FCN都有共同點(diǎn)海蔽,就是一個(gè)非常Heavy的Head接到主體框架上。Faster RCNN就接了兩個(gè)全連接層在ResNet 的第5個(gè)Stage后面绑谣。并且党窜,ROI Pooling后的特征非常大,所以第一個(gè)全連接層非常耗內(nèi)存借宵,并且影響速度幌衣。并且,每個(gè)Region Proposal都要經(jīng)過兩個(gè)全連接層壤玫,計(jì)算量非常大豁护。而在R-FCN中,雖然少了兩個(gè)全連接層欲间,但是楚里,需要構(gòu)建一個(gè)Classes×p×p大小的Score Map,也是需要非常大的內(nèi)存和計(jì)算量猎贴。所以本文結(jié)合兩者優(yōu)點(diǎn)班缎,提出一些改進(jìn)蝴光,主要如下兩點(diǎn):
- 使用Large-Kernel Seperable Convolution來產(chǎn)生一個(gè)“Thin”的Score Map,Score Map只有a×p×p通道达址。在論文中蔑祟,作者用了a=10。
- 在ROI Pooling后接上一個(gè)全連接層沉唠。為什么要接上這個(gè)全連接層呢做瞪?因?yàn)樵瓉淼腞-FCN的Score Map是Classes×p×p通道,正好對應(yīng)Classes的預(yù)測右冻,現(xiàn)在沒有這么多個(gè)通道了,沒辦法用原來的投票方法了著拭,所以接上一個(gè)全連接層也是為了后面能夠接上Faster RCNN的回歸和分類纱扭。
2.Related works
這個(gè)沒啥好說的,就是大體說了下目標(biāo)檢測的近況儡遮。挺全面的乳蛾。
3.Our Approach
橋黑板!劃重點(diǎn)鄙币!
事實(shí)上肃叶,論文的一張彩圖已經(jīng)說明了一切。好像已經(jīng)不用費(fèi)口舌去解釋十嘿。
不過因惭,作者還是做了些解釋。
從Accuracy角度來看绩衷,F(xiàn)aster R-CNN為了減少第一層全連接層的計(jì)算量蹦魔,引入global average pooling,雖然對ROI的分類有好處咳燕,但是損失了空間信息勿决,對目標(biāo)回歸不好。而R-FCN直接對position-sensetive pooling后的結(jié)果進(jìn)行Pooling招盲,沒有ROI-Wise層低缩,所以效果沒有Faster RCNN好。
從速度來看曹货,F(xiàn)aster RCNN的每個(gè)Roi都要經(jīng)過R-CNN子網(wǎng)絡(luò)(R-CNN subnet)咆繁,見圖,所以計(jì)算量非常大控乾。R-FCN雖然R-CNN subnet很小么介,但是他要生成一個(gè)非常大的Score Map,整個(gè)網(wǎng)絡(luò)依然很消耗時(shí)間和內(nèi)存蜕衡。
3.2Light-Head R-CNN
文章使用“L”表示用一個(gè)大的主體網(wǎng)絡(luò)壤短,用“S”表示用一個(gè)小的主體網(wǎng)絡(luò)设拟。
Basic feature extractor
對于“L”網(wǎng)絡(luò),文章使用ResNet101作為基礎(chǔ)的特征提取網(wǎng)絡(luò)久脯,對于“S”纳胧,文章使用類似于Xception的小網(wǎng)絡(luò)。上面圖中的“conv layes”表示基礎(chǔ)網(wǎng)絡(luò)帘撰∨苣剑“S” 網(wǎng)絡(luò)如下表格。
Thin feature maps
作者使用large separable convolution摧找,接在基礎(chǔ)網(wǎng)絡(luò)的C5上核行。如下所示,k=15,對于S網(wǎng)絡(luò)蹬耘,Cmid=64芝雪,對于L網(wǎng)絡(luò),Cmid=256综苔。Cout=10×p×p惩系。
R-CCN subnet
這里作者接了一個(gè)2048通道的全連接層,沒有使用dropout如筛。
RPN
RPN使用C4層的特征堡牡。ratios 取{1:2, 2:1}并且有五個(gè)scales {32 , 64 , 128 , 256 , 512 }杨刨。NMS閾值取0.7.
4.Experiments
作者在COCO數(shù)據(jù)集上做實(shí)驗(yàn)晤柄,訓(xùn)練集115K,測試集5K拭嫁。當(dāng)然還有些細(xì)節(jié)可免,OHEM,data augment之類不扯了做粤。
4.2.1Baselines
B1:是R-FCN浇借,直接用R-FCN跑出來的結(jié)果。
B2:也是R-FCN怕品,不過做了些改進(jìn)妇垢,
1.圖片resize成最短邊800,最長邊1200,5個(gè)anchors {32 , 64 , 128 , 256 , 512 }
2.對位置回歸的loss比分類的小肉康,所以訓(xùn)練時(shí)闯估,對回歸的loss進(jìn)行了double
3.訓(xùn)練時(shí)將box的loss排序,將loss表較大的前256個(gè)box作為反向傳播的loss吼和。并且訓(xùn)練時(shí)每張圖像用了2000個(gè)ROIs涨薪,測試時(shí)用1000個(gè)Rois。這樣mmAP提高了3個(gè)點(diǎn)炫乓。事實(shí)上我不太確定這個(gè)mmAP是啥意思刚夺。文章說献丑,“We use mmAP to indicate results of mAP@[0.5:0.95]”難道是說對PR曲線積分時(shí),積分范圍是0.5-0.95侠姑?有懂得請?jiān)谙路皆u論创橄,讓咱們學(xué)習(xí)學(xué)習(xí)。
4.2.2Thin Feature maps for RoI warping
這里作者想對比莽红,Thin Feature會帶來什么影響妥畏。作者設(shè)計(jì)了對比試驗(yàn)。網(wǎng)絡(luò)如下圖安吁。
- 輸出的Feature maps的通道數(shù)減少為490(1077)
- 由于修改了輸出Feature map的通道數(shù)醉蚁,所以R-FCN不能通過投票的方式進(jìn)行預(yù)測,所以作者加了一個(gè)全連接層鬼店。(這里馍管,其實(shí)我是有點(diǎn)不明白的⌒胶看這里的描述,下圖如果和上面的網(wǎng)絡(luò)對比圖2是一樣的話捌锭,那么后面4.2.3的對比試驗(yàn)R-CNN subnet是什么俘陷?4.2.3節(jié)改進(jìn)了什么。)
可以看到观谦,這樣修改后拉盾,效果略微下降了。作者指出如果將PSROI Pooling改為ROI Pooling會獲得0.3的增益豁状。但是計(jì)算量增加了49倍捉偏。
large separable convolution
上一步中使用的是普通的1*1的卷積,這里作者改用large separable convolution
泻红,k = 15, Cmid = 256, Cout = 490夭禽。這樣子,相比B2提升了0.7個(gè)點(diǎn)谊路。
4.2.3 RCNN subnet
文中提到的Figure3呢讹躯?并沒有看到,這里應(yīng)該有錯(cuò)誤缠劝。文章這里再次提到加入一個(gè)額外的全連接層潮梯。(我就奇怪了,上面一節(jié)在說thin featrue的時(shí)候不是加了嗎惨恭?)
然后這里效果突然就飛起來了秉馏。我表示很困惑。
4.3 Light-Head R-CNN: High Accuracy
這一節(jié)作者提到一些技巧脱羡。比如PSROI Pooling換成 RoIAlign 萝究,多尺度訓(xùn)練入撒,NMS的閾值改為0.5之類。
當(dāng)然脊奋,因?yàn)門hin Feature啰扛,就有可能使用FPN了。下面對比了和其他one stage和two stage的方法馆揉。都是state-of-the-art业舍。
4.4 Light-Head R-CNN: High Accuracy
然后是對比速度。
- 使用上面提到的S網(wǎng)絡(luò)升酣。
- 將RPN網(wǎng)絡(luò)的卷積改成原來的Faster RCNN的一般舷暮,256.
- 使用large separable convolution其中kernel size = 15, C mid = 64, C out = 490 (10 × 7 × 7)
-
使用PSPooling with alignment
然后結(jié)果如下,完虐一切one stage和two stage的方法噩茄。YOLO下面,SSD不在話下。好厲害的樣子绩聘。
整體上感覺還不錯(cuò)沥割,雖然有些不太明白的地方。論文的寫作不是很好凿菩,有些地方的表達(dá)可能有錯(cuò)机杜。
好了,今天的Paper Share分享到這里衅谷。下次會分享上面的提到的R-FCN椒拗,1605.06409-R-FCN: Object Detection via Region-based Fully Convolutional Networks。敬請期待哦获黔。
------少俠阿朱 2017.11.30 于深圳蚀苛。
轉(zhuǎn)載注明下出處唄。http://www.reibang.com/p/3c448a02f6a8