當前位置:
首頁 > 科技 > 從R-CNN到RFBNet,目標檢測架構5年演進全盤點

從R-CNN到RFBNet,目標檢測架構5年演進全盤點


選自arXiv


作者:Li Liu

Wanli Ouyang

Xiaogang Wang

Paul Fieguth

Jie Chen

Xinwang Liu

Matti Pietik?inen


機器之心編譯

參與:Panda





目標檢測是計算機視覺領域的基本且重要的問題之一,而「一般目標檢測」則更注重檢測種類廣泛的自然事物類別。近日,中國國防科技大學、芬蘭奧盧大學、澳大利亞悉尼大學、香港中文大學、加拿大滑鐵盧大學的研究者在 arXiv 發布了一篇綜述論文,對用於一般目標檢測的深度學習技術進行了全面系統的總結。機器之心選取了其中部分內容進行介紹,更詳細的內容請參閱原論文。




此外,來自首爾國立大學的 Lee hoseong 在近期開源了「deep learning object detection」GitHub 項目,正是參考該論文開發的。該項目集合了從 2013 年 11 月提出的 R-CNN 至在近期舉辦的 ECCV2018 上發表的 RFBNet 等四十多篇關於目標檢測的論文,相當全面。這些論文很多都曾發表在機器學習或人工智慧頂會上,如 ICLR、NIPS、CVPR、ICCV、ECCV 等。正如圖中紅色字體標示的那樣,其中也包含了很多代表性的成果,如從 R-CNN 到 Mask R-CNN 的 R-CNN 系列、YOLO 系列、RPN、SSD、FPN 以及 RetinaNet 等。無論對剛入門的機器學習新手,還是想深入研究目標檢測的研究者,都是難得的學習、參考資源。







不僅如此,項目作者還給出了相應的完整資源列表,包括論文、官方/非官方實現。







心動的小夥伴還不快 Star、Fork 一下:https://github.com/hoya012/deep_learning_object_detection#2014






論文地址:https://arxiv.org/abs/1809.02165




一般目標檢測(generic object detection)的目標是根據大量預定義的類別在自然圖像中確定目標實例的位置,這是計算機視覺領域最基本和最有挑戰性的問題之一。近些年興起的深度學習技術是一種可從數據中直接學習特徵表示的強大方法,並已經為一般目標檢測領域帶來了顯著的突破性進展。在這個發展迅速的時期,本論文的目標是全面概括近期由深度學習技術為該領域所帶來的發展成果。這份綜述論文包含超過 250 項關鍵貢獻,覆蓋了一般目標檢測研究的許多方面:領先的檢測框架、基礎性的子問題(包括目標特徵表示、目標提議生成、形境信息建模和訓練策略)、評估問題(尤其是基準數據集、評估指標和當前最佳表現)。最後,我們會指出有研究潛力的未來研究方向。




1 引言



目標檢測是計算機視覺領域內一個長期存在的基礎性難題,幾十年來也一直都是一個活躍的研究領域。目標檢測的目標是確定某張給定圖像中是否存在給定類別(比如人、車、自行車、狗和貓)的目標實例;如果存在,就返回每個目標實例的空間位置和覆蓋範圍(比如返回一個邊界框 [53, 179])。作為圖像理解和計算機視覺的基石,目標檢測是解決分割、場景理解、目標追蹤、圖像描述、事件檢測和活動識別等更複雜更高層次的視覺任務的基礎。目標檢測在人工智慧和信息技術的許多領域都有廣泛的應用,包括機器人視覺、消費電子產品、安保、自動駕駛、人機交互、基於內容的圖像檢索、智能視頻監控和增強現實。




近來迅猛發展的深度學習技術 [81,116] 是一類能自動從數據中學習特徵表示的強大方法。特別需要指出,這些技術已經顯著改善了目標檢測的表現,這個問題在過去五年中得到了很大的關注,即便之前心理物理學家、神經科學家和工程師已經研究了這個問題數十年時間。



