M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network AAAI2019
M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network
Single-shot目標(biāo)檢測(cè)新模型,使用multi-level特征,收錄于AAAI2019.
這篇論文吸引我的地方,是對(duì)目標(biāo)檢測(cè)模型不同層次特征的適應(yīng)性的描述。
code:https://github.com/qijiezhao/M2Det
paper:https://arxiv.org/abs/1811.04533
目錄
摘要
相關(guān)工作
介紹
理論
實(shí)驗(yàn)
摘要
特征金字塔被最先進(jìn)的一級(jí)one-stage檢測(cè)子(如DSSD、Retinanet、Refinedt)和two-stage檢測(cè)子(如Mask RCNN、Detnet)廣泛利用,以緩解目標(biāo)實(shí)例之間的尺度變化帶來的問題。盡管這些具有特征金字塔的目標(biāo)探測(cè)器取得了令人鼓舞的效果,由于它們只是簡(jiǎn)單地根據(jù)原始設(shè)計(jì)用于對(duì)象分類任務(wù)的骨架固有的多尺度金字塔結(jié)構(gòu)構(gòu)造特征金字塔,因而存在一定的局限性。在這項(xiàng)工作中,我們提出了多層次特征金字塔網(wǎng)絡(luò)(MLFPN),以構(gòu)造更有效的特征金字塔來檢測(cè)不同尺度的物體。首先,我們將主干提取的多級(jí)特征(即多層)融合為基礎(chǔ)特征。第二,將基本特征輸入交替的關(guān)節(jié)細(xì)化U形模塊和特征融合模塊,利用每個(gè)USHAPE模塊的譯碼器層作為目標(biāo)檢測(cè)的特征。最后,我們將具有等效尺度(大小)的譯碼器層集合起來,構(gòu)造一個(gè)用于目標(biāo)檢測(cè)的特征金字塔,其中每個(gè)特征映射都由多個(gè)層次的層(特征)組成。為了評(píng)估所提出的MLFPN的有效性,我們?cè)O(shè)計(jì)并訓(xùn)練了一個(gè)功能強(qiáng)大的端到端one-stage檢測(cè)子,我們稱之為M2DET,將其集成到固態(tài)硬盤的架構(gòu)中,并實(shí)現(xiàn)了比最先進(jìn)的one-stage檢測(cè)子更好的檢測(cè)性能。具體來說,在MS-COCO基準(zhǔn)測(cè)試中,M2DET采用單尺度推理策略,以11.8 fps的速度達(dá)到了41.0的AP,采用多尺度推理策略,達(dá)到了44.2的AP,這是one-stage檢測(cè)子的最優(yōu)成果。
介紹
對(duì)象實(shí)例之間的尺度變化是目標(biāo)檢測(cè)任務(wù)的主要挑戰(zhàn)之一,通常有兩種策略來解決這一挑戰(zhàn)帶來的問題。第一種方法是利用圖像金字塔中檢測(cè)目標(biāo),這一策略只能在測(cè)試時(shí)使用。顯然,這種解決方案將大大增加內(nèi)存和計(jì)算的復(fù)雜性,因此這種目標(biāo)檢測(cè)子的效率將大幅下降。第二種方法是從輸入圖像中提取特征金字塔,在訓(xùn)練和測(cè)試階段使用。與第一種使用圖像金字塔的解決方案相比,它的內(nèi)存和計(jì)算成本更低。此外,特征金字塔模塊可以很容易地集成到最先進(jìn)的基于深度神經(jīng)網(wǎng)絡(luò)的檢測(cè)子中,從而得到端到端的解決方案。
雖然帶有特征金字塔的目標(biāo)探測(cè)器取得了令人鼓舞的效果,但由于它們只是根據(jù)固有的多尺度金字塔結(jié)構(gòu)來構(gòu)造特征金字塔,而這種結(jié)構(gòu)實(shí)際上是為分類任務(wù)而設(shè)計(jì)的。例如,如圖1所示,SSD直接獨(dú)立地使用兩層主干(即vgg16)和通過步長(zhǎng)2的卷積獲得的四個(gè)額外層來構(gòu)造特征金字塔;STDN僅使用densenet的最后一個(gè)dense塊通過池和尺度變換來構(gòu)造特征金字塔;FPN通過自上而下融合深層和淺層來構(gòu)造特征金字塔。一般來說,上述方法有以下兩個(gè)局限性。首先,金字塔中的特征圖對(duì)于對(duì)象檢測(cè)任務(wù)來說不夠有代表性,因?yàn)樗鼈冎皇怯蔀閷?duì)象分類任務(wù)設(shè)計(jì)的主干的層(特征)構(gòu)建的。其次,金字塔中的每個(gè)特征圖(用于檢測(cè)特定范圍內(nèi)的對(duì)象)主要或甚至完全由主干的單層層構(gòu)成,也就是說,它主要或僅包含單層信息。一般而言,較深層次的高層次特征對(duì)分類子任務(wù)的識(shí)別性更強(qiáng),而較淺層次的低層次特征對(duì)目標(biāo)定位回歸子任務(wù)的識(shí)別性更強(qiáng)。此外,低層次特征更適合描述外觀簡(jiǎn)單的物體,而高層次特征更適合描述外觀復(fù)雜的物體(此處對(duì)于特征的把握值得注意)。在實(shí)踐中,具有類似大小的對(duì)象實(shí)例的外觀可能非常不同。例如,一個(gè)紅綠燈和一個(gè)遙遠(yuǎn)的人可能有相當(dāng)?shù)拇笮?#xff0c;而且這個(gè)人的外表要復(fù)雜得多。因此,金字塔中的每個(gè)特征圖(用于檢測(cè)特定尺寸范圍內(nèi)的物體)主要或僅由單層特征組成,將導(dǎo)致檢測(cè)性能不理想。
本文的目標(biāo)是在避免現(xiàn)有方法的局限性的同時(shí),構(gòu)造一個(gè)更有效的特征金字塔來檢測(cè)不同尺度的目標(biāo)。如圖2所示,為了實(shí)現(xiàn)這一目標(biāo),我們首先將主干提取的多級(jí)特征(即multiple layers)融合為基礎(chǔ)特征,然后將其輸入U(xiǎn)形模塊(TUM)和特征融合模塊(FFM)中,提取出更具代表性的多級(jí)多層次特征。值得注意的是,每個(gè)U形模塊中的解碼器層具有相似的深度。最后,我們聚合了具有等效尺度的特征圖,構(gòu)建了目標(biāo)檢測(cè)的最終特征金字塔。顯然,構(gòu)成最終特征金字塔的解碼器層要比主干中的層深得多,也就是說,它們更具代表性。此外,最終特征金字塔中的每個(gè)特征圖都由來自多個(gè)級(jí)別的解碼器層組成。因此,我們稱特征金字塔塊為多級(jí)特征金字塔網(wǎng)絡(luò)(MLFPN)
為了評(píng)估所提出的MLFPN的有效性,我們?cè)O(shè)計(jì)并訓(xùn)練了一種功能強(qiáng)大的端到端單級(jí)目標(biāo)探測(cè)器,我們稱之為M2DET(根據(jù)它是建立在多級(jí)和多尺度特征之上的),將MLFPN集成到SSD的體系結(jié)構(gòu)中。M2DET實(shí)現(xiàn)了最新的最先進(jìn)的結(jié)果(即單尺度推理策略下的AP為41.0,速度為11.8 fps,多尺度推理策略下的AP為44.2),在MS-COCO上由于現(xiàn)有one-stage檢測(cè)子。
相關(guān)工作
研究人員已經(jīng)付出了大量的努力來提高不同尺度物體的探測(cè)精度——不管它是one-stage檢測(cè)子還是two-stage探測(cè)子。據(jù)我們所知,主要有兩種策略來解決這個(gè)尺度變化問題。
如圖2所示,MLFPN包含三個(gè)部分。首先,FFMV1融合了淺層和深層特征,產(chǎn)生了基礎(chǔ)特征,如VGG的conv4 3和conv5 3,為MLFPN提供了多級(jí)語(yǔ)義信息。第二,多個(gè)TUM和FFMV2交替堆疊。具體地說,每個(gè)TUM生成具有不同比例的幾個(gè)特征圖。FFMV2融合了上一個(gè)TUM的基本特性和最大輸出特性圖。融合后的特征圖被送入下一個(gè)TUM。注意,第一個(gè)tum沒有任何其他tum的先驗(yàn)知識(shí),所以它只從學(xué)習(xí)。輸出多級(jí)多尺度特征計(jì)算如下:
這兒表示基準(zhǔn)特征,表示在第個(gè)TUM的第個(gè)尺度的特征,表示TUM的數(shù)量,表示第個(gè)TUM,表示FFMv1。第三SFAM采用concatenation操作和通道注意力機(jī)制聚合多級(jí)多尺度特征。
FFMs融合了M2DET中不同層次的特征,對(duì)構(gòu)建最終的多層次特征金字塔至關(guān)重要。它們使用1X1卷積層壓縮輸入特性的通道,并使用串聯(lián)操作聚合這些特性圖。特別是,由于ffmv1在主干網(wǎng)中采用兩個(gè)不同尺度的特征映射作為輸入,因此在連接操作之前,它采用一個(gè)上采樣操作將深度特征重新縮放到相同的尺度。同時(shí),FFMV2將前一個(gè)TUM的基本特征和最大輸出特征圖(這兩個(gè)特征具有相同的比例)作為輸入,并為下一個(gè)TUM生成融合特征。FFMV1和FFMV2的結(jié)構(gòu)細(xì)節(jié)分別如圖4(a)和(b)所示。
TUMs:與fpn和retinanet不同,tum采用thinner的U形結(jié)構(gòu),如圖4(c)所示。編碼器是一系列3x3卷積層,步幅為2。解碼器將這些層的輸出作為其特征映射的參考集,而原FPN選擇Resnet主干網(wǎng)中每個(gè)階段最后一層的輸出。此外,我們?cè)诮獯a器分支上加上1x1卷積層,再加上元素求和運(yùn)算,以增強(qiáng)學(xué)習(xí)能力,保持特性的平滑。每個(gè)TUM解碼器中的所有輸出構(gòu)成了當(dāng)前級(jí)別的多尺度特征。總的來說,堆疊TUM的輸出形成了多層次的多尺度特征,而前部TUM主要提供淺層次特征,中部TUM提供中層次特征,后部TUM提供深層次特征。
SFAM:如圖3所示,SFAM目的是聚合TUMs產(chǎn)生的多級(jí)多尺度特征為多級(jí)特征。SFAM的第一個(gè)階段是沿著通道維度將等效尺度的特征連接在一起。聚合特征金字塔可以表示為。表示第i個(gè)尺度的特征。這里,聚合金字塔中的每個(gè)比例都包含來自多層次深度的特征。但是,簡(jiǎn)單的串聯(lián)操作還不夠適應(yīng)。在第二階段中,我們引入了一個(gè)通道注意力模塊,以鼓勵(lì)特性關(guān)注它們最受益的通道。根據(jù)SE模塊,我們使用全局平均池在壓縮步驟中生成信道統(tǒng)計(jì)。為了完全捕獲通道依賴性,以下激發(fā)步驟通過兩個(gè)完全連接的層學(xué)習(xí)注意力機(jī)制:
(事實(shí)上,使用的是兩個(gè)全連接層,注意力常用的方法)
我們將M2DET組裝成兩種主干(Simonyan和Zisserman 2015;He等人2016年)。在培訓(xùn)整個(gè)網(wǎng)絡(luò)之前,需要在Imagenet 2012數(shù)據(jù)集上對(duì)主干進(jìn)行預(yù)培訓(xùn)(Russakovsky等人2015年)。MLFPN的所有默認(rèn)配置都包含8個(gè)Tums,每個(gè)Tum有5個(gè)Strating Conv和5個(gè)upsample操作,因此它將輸出6個(gè)尺度的特性。為了減少參數(shù)數(shù)量,我們只為每個(gè)級(jí)別的TUM功能分配256個(gè)信道,這樣網(wǎng)絡(luò)就可以很容易地在GPU上進(jìn)行訓(xùn)練。至于輸入尺寸,我們按照原來的SSD、refinedet和retinanet,即320、512和800。
在檢測(cè)階段,我們?cè)?個(gè)金字塔特征中各增加兩個(gè)卷積層,分別實(shí)現(xiàn)位置回歸和分類。六個(gè)功能圖的默認(rèn)框的檢測(cè)比例范圍遵循原始SSD的設(shè)置。當(dāng)輸入尺寸為800×800時(shí),除保持最大特征圖的最小尺寸外,比例范圍按比例增大。在金字塔特征的每個(gè)像素處,我們?cè)O(shè)置了六個(gè)錨定,三個(gè)比率完全相同。之后,我們使用0.05的概率分?jǐn)?shù)作為閾值,過濾掉大多數(shù)得分低的錨。然后我們使用soft-NMS(Bodla等人2017年)采用線性內(nèi)核進(jìn)行后處理,留下更精確的盒子。將閾值降低到0.01可以產(chǎn)生更好的檢測(cè)結(jié)果,但這會(huì)大大縮短推理時(shí)間,我們不認(rèn)為這是為了追求更好的實(shí)用價(jià)值。
實(shí)驗(yàn)
評(píng)價(jià):
本文在第一部分提出了很多關(guān)于特征適應(yīng)性的見解。提出的理論也是非常有效的,但是遺憾的是這依然是一個(gè)拼機(jī)器的工作。
參考文獻(xiàn):Zhao Q, Sheng T, Wang Y, et al. M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network. 2018.
總結(jié)
以上是生活随笔為你收集整理的M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network AAAI2019的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web前端工程师修炼之道(原书第4版)
- 下一篇: 字符串队列c语言,c语言队列问题