計算機視覺中的目標檢測,因其在真實世界的大量應用需求,比如自動駕駛、視頻監控、機器人視覺等,而被研究學者廣泛關注。
上周四,arXiv新出一篇目標檢測文獻《Object Detection in 20 Years: A Survey》,其對該領域20年來出現的技術進行了綜述,這是一篇投向PAMI的論文,作者們review了400+篇論文,總結了目標檢測發展的里程碑算法和state-of-the-art,並且難能可貴的對算法流程各個技術模塊的演進也進行了說明,還深入到目標檢測的特定領域,如人臉檢測、行人檢測等進行了總結,最后列舉了未來可能的發展方向。溫故而知新,該論文極具參考價值!

作者來自美國密歇根大學、北京航空航天大學、滴滴出行。下圖是作者在谷歌學術檢索目標檢測相關關鍵字返回的歷年文獻數量,可見該領域20年來越來越受到學術界的關注。2018年有將近1200篇相關文獻發表。
- 目標檢測路線圖
作者將目標檢測近20年來的里程碑算法畫在時間軸上,如下:
可見作者將算法大致分為2012年之前的傳統檢測方法與2012年之后出現的基於
深度學習的檢測方法。傳統方法比如我們所熟知的V-J檢測、HOG檢測、DPM算法。深度學習方法截然不同的分為兩條技術路徑:單階段檢測算法與兩階段檢測算法。同時作者把目標檢測的一些精度提高的方法的出現也列在了時間軸上,比如bounding box regression、multi-resolution detection等。
在目前最知名的評估數據集VOC 2007 、VOC 2012、 COCO上不同年份出現的算法精度提高,如下圖:
可見,深度學習在檢測領域的開山之作,RCNN取得了大幅度精度提高,開辟了檢測的新時代。而今年新出的TridentNet是目前在COCO數據集上取得較高精度的算法。
- 目標檢測數據集
作者總結了通用目標檢測及幾個特定目標檢測的數據集。通用目標檢測領域常用數據集:
幾個常用數據集的示例圖片:
行人檢測常用數據集:
人臉檢測常用數據集:
文本檢測常用數據集:
交通燈檢測與交通標志檢測常用數據集:
遙感目標檢測常用數據集:
- 目標檢測技術演進
作者將目標檢測中涉及的各種技術的演進鋪展開來,讓我們能就單一技術看到發展路徑。早期目標檢測算法代表:
多尺度檢測技術演進路線:
包圍框回歸技術演進路線:
目標上下文建模技術演進路線圖:
包圍框非極大抑制(NMS)技術演進路線圖:
難檢測負樣本挖掘技術演進路線圖:
- 目標檢測計算加速
目標檢測天生是計算密集型任務,所以從其在其發展的各個階段,目標檢測算法的加速就是一個重要議題。作者總結的目標檢測計算加速方法:
可見主要是在三個層次加速:
- 數值計算層次(如積分圖、矢量量化等)
- 檢測引擎層次(網絡剪枝與量化、輕量級網絡設計等)
- 檢測流程層次(特征圖共享、分類器加速、級連檢測等)
因為目前CNN檢測方法是主流,作者列出的近年出現的卷積計算的一些加速方法及其時間復雜度:
- 目標檢測進展
作者在這部分描述了近三年來state-of-the-art目標檢測技術的研究進展:
- 更好地引擎(engine):作者將深度學習目標檢測網絡的骨干網稱為其引擎。改進目標檢測的一個直接思路就是使用更加先進的骨干網。如下圖(相同算法用相同顏色的圓點表示,使用相同引擎的算法結果用一個大括號連接,我們可以輕易看出,使用不同的引擎對最終精度的影響更大):
- 使用更好的特征:1)特征融合;2)學習大感受野的高分辨率特征
- 超越滑動窗口:不再是局限於候選區域再分類的模式。作者提到兩種新模式:1)子區域搜索 sub-region search。將目標檢測看為從初始網格到最終ground truth box的路徑規划過程。2)關鍵點定位。將目標檢測看為特定語義點定位的過程。比如:ECCV18 Oral | CornerNet目標檢測開啟預測“邊界框”到預測“點對”的新思路Grid R-CNN解讀:商湯目標檢測算法
- 目標定位改進:1)包圍框提精。2)改進loss函數用於較精確定位。比如:CVPR 2019 | 曠視提出新型目標檢測損失函數:定位更精准
- 檢測與分割一起進行:分割可以幫助目標檢測提高類別識別的精度、獲得更好地目標定位、潛入更加豐富的上下文。分割的網絡可以作為目標檢測的提取網絡,也可以作為多任務學習的損失函數,用以改進目標檢測。52CV曾經報道過一篇文章甚至分割完全可以用來替換檢測:目標檢測:Segmentation is All You Need ?
- 旋轉和尺度變化魯棒的目標檢測:針對旋轉變化魯棒改進方向:1)旋轉不變損失函數;2)旋轉校正;3)Rotation RoI Pooling。針對尺度變化魯棒的改進:1)尺度自適應訓練;2)尺度自適應檢測。
- Training from Scratch:不使用預訓練模型,從頭開始訓練目標檢測網絡。比如:CVPR 2019 | 京東AI研究院提出ScratchDet,加強對小目標的檢測,代碼將開源。
- 對抗訓練:比如有研究表明,GAN可以用來改進小目標的檢測。
- 弱監督的目標檢測:不使用包圍框標注,而僅使用圖像級的目標標注的算法。減少標注成本。擴大訓練集。
- 目標檢測應用
作者列舉了目標檢測的幾個特殊應用,包括行人檢測、人臉檢測、文本檢測、交通燈及標志檢測、遙感目標檢測。
指出每種檢測任務面臨的困難和挑戰,並簡述了目前應對這些問題的方法。
- 目標檢測的未來方向
作者列舉了以下幾個未來方向:
- 輕量級目標檢測算法;
- 用AutoML設計目標檢測算法,比如:Google CVPR 2019成果!用神經架構搜索實現更好的目標檢測
- 域適應(domain adaptation)改進目標檢測;
- 弱監督的目標檢測;
- 小目標檢測;
- 視頻目標檢測
- 融合其他傳感器信息的目標檢測。
最后附上論文地址:
https://arxiv.org/abs/1905.05055v1