天天看點

用于目标檢測的多層次特征金字塔網絡

點選上方“AI算法與圖像處理”,選擇加"星标"或“置頂”

重磅幹貨,第一時間送達

用于目标檢測的多層次特征金字塔網絡
用于目标檢測的多層次特征金字塔網絡

論文标題:

M2Det:A Single-Shot Object Detector Based on Multi-Level Feature Pyramid Network(AAAI2019)

代碼:https://github.com/qijiezhao/M2Det

本文亮點

1.以SSD為基礎。

2.闡述了目前特征金字塔的明顯缺陷:更關注特征的尺度(scale),而不關注特征的層次(Level)。對于同類中外觀複雜多變的不同個體,抽取多個層次的特征是很有必要的。

3.提出了新穎的MLFPN(Multi-level Feature Pyramid Network)架構,提取多個層次、多個尺度的特征用于目标檢測。

關鍵内容

特征金字塔較好地解決了目标檢測領域物體尺寸變化的問題,下圖中(a)、(b)、(c)為幾種帶有金字塔結構的目标檢測網絡。

用于目标檢測的多層次特征金字塔網絡

(a)圖出自論文SSD:single shot multibox detector.

(b)圖出自論文Feature pyramid networks for object detection.

(c)圖出自論文Scale transferrable object detection.

一般認為,在深層CNN網絡中,不同深度的卷積所提取的特征層次(level)不同:淺層的feature map表示低層次特征,低層次特征有利于定位;深層的feature map表示高層次特征,高層次特征有利于分類。

目标檢測任務中有兩個有趣的現象。

現象1:要檢測的物體多種多樣,有的物體外形比較簡單,比如紅綠燈;有的物體外形比較複雜且多變,比如行人。既要檢測外形簡單的物體,又要檢測外形複雜多變的物體,需要的特征層次不同:檢測外形簡單的物體,低層次特征效果很好;檢測外形複雜多變的物體,高層次特征效果很好。

現象2:物體外觀的簡單或是複雜與其尺寸沒有關系:同一張圖檔中,行人很可能與紅綠燈尺寸差不多,然而紅綠燈的外觀更簡單,行人的外觀更複雜。

現有的特征金字塔模型的設計隻是考慮了物體的尺寸變化,但并未考慮上述兩個現象,主要表現在:特征金字塔中的每個特征圖,雖然檢測特征的尺寸不一樣,但大多隻包含少層次(1個或者2個層次)的特征。

具體來說,關注圖(c)中的特征金字塔部分,特征金字塔的源頭是backbone的同一個特征,是以,特征金字塔中每個尺度的特征圖都隻有同一層次的特征表示,即都隻抽取了一個層次(level)的特征。

圖(a)中的特征金字塔部分,每個尺寸的特征圖隻有1個層次(但非同一層次)的特征表示,與圖(c)的差別是,尺寸越小的特征圖,抽取到的特征層次越高,因為尺寸越小的特征圖處在網絡的位置越深。

相比于圖(a)和圖(c),圖(b)中的特征金字塔更進階,得益于側連接配接,除了尺寸最小的特征圖外,特征金字塔中的其他特征圖都包含2個層次的特征。特别地,尺寸最大的特征圖包含了最高層次和較低層次的特征。

上述三個網絡的共同之處在于,特征金字塔中單個尺寸的特征圖都隻包含1個或者2個層次的特征。結合上述的現象2,特征金字塔中某個固定尺寸的特征圖隻包含單層次或少層次的特征,很難同時對同一尺寸下外觀簡單和外觀複雜的物體都有很好的檢測效果,比如紅綠燈和遠處的行人,二者有同樣的尺寸,是以使用特征金字塔中同樣尺寸的特征圖去判别。

然而紅綠燈外觀簡單,行人外觀複雜多變,若該特征圖隻包含單一層次或少層次的特征,很難同時對紅綠燈和行人這兩個難易程度不同的物體都有很好的檢測效果。

為解決特征金字塔中每個尺度的特征圖隻包含單層次或少層次的特征這個缺陷,作者提出了MLFPN(Multi-level Feature Pyramid Network)結構,并将MLFPN架構融合到SSD算法中,形成新的網絡結構,名為M2Det。MLPFN和M2Det的結構如下圖所示:

用于目标檢測的多層次特征金字塔網絡

MLFPN中的組成部分

下面将分别介紹MLFPN中的組成部分:

FFM1(Feature Fusion Module)FFM1的作用是将backbone中2個層次的特征融合,形成上圖中的Base feature。由于FFM1輸入端的2個特征圖尺寸不同,是以FFM1内部需要有一個上采樣操作。FFM1的結構圖如下所示:

用于目标檢測的多層次特征金字塔網絡