目標檢測可以分為兩種類型 [69, 240]:特定實例檢測和特定類別檢測。前者的目標是檢測一個特定目標的實例(比如唐納德·特朗普的臉、五角大樓建築或我的狗 Penny),而後者的目標則是檢測預定義目標類別的不同實例(比如人、車、自行車和狗)。歷史上,目標檢測領域的很多研究都關注的是單個類別(比如人臉或行人)或少數幾個特定類別的檢測。而過去幾年中,研究界則已經開始向構建通用型目標檢測系統的艱難目標邁進,以讓目標檢測的範圍能與人類比肩。




但是在 2012 年,Krizhevsky et al. [109] 提出的深度卷積神經網路(DCNN)AlexNet 在大規模視覺識別挑戰賽(ILSRVC)[179] 上實現了創紀錄的圖像分類準確度。自那以後,許多計算機視覺應用領域都將研究重心放在了深度學習方法上。在一般目標檢測領域湧現出了很多基於深度學習的方法 [65, 77, 64, 183, 176],也取得了很大的研究進展,然而我們仍還沒有對過去五年一般目標檢測主題的全面總結。本論文聚焦於這段快速發展的時間,特別重點關注了基於深度學習的一般目標檢測,以呈現出更明晰的一般目標檢測全景。




一般目標檢測問題本身的定義為:給定任意一張圖像,確定其中是否存在任何預定義類別的形義目標實例;如果存在,就返回其空間位置和覆蓋範圍。目標(object,也可譯為「對象」或「物體」)是指可以被看見和觸碰的有形事物。儘管一般目標檢測和目標類別檢測有很多共同的含義,但前者更注重旨在檢測種類廣泛的自然事物類別的方法,而後者則主要針對特定目標實例或特定類別(比如人臉、行人或車)。一般目標檢測已經得到了很大的關注,我們也能從近些年的目標識別競賽上看出這一點,比如 2006-2012 年的 PASCAL VOC 檢測挑戰賽 [53, 54],2013 年的 ILSVRC 大規模檢測挑戰賽 [179] 以及自 2015 年以來的 MS COCO 大規模檢測挑戰賽 [129]。圖 1 展示了近些年目標檢測方面的引人注目的進展。




圖 1:近些年目標檢測表現的發展演進。可以看到,自 2012 年深度學習入場之後,目標檢測表現(均值平均精度/mAP)提升顯著。最佳檢測器的表現每年都有穩定的顯著提升。(a)在 PASCAL VOC 數據集上的結果:在 VOC 2007-2012 競賽中獲勝方法的檢測結果(僅使用競賽提供的訓練數據)。(b)ILSVRC 2013-2017 中最佳的目標檢測競賽結果(僅使用競賽提供的訓練數據)。





2 背景


2.1 問題




一般目標檢測(即一般目標類別檢測)也被稱為目標類別檢測 [240] 或目標分類檢測,其定義如下。給定一張圖像,確定其中是否存在多個預定義類別的任何目標實例;如果存在,就返回每個實例的空間位置和覆蓋範圍。





圖 3:與一般目標檢測相關的識別問題。(a)圖像層面的目標分類,(b)邊界框層面的一般目標檢測,(c)像素層面的形義分割,(d)實例層面的形義分割





2.2 主要難題







圖 4:一般目標檢測中的難題概覽




2.3 過去二十年的進展





圖 2:目標檢測和識別的里程碑,包括特徵表示 [37, 42, 79, 109, 114, 139, 140, 166, 191, 194, 200, 213, 215]、檢測框架 [56, 65, 183, 209, 213] 和數據集 [53, 129, 179]。在 2012 年之前,主導方法都還是人工設計的特徵。我們看到,隨著 Krizhevsky et al. [109] 為圖像分類開發出了 DCNN,2012 年迎來了轉折。這裡列出的大多數方法都得到了大量引用並至少贏得了一個 ICCV 或 CVPR 的主要獎項。詳見 2.3 節。





