目标检测M2Det论文总结
簡單說兩句
Feature pyramids已經被各種目標檢測器使用,不管是one-stage還是two-stage類型。淺層的feature map有利于檢測小目標,深層的feature map有利于檢測大目標,所以SSD采用了特征金字塔網絡,檢測結果要優于YOLOv1。但只是簡單地利用從backbone抽出來的Feature maps有很多的局限性,因為這些網絡是為了圖像分類而設計,而不是檢測任務。
總體來說,高階特征包含更多的語義信息,對分類子任務的判別能力更強,低階特征包含更多位置信息,對回歸任務的判別能力更強。除此之外,低階特征更適合表征外觀簡單的物體,高階特征更適合表征外觀復雜的物體。在實際中,小物體的復雜程度可能相差甚遠,比如一個交通指示燈和一個離的很遠的人,在圖像中都是小物體,但是人的復雜程度要高很多。
基于以上理解,作者在SSD的基礎上進行改進,設計了M2Det,一個mutil-level,mutil-scale檢測網絡,mutil-scale解決目標物體大小不一的問題,mutil-level解決物體不同復雜度的問題。
網絡結構
由上圖可見:
主體框架是MLFPN,首先從backbone中抽取2層feature map,通過FFM1方法融合后作為主框架MLFPN的base feature,feed給TUM和FFMv2。然后,每一個TUM會生成大小不一的feature maps,通過SSAM方法將每一組feature maps按照大小分別融合,形成mutil-level、mutil-scale的feature pyramids。和SSD一樣,最后會在每一種尺寸的feature map后面加兩個卷積層來預測位置信息和類別,最后使用NMS算法得到最終的結果。
值得注意的是,每一個TUM的輸出使用FFMv2方法和base feature融合,作為第二個TUM的輸入。所以第一個TUM只吸收了淺層特征base feature,后面的TUMs會同時吸收淺層base feature和較深層特征信息(前一個TUM的輸出),從第一個(圖中最上面的)TUM到最后一個,由淺至深,這是mutil-level的由來。
下面介紹上面提到的幾種方法:
FFM1:
將20201024的feature map通過11卷積降低通道數,然后上采樣得到40 * 40 * 512的feature map;將40 * 40 * 512的feature map通過1 * 1卷積將通道數降為256,然后將兩者進行concate(上圖(a)),concate后,通道數為512+256=768。
FFMv2:
將40 * 40 * 768的base feature降低通道數為128,然后和前一個TUM輸出的feature maps中尺寸最大的(40 * 40)feature mapconcate(上圖(b))。
TUM:
如上圖?所示,encoder(編碼器)由5個卷積核為3 * 3,stride為22的卷積操作組成,每一次卷積后feature map的尺寸會縮小為原來的1/2,decoder(解碼器)的每一個輸出都吸收了encoder的每一個卷積層輸出。從圖中第二排操作可以看出,藍色的+號是將前一個卷積結果上采樣后和上層編碼結果進行ele-wise sum操作。解碼器中添加1*1卷積層是為了增強學習能力和保持平滑。最后TUM會輸出6種scale的feature maps,所以是mutil-scale。
SFAM:
SFAM是為了將TUMs產生的mutil-level mutil-scale的features集合為feature pyrimid。
如下圖,分2步操作:
1、將相同scale的features結合(concate),因此每一種scale的features來自不同的level。
2、加入channel-wise attention機制,讓features聚焦于對它們最有用的通道上。
網絡設置
作者使用了兩種backbone進行實驗:VGG16和ResNet。
默認參數有:8個TUM、每個TUM包含5個striding-conv和5次上采樣,輸出6中scale的features。
圖像輸入尺寸有320、512和800。
檢測階段,對6種scale的features,分別添加2個卷積層來分別獲得回歸和分類。
對于每一個feature map cell,使用3種長寬比,共6個anchors。
結果對比
M2Det與之前網絡相比,成為了新的state-of-the-art,見下圖:
總結
強大高效的M2Det的主要貢獻的MLFPN,其設計加入mutil-level的思想,使得不同尺寸的目標檢測更加高效。
總結
以上是生活随笔為你收集整理的目标检测M2Det论文总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Python中如何优雅地处理PDF文件
- 下一篇: Eclipse设置、调优、使用