TUM(Thinned U-shape Module) 總體來看,TUM是一個encoder-decoder的U型結構,encoder部分特征圖尺寸逐漸變小,decoder部分特征圖尺寸逐漸變大。MLFPN中每個TUM的結構完全一緻,如下圖所示,注意圖中的資料流通路,上層從左至右做卷積,下層從右至左做反卷積,中間有短接。MLFPN使用多個TUM結構和多個FFMv2結構交替連結,形成特征流通路。除第1個TUM使用base feature作為輸入以外,其他TUM使用base feature和FFMv2的輸出作為輸入。不同的TUM提取的特征層次不同,前面的TUM提取低層次特征,後面的TUM提取高層次特征。同一個TUM内部,不同尺寸的feature map表示不同尺度的特征,但是它們的特征層次相同。

用于目标檢測的多層次特征金字塔網絡

FFMv2(Feature Fusion Module) FFMv2将TUM中decoder輸出的尺寸最大的特征和base feature作為輸入,将兩個層次的特征融合,傳輸給後面的TUM。FFMv2的結構圖如下所示:

用于目标檢測的多層次特征金字塔網絡

SFAM(Scale-wise Feature Aggregation Module) SFAM包括兩個部分,其一是下圖中的Same-scale concatenate部分,将所有TUM的輸出特征按特征尺寸分組,同尺寸的特征放在一組中,将同組中的特征按通道次元組合在一起,形成了多尺度、多層次的特征金字塔。相比于傳統的特征金字塔,由MLFPN得到的特征金字塔中,每個尺度下有多個不同層次的特征。其二是參考論文Squeeze-and-excitation networks中的方法,進行如下操作(以下圖中尺寸為20x20的特征為例):

1.将20x20x1024的特征記作,将進行全局平均池化,得到1x1x1024的張量,記作,C=1024。

2.以z為輸入,建構包含激活函數的2個全連接配接層,記作。其中表示ReLU函數,表示sigmoid函數,,,這裡取r=16,C=1024。得到的。

3.将記作,C=1024。即将在通道次元“切開”。對中的每個通道進行如下操作:,。即對中的每個通道乘以權重,表示中每個通道的重要程度。

将上述操作應用于不同尺度的特征中,得到SFAM的輸出。

用于目标檢測的多層次特征金字塔網絡

以MLFPN為核心建構目标檢測網絡,特點如下:

分别使用了VGG和ResNet作為backbone,backbone先在ImageNet2012資料集做預訓練,VGG和ResNet分别由以下兩篇文章提出:

Very deep convolutional networks for large-scale image recognition.

Deep residual learning for image recognition.

MLFPN包含8個TUM子產品,每個TUM都與下圖一緻,由圖可知每個TUM能輸出6個尺度的特征。

用于目标檢測的多層次特征金字塔網絡

嘗試了多種輸入尺寸,分别為320、512和800。

在SFAM輸出的6組特征後面,分别接2個卷積層,1個用于定位,1個用于分類。

特征金字塔中的每個像素,對應3種長寬比的6個anchor。

後進行中使用了Soft-nms-improving object detection with one line of code論文中提出的soft-NMS。

實驗結果

M2Det與其他主流網絡對比結果如下表所示,測試資料集為MS COCO test-dev。

用于目标檢測的多層次特征金字塔網絡

此外,還在COCO test-dev資料集上對不同目标檢測算法做了速度和精度的對比,如下圖所示

用于目标檢測的多層次特征金字塔網絡

結語

在本文的末尾,作者進行了一個很有趣的讨論。作者認為,M2Det檢測精度高的主要原因是提取了多層次、多尺度的特征。SFAM輸出的特征金字塔中,每個尺度的特征均包含多個層次,很适用于處理同一類别下外觀差異大的個體。作者對SFAM的輸出進行可視化,如下圖所示

用于目标檢測的多層次特征金字塔網絡

顯然,較小的feature map,能提取到尺寸大的車和人。更為重要的是,識别紅綠燈這種簡單的物體,低層次的特征有很強的響應;識别車這種中等難度的物體,中等層次的特征有很強的響應;識别行人這種困難的物體,高層次的特征有很強的響應。

相比于其他工作,M2Det在每個尺度上都有不同層次的特征,用于識别不同難度的物體。

本文為粉絲張凱投稿。

END

下載下傳1:速查表

在「AI算法與圖像處理」公衆号背景回複:速查表,即可下載下傳21張 AI相關的查找表,包括 python基礎,線性代數,scipy科學計算,numpy,kears,tensorflow等等

用于目标檢測的多層次特征金字塔網絡

下載下傳2 CVPR2020

在「AI算法與圖像處理」公衆号背景回複:CVPR2020,即可下載下傳1467篇CVPR 2020論文

用于目标檢測的多層次特征金字塔網絡

點亮在看吧,讓更多需要的人看到

用于目标檢測的多層次特征金字塔網絡

繼續閱讀