3 框架




用於識別的目標特徵表示和分類器一直以來都在穩步發展,從人工設計特徵 [213, 42, 55, 76, 212] 到學習 DCNN 特徵的重大變化也證明了這一點 [65, 160, 64, 175, 40]。




相對而言,用於定位的基本「滑動窗口」策略 [42, 56, 55] 仍還是主流,儘管 [113, 209] 也做出了一些努力。但是窗口的數量很大,而且會隨像素數量呈二次增長,而且搜索多個尺度和寬高比的需求還會進一步增大搜索空間。巨大的搜索空間會導致高度的計算複雜度。因此,有效且高效的檢測框架設計具有關鍵性作用。經常採用的策略包括級聯、共享特徵計算和降低每個窗口的計算量。




在這一節,我們會回顧一般目標檢測領域在深度學習進入這一領域後出現的里程碑檢測框架,如圖 6 所示,詳細情況總結在表 10 中。過去幾年中提出的幾乎所有檢測器都基於其中一種里程碑檢測器,試圖在一個或多個方面實現改進。整體而言,這些檢測器可以分為兩大主要類別:




1. 兩級式檢測框架,包含一個用於區域提議的預處理步驟,使得整體流程是兩級式的。


2. 單級式檢測框架,即無區域提議的框架,這是一種單獨提出的方法,不會將檢測提議分開,使得整個流程是單級式的。





圖 6:一般目標檢測的里程碑,基於第一個 arXiv 版本的時間點






圖 7:里程碑檢測框架 RCNN [65, 67] 的細節圖示






圖 8:用於一般目標檢測的領先框架的高層面示意圖。表 10 總結了這些方法的特性。





4 基礎性子問題




這一節將描述重要的子問題,包括特徵表示、區域提議、形境信息挖掘和訓練策略。每種方法都會通過其主要貢獻進行回顧。




4.1 基於 DCNN 的目標表示




作為任何檢測器的主要組件之一,優良的特徵表示在目標檢測中至關重要。





表 2:常用於一般目標檢測的 DCNN 架構。對於 #Paras 和 #Layers 的統計數據,我們沒有考慮最後的 FC 預測層。「Test Error」一列給出了在 ImageNet1000 上的 Top 5 分類測試誤差。解釋:OverFeat(準確的模型)、DenseNet201(Growth Rate 32, DenseNet-BC)以及 ResNeXt50(32*4d)。






圖 9:2011-2017 年之間,在 ILSVRC 競賽的圖像分類任務上獲勝方法的表現






圖 10:HyperNet 和 ION 的比較。LRN 是指局部響應歸一化






表 3:在改進用於一般目標檢測的 DCNN 特徵表示中的表徵方法的特性總結。詳細討論參見 4.1.2 節。縮寫:Selective Search(SS)、EdgeBoxes(EB)、InceptionResNet(IRN)。mAP@IoU=0.5 時,在 VOC07、VOC12 和 COCO 上報告的檢測結果;另一列在 COCO 上的結果是在一個新指標 mAP@IoU=[0.5 : 0.05 : 0.95] 上報告的,這是在從 0.5 到 0.95(寫成 [0.5:0.95])的不同 IoU 閾值上平均求取 mAP。訓練數據:07 表示 VOC2007 trainval,12 表示 VOC2012 trainval,07+12 表示 VOC07 和 VOC12 trainval 的並集,07++12 表示 VOC07 trainval、VOC07 test 和 VOC12 trainval 的並集,07++12+CO 表示 VOC07 trainval、VOC07 test、VOC12 trainval 和 COCO trainval 的並集。COCO 檢測結果是在 COCO2015 Test-Dev 上報告的,只有 MPN [233] 除外,其結果基於 COCO2015 Test-Standard。






圖 11:Hourglass 架構:Conv1 到 Conv5 是 VGG 和 ResNet 等主幹網路中的主要卷積模塊。比較而言,近期的方法常會用到一些反向融合模塊(RFB)。





