目标检测(Object Detection)—— M2Det
生活随笔
收集整理的這篇文章主要介紹了
目标检测(Object Detection)—— M2Det
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 概述
- 目標檢測領域中,目標的多尺度是指:對待檢測的目標,其bounding box的長寬比、大小具有很大的跨度。如何實現對不同目標的多尺度檢測是目標檢測領域面臨的難題之一,也是制約目標檢測精度提升的瓶頸。
- 目前常用的提高網絡多尺度檢測性能的方式有以下幾種:①訓練階段使用不同分辨率的圖像訓練網絡;②測試階段使用不同分辨率的圖像測試,再融合;③網絡結構的改進,以FPN結構為典型,目前FPN是采用較多的可提高網絡多尺度檢測性能的方式。
- M2Det以提高網絡的多尺度檢測性能為出發點,以SSD為骨干網絡,對FPN進行了改進,在coco數據集上的AP為41%
2. Motivation
作者認為,FPN結構存在兩個主要的缺陷:
- 首先,用于構成FPN結構的feature maps取自骨干網絡,而骨干網絡一般情況下是個分類網絡,因此,由骨干網絡得到的feature maps不能直接用于目標的分類及定位。
- 其次,FPN結構中的每一層feature maps通常只包含某一level的信息(原文翻譯),換句話說,一層feature maps只能檢測某一類尺度的目標。
那么,要如何設計一個提高多尺度目標檢測性能的網絡結構,來規避FPN存在的缺陷?請往下看。
1.對于第一個缺陷,個人認為其解釋有些牽強,顯然,在骨干網絡得到的feature maps中,既包含了目標的分類信息,又包含了位置信息,這些feature maps也自然可以應用于目標檢測的后續環節
2.論文中提到:神經網絡得到的深層特征更有利于目標分類任務,淺層特征更有利于目標定位任務;同時,深層特征更有利于復雜目標的檢測,淺層特征更有利于簡單物體的檢測
3. 網絡結構
M2Det整體網絡結構如下圖所示:
- 首先需要明確的是,該網絡結構基于SSD,是個一階段(one-stage)的目標檢測框架
- 框架中被框選出的部分雖然看著復雜,歸根結底,是對骨干網絡得到的特征進行處理,最終生成proposal的
下面分別對框架中的各個模塊進行介紹:
3.1 FFM1
該模塊內部結構如下圖所示:(模塊中的數字分別表示:輸入channel大小,卷積核大小,stride大小,輸出channel大小)
- 該模塊完成骨干網絡得到的淺層特征和深層特征的融合,再將融合后的特征送入后續網絡中進行處理。以VGG16為例,分別選取conv4_3和conv5_3卷積層得到的特征進行融合
- 這里融合的作用是:同時獲取神經網絡的淺層特征和深層特征
3.2 TUM
該模塊內部結構如下圖所示:
- 對送入TUM結構的特征,經過多層卷積以及上采樣、相加的操作,得到channel相同,尺寸不同的一系列feature maps的輸出
- 該結構的作用是通過使用多層卷積神經網絡,進一步提取特征,同時通過上采樣并相加的操作,保證在卷積過程中,特征不消失
- 此圖請按照紅色箭頭指示方向看
3.3 FFMv2
該模塊內部結構如下圖所示:
- 該結構完成是FFM1得到的特征與TUM模塊得到的分辨率最大的特征的融合
3.4 SFAM
該模塊進行兩步操作:
- 對前面多個TUM結構得到的特征金字塔,按大小分類(論文中使用了8個TUM結構,每個TUM結構輸出一個包含6種不同分辨率feature maps的特征金字塔,每個分辨率共有128層;按大小分類后,得到6個特征塊,每個特征塊共有8x128=1024層特征)
- 應用注意力機制分別對得到的特征塊進行處理。①對某一特征塊(共1024層),按層進行平均池化,得到1x1x1024維度的特征,然后將該特征送入兩層全連接層(fc1:1024->64,fc2:64->1024),最終還是得到1x1x1024的特征,此處的特征代表權重,再與最開始得到的特征塊分別相乘,得到新的特征塊
- 該模塊的作用是,對TUM得到的特征,按分辨率大小不同進行分類,小分辨率特征負責大尺度目標檢測,大分辨率特征負責小尺度目標檢測,同時應用注意力機制,讓網絡自適應調整特征。
- 整體過程如下圖所示
骨干網絡得到的特征在經過上述模塊的層層處理后,最終得到的特征如下,這些特征既包含了骨干網絡不同feature maps層的信息,又包含了不同尺度的語義信息。
4.實驗
4.1 與其它模型的對比
- 可以看到,M2Det相比兩階段state of the art的方法仍舊稍顯不足,但相比一階段方法,效果最好
- 通過應用多尺度推理的方法,可以有效提高檢測準確率
- resnet101骨干網絡確實很不錯
4.2 消融實驗
- 通過實驗證明了該網絡提出的子模塊的有效性
4.3 TUM數量和生成feature map層數的探究
- 隨著TUM數量和channel的增加,檢測效果越來愈好
5 總結
- 所謂TUM模塊,個人感覺只是對FPN結構的加強,核心仍舊是在使用卷積層抽象特征的同時通過上采樣及相加的操作保證特征不丟失
- 應用的注意力機制挺有意思,值得再研究一下,這里放上參考文獻
Hu, J.; Shen, L.; and Sun,
G. 2017. Squeeze-and-excitation networks. CoRR
abs/1709.01507.
- 一個疑問是:為什么只從骨干網絡得到的特征中取出兩層進行處理,如果取更多層,效果應該會更好,這里是一個可以研究的點
- 最后,這篇文章提出的網絡結構似乎有些不夠優美
總結
以上是生活随笔為你收集整理的目标检测(Object Detection)—— M2Det的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark项目实践--基于 TMDB 数
- 下一篇: JQ 弹出框