M2Det 论文笔记
前言
解決目標(biāo)檢測任務(wù)中目標(biāo)實例的尺度變化問題一般有兩種方法:
如下圖所示,有四種不同構(gòu)成方式的特征金字塔:
在SSD中,獨立地利用了主干網(wǎng)絡(luò)的最后兩層,和經(jīng)過步長為2的卷積得到的另外4個層來構(gòu)成特征金字塔。在STDN中,只用了DenseNet的最后一個dense塊,通過池化和尺度變換操作得到特征金字塔。在FPN中,通過top-down的通路和橫向連接將深層特征和淺層特征融合起來,得到特征金字塔。以上方法構(gòu)建的特征金字塔有以下兩個缺點:
- 金字塔中的特征圖對目標(biāo)檢測任務(wù)來說不夠典型(表達(dá)能力不夠),它們只是簡單的從主干網(wǎng)絡(luò)的不同層中構(gòu)造,并且主干網(wǎng)絡(luò)是被設(shè)計進(jìn)行目標(biāo)分類任務(wù)的;
- 特征金字塔中的每個特征圖僅來自主干網(wǎng)絡(luò)中的單一層,只包含單層信息。
一般來說,深層的高級特征有助于分類,淺層的低級特征有助于目標(biāo)位置的回歸。而且,低級特征適合于表征外觀簡單的目標(biāo),而高級特征適合于表觀外觀高級的目標(biāo)。在實際中,如果兩個目標(biāo)的尺度相同,但它們的外觀復(fù)雜度可能會不同。比如,紅綠燈和較遠(yuǎn)處的行人的大小可能是一樣的,但明顯行人的外觀復(fù)雜度更高。因此,以上方法的檢測器的性能不佳主要是因為,特征金字塔中的特征圖只包含單極特征。
為了克服以上方法的缺點,本文提出了一種效率更高的特征金字塔結(jié)構(gòu)MLFPN(Multi-Level Feature Pyramid Network),它包括三個模塊:FFM,TUM和SFAM。MLFPN的工作方式如下:
為了評估MLFPN的效率,論文還設(shè)計了一個端到端的one-stage的目標(biāo)檢測模型,稱為M2Det,它是通過將MLFPN整合進(jìn)SSD的結(jié)構(gòu)得到的。主干網(wǎng)絡(luò)和MLFPN提取出輸入圖像的特征,然后和SSD一樣,生成密集的bbox和類別得分,最后通過NMS操作產(chǎn)生最終的預(yù)測結(jié)果。
MLFPN的結(jié)構(gòu)
MLFPN輸出的多層級多尺度特征圖可以被計算為:
其中XbaseX_{base}Xbase?是base feature,xilx^{l}_{i}xil?表示第lll個TUM中第iii種尺度的特征,LLL表示TUM的數(shù)量,TlT_{l}Tl?表示第lll個TUM的處理過程,FFF表示FFMv1處理過程。
1. FFMs
FFMs將M2Det中不同層級的特征融合起來,為生成最終的多層級多尺度的特征圖做準(zhǔn)備。在融合時需要用1x1的卷積對輸入特征的通道數(shù)進(jìn)行壓縮。
如上圖所示,FFMv1的輸入是主干網(wǎng)絡(luò)中兩個不同尺度的特征圖,深層特征的大小為1024x20x20,淺層特征的大小為512x40x40。在融合時,需要對深層特征進(jìn)行2x2的上采樣操作,將其變?yōu)?56x40x40,然后和淺層特征連結(jié),生成768x40x40的base feature。
上圖是FFMv2的融合過程。FFMv2將base feature和前一個TUM生成的最大的特征圖連結(jié)起來,這兩個特征的尺度是一樣大的,都是40x40,因此不必再做上采樣。
2. TUMs
TUMs采用了更薄的U型結(jié)構(gòu),如下圖所示:
其中encoder是一系列步長為2的3x3的卷積層,就是圖中上半部分的U型結(jié)構(gòu)。decoder將ecoder的輸出作為特征圖的參考,因為ecoder的輸出并不直接作為最終的特征圖,還要由decoder對它們進(jìn)行處理。在上采樣和element-wise相加操作之后,在decoder分支(也就是圖中下半部分的6個卷積層)中添加1x1的卷積,以增強(qiáng)學(xué)習(xí)能力并保持特征的平滑度。每個TUM中的decoder的所有輸出構(gòu)成了當(dāng)前層級的多尺度特征圖。如上圖所示,所有decoder的輸出構(gòu)成的是當(dāng)前這個層級的多尺度特征圖。從整體來看,所有TUM的輸出共同構(gòu)成多尺度多層級的特征圖。其中,靠前的TUM提供的是淺層特征,中間的TUM提供的是中級特征,后面的TUM提供的是高級特征。
3. SFAM
SFAM將TUM生成的多層級多尺度特征圖聚合成一個多層級特征金字塔,如下圖所示:
首先first stage沿著通道維度將相同尺度的特征圖進(jìn)行連結(jié),這樣多層級金字塔中的每個尺度都包含了多個層級的特征。在second stage,借用SE bolck,引入channel-wise attention module,以更好的捕捉有用的特征。在最終得到的多層級特征金字塔中,每一層都包含不同層級的特征圖,也就是multi-level。TUM數(shù)量為8,每個TUM輸出6個不同尺度的特征圖,因此最終生成的多層級特征金字塔共有6層,每層包括8個不同層級的特征圖。
網(wǎng)絡(luò)的訓(xùn)練
預(yù)訓(xùn)練
在ImageNet 2012數(shù)據(jù)集中先對主干網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練。MLFPN的默認(rèn)配置包括8個TUM,每個TUM有5個卷積層和5次上采樣操作。為了減少參數(shù)的數(shù)量,TUM生成的不同尺度的特征圖的通道數(shù)被設(shè)置為256。輸入圖像的大小為320,512和800。
訓(xùn)練檢測器
在多層級特征金字塔的每一層(共有6層)添加兩個卷積層,分別進(jìn)行回歸和分類操作。在每一層的每個像素上設(shè)置6個anchor,有3種長寬比。之后以0.05的閾值過濾掉大多數(shù)得分較低的anchor。然后用soft-NMS得到更多更精確的box。
實驗部分
總結(jié)
以上是生活随笔為你收集整理的M2Det 论文笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PS删除文字或图片
- 下一篇: 深度学习之语义分割(SegNet)