我很長一段時間一直都在作自動駕駛的物體檢測性能調優,因此想總結整理一些小網絡和檢測框架的經驗。git
文章會分紅三個部分:github
第一部分將參照知乎@YaqiLYU 對小網絡(經典網絡)的分析而且結合的本身的理解。算法
第二部分詳細介紹目前state-of-art的主流檢測框架。網絡
第三部分介紹了目標檢測的問題及解決方案,目標檢測在其餘領域的拓展應用 框架
本部分針對小物體檢測、不規則形狀物體檢測、檢測算法中正負樣本不均衡問題、物體被遮擋、檢測算法的mini-batch太小、物體之間的關聯信息被忽略等問題提出瞭解決方案。在這個部分最後本篇綜述將介紹四篇改進網絡結構以提高檢測效果(包括準確率和速度)的論文,如改進基礎網絡以提高準確率的DetNet和針對移動端優化速度的Pelee網絡等。性能
論文連接:https://arxiv.org/abs/1612.03144優化
開源代碼:https://github.com/unsky/FPNspa
錄用信息:CVPR20173d
論文目標:blog
引入Top-Down 結構提高小物體檢測效果。
核心思想:
Feature Pyramid Networks (FPN) 是比較早提出利用多尺度特徵和Top-Down結構作目標檢測的網絡結構之一,雖然論文中整個網絡是基於Faster R-CNN 檢測算法構建,但其總體思想能夠普遍適用於目前常見的大部分目標檢測算法甚至分類等的其餘任務中。
總體來說, FPN 解決的問題以下:只用網絡高層特徵去作檢測,雖然語義信息比較豐富,可是通過層層pooling等操做,特徵丟失太多細節信息,對於小目標檢測這些信息每每是比較重要的。因此,做者想要將語義信息充分的高層特徵映射回分辨率較大、細節信息充分的底層特徵,將兩者以合適的方式融合來提高小目標的檢測效果。
上圖中做者首先介紹了四種常見的特徵利用的方式,這裏咱們一一說明。圖中a部分展現了利用圖像特徵金字塔的方式作預測的方法,即經過將預測圖片變換爲不一樣尺寸的圖片輸入網絡,獲得不一樣尺寸的特徵進行預測。這種方法行之有效,能夠提高對各個尺寸目標的檢測效果。
上圖是imageNet 數據集中各個物體的尺寸分佈,能夠看到大部分物體尺寸集中在40-140像素之間。當咱們採用imageNet 的pretrain參數初始化咱們的基礎網絡時,網絡實際上對40-140像素間的物體是較爲敏感的。因此當物體目標過大太小的時候效果都會打折扣。而圖像多尺度金字塔預測的方法也解決了這一問題。這個方法雖然行之有效可是缺點是效率低下。尤爲是應用於相似於Faster R-CNN 這樣的網絡,迫於速度和顯存的壓力,端對端的訓練難以實現。一般這種方法只應用於網絡預測的階段。
圖中b部分展現的方法爲利用單一尺度圖片的最高層信息進行預測的方法,是平時最普遍被使用的一種方法,簡單高效。可是缺點是因爲尺度單一,應對多尺度的目標效果受限。
圖中c部分展現了利用特徵金字塔來作預測的方法。即採用不一樣尺寸不一樣深度的特徵層分別進行預測,每層的感覺野和特徵信息的豐富程度都不同,對不一樣尺寸的目標響應也有所區別。其中高層特徵更適合用於檢測大目標,而低層特徵細節信息更加豐富,感覺野也偏小,更適合用於檢測小目標。咱們常用的SSD檢測算法即便用了這種思路。該方法的缺點是低層的特徵信息由於層數較淺,語義信息不太豐富,因此小目標的檢測效果仍然不盡如人意。
圖中d部分即爲FPN的解決方案,利用Top-Down結構,融合了高層和底層的特徵信息,使得底層的語義信息仍然很豐富的同時保持較大的分辨率,提高小物體的檢測效果。
上圖展現了FPN網絡的特徵融合方式,其中高層特徵經過最近鄰差值的方式增大兩倍的尺寸,而底層的特徵通過一個1*1的卷積作降維操做,這兩層特徵分別做像素級的相加完成融合。融合以後的特徵能夠通過一個3*3的卷積層以後輸入用來預測,也能夠再重複上面的操做,和更低層的特徵進行融合。
算法效果:
上圖展現了各個算法在COCO數據集上的對比。
論文連接:https://arxiv.org/abs/1612.06851
開源代碼:無
錄用信息:CVPR2017
論文目標:
1. 有效利用網絡前層信息。使其既包含小物體細節信息,又包含高層抽象語義信息,提升小物體召回率。
2. 避免直接特徵疊加致使維度太高。
核心思想:
本文是Google 對標Facebook FPN的一個算法,用與FPN不一樣的方式實現了Top Down結構,主要是爲了融合低層的細節特徵和高層語義特徵來提高小物體檢測效果的一個方法。
本論文提出的Top Down modulation的結構主要關鍵點在於modulation這一過程,在該算法中,高底層的信息融合不是像FPN同樣像素級疊加,而是經過卷積進行融合。由神經網絡自主的選擇選擇哪些特徵進行融合,實現這一「調製」過程。
1、總體網絡結構:
首先對自下而上的CNN網絡加入一個自上而下的Top Down網絡,使用 lateral connections鏈接起來。經過這些connections 篩選合適的特徵,經過Top Down 網絡進行特徵融合。
2、Top Down Modulation (TDM)網絡基礎模塊:
未完