M2Det 论文解读
?【AAAI 2019】M2Det ?A Single-Shot Object Detector based on Multi-Level FPN
論文鏈接:??https://arxiv.org/abs/1811.04533
github:https://github.com/qijiezhao/M2Det
?
?
TL,DL
AAAI 2019的一篇文章,單階段檢測(cè)器,考慮到FPN的結(jié)構(gòu),只能區(qū)分不同scale的特征,具有一定的局限性,比如一張圖片中的人和交通燈,具有相同的scale,但是語(yǔ)義信息不同,單純的靠FPN區(qū)分不夠準(zhǔn)確,因此本文提出了一個(gè)Multi-Level Feature Pyramid Network(MLFPN)的結(jié)構(gòu),能夠融合mutil-level mutil-scale的特征,(mutil-level體現(xiàn)在多個(gè)TUM上,mutil-scale體現(xiàn)在后面的FPN上)相當(dāng)于在不同level,不同scale的特征被更加區(qū)分開(kāi)來(lái)。具體結(jié)構(gòu)上就是,基于SSD,首先f(wàn)use FPN的特征后,經(jīng)過(guò)了級(jí)聯(lián)的類似hourglass的結(jié)構(gòu)(本文稱之為T(mén)UM),每一個(gè)TUM都會(huì)出多scale的特征,最后將所有的TUM的相同scale特征進(jìn)行concate,在經(jīng)過(guò)一個(gè)SE操作,接上2個(gè)conv,出最后的回歸和分類結(jié)果。MS-COCO AP 41.0,11.8FPS。
Motivation
首先,FPN中每層的特征是從backbone中直接拿到的,而backbone是為了classification設(shè)計(jì)的,對(duì)object detection任務(wù)不是太好(并不是說(shuō)FPN對(duì)object detection效果不好),而且每層特征僅僅考慮了單level的語(yǔ)義信息,一般來(lái)講,high-level的信息更具有全局信息,對(duì)分類效果比較好,low-level的特征對(duì)定位效果更好,所以需要更好的結(jié)合不同level的信息,所以本文的想法就是在FPN結(jié)構(gòu)的mutil-scale的基礎(chǔ)上,增加mutil-level的信息。設(shè)計(jì)出了MLFPN網(wǎng)絡(luò)結(jié)構(gòu)。
基本做法就是下面幾張圖的內(nèi)容,都挺直觀
NetWork Architecture
具體的網(wǎng)絡(luò)結(jié)構(gòu)如下
MLFPN主要有三部分組成,FFMs,TUM,SFAM,下面分別介紹:
FFMs
首先圖2中的FFMv1 fuse了VGG的conv4_3和conv5_3的feature,具體做法在圖4(a)中,輸出的結(jié)果作為base feature,而后的每個(gè)TUM的輸出,都要和base feature進(jìn)行fuse,然后作為下一個(gè)level TUM的輸入,從最后結(jié)果看,這個(gè)base feature的融合還是很有效果的。
TUMs
圖4(c),文章使用的結(jié)構(gòu)是8個(gè)TUM(8 level),每個(gè)TUM出6個(gè)scale的feature,從最后結(jié)果看,這個(gè)mutil-level的效果提點(diǎn)也不錯(cuò)。需要注意的是:下一級(jí)TUM的輸入,由上一級(jí)TUM的輸出和base feature組成。
SFAM
如圖3,將不同level的相同scale的特征concate在一起,然后接一個(gè)SE結(jié)構(gòu),然后作為最后的feature map,后面接兩個(gè)conv出最后的結(jié)果。
Experiment
訓(xùn)練部分還是很耗時(shí)的,VGG-16 backbone,320x320,512x512和800x800的輸入尺寸,在4塊Titan X訓(xùn)練分別需要3天,6天和14天;ResNet 101 320x320需要5天,512x512在2塊V100上需要11天。
實(shí)驗(yàn)結(jié)果如表1,可以看出來(lái),對(duì)比單階段方法,效果可以,速度比corner net快一倍,而且速度和準(zhǔn)確率都比RetinaNet800好。
Ablation study
可以看出來(lái),本文的提出的結(jié)構(gòu)都能漲點(diǎn),漲點(diǎn)比較多的事8-TUM和Base feature,但是增加TUM之后APlarge會(huì)明顯下降。可能的原因主要是context對(duì)小物體更優(yōu)化?
不同的TUM數(shù)量和Channel的實(shí)驗(yàn),都是越多效果越好,但是channel的增加會(huì)使得參數(shù)增長(zhǎng)的很快,所以還是選擇了增加TUM的數(shù)量。
Speed
最后,這張圖也證明了開(kāi)頭說(shuō)到的,當(dāng)物體scale相同的時(shí)候,FPN的效果可能未必好,從上圖可以看得出來(lái),相同scale的物體基本都在相同scale中相應(yīng)比較大,而不同object由于語(yǔ)義信息不同,會(huì)在不同的level中響應(yīng)。
Thought
本文的值得借鑒的是設(shè)計(jì)的這個(gè)類似hourglass的級(jí)聯(lián)結(jié)構(gòu),能夠提取到更多的語(yǔ)義信息,對(duì)不同類的識(shí)別效果有幫助,同時(shí)也可以看得出來(lái),base feature的重要性。
總結(jié)
以上是生活随笔為你收集整理的M2Det 论文解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言队列的作用,C语言队列
- 下一篇: 分享一些学习资料-大量PDF电子书