4.2 形境建模




在物理世界中,視覺目標通常會出現在特定的環境中,並且通常與其它相關目標共同存在,而且有強大的心理學證據 [13, 9] 表明形境在人類目標識別中發揮著關鍵性的作用。人們也認識到對形境適當建模有助於目標檢測和識別 [203, 155, 27, 26, 47, 59],尤其是當目標尺寸過小、存在遮擋或圖像質量差等原因造成目標外觀特徵不充分時。已有研究者探討了很多不同類型的形境,尤其可參閱 [47, 59]。形境大致可分為這三大類 [13, 59]:




1. 形義形境:目標出現在某些場景而非其它場景中的可能性;


2. 空間形境:在場景中目標與其它物體存在某些位置關係而非其它位置關係的可能性;


3. 尺寸形境:在場景中目標相對其它物體所存在的尺寸限制。





表 4:使用了形境信息的檢測器匯總,類似表 3






圖 13:能探索局部周圍形境特徵的代表性方法:MRCNN [62]、GBDNet [235, 236]、ACCNN [123] 和 CoupleNet [251],參見表 4





4.3 檢測提議方法




檢測提議(detection proposal)通常被用作一個預處理步驟,以通過限制需要檢測器評估的區域的數量來降低計算的複雜性。因此,一個優良的檢測提議應當具備以下特點:




1. 高召回率,只使用少量提議就可以實現;


2. 提議儘可能準確地匹配目標;


3. 高效率。





表 5:使用 DCNN 的目標提議方法匯總。藍色數字表示目標提議的數量。除非另有說明,在 COCO 上的檢測結果都使用了 mAP@IoU[0.5, 0.95]。






圖 14:[175] 中提出的區域提議網路(RPN)圖示





4.4 其它特殊問題





表 6:用於訓練策略和處理類別不平衡問題的代表性方法。在 COCO 上的結果基於 Test-Dev





5 數據集和表現評估





表 7:用於目標識別的常用資料庫






表 9:用於評估目標檢測器的常用指標匯總






圖 17:在 COCO 上的目標檢測表現的演進(Test-Dev 上的結果)。這些結果引用自 [64, 80, 176]。在檢測中,主幹網路、檢測器框架的設計和優質的大規模數據集是最重要的三大要素。



.


6 總結




一般目標檢測是計算機視覺領域內一個重要且有挑戰性的問題,並且已經得到了相當大的關注。在深度學習技術顯著進展的助力下,目標檢測領域得到了很大的發展。本論文是對用於一般目標檢測的深度學習的全面概述,凸顯了近些年取得的成就,並根據這些方法在檢測中的作用而提供了一個結構化的分類,匯總了已有的常用數據集和評估指標,並還討論了大多數代表性方法的表現。




儘管過去幾年取得了巨大的成功(比如檢測準確度從 ILSVRC2013 的 23% 顯著提升至了 ILSVRC2017 的 73%),但當前最佳方法的表現與人類水平仍有巨大差距,尤其是在開放世界學習任務上。還有很多研究工作有待完成,我們可以看到研究者的關注重點主要集中在以下八個領域:




1. 開放世界學習


2. 更好更高效的檢測框架


3. 緊湊高效的深度 CNN 特徵


4. 穩健的目標表徵


5. 形境推理


6. 目標實例分割


7. 弱監督或無監督學習


8. 三維目標檢測






本文為機器之心編譯,

轉載請聯繫本公眾號獲得授權



?------------------------------------------------


加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com


投稿或尋求報道:

content

@jiqizhixin.com


廣告 & 商務合作:bd@jiqizhixin.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

教程 | 一招教你使用 tf.keras 和 eager execution 解決複雜問題
業界 | OPEN AI LAB聯合Arm中國、瑞芯微發布嵌入式AI開發系列套件EAIDK

TAG:機器之心 |