從R-CNN到RFBNet,目標檢測架構5年演進全盤點
目標檢測是計算機視覺領域的基本且重要的問題之一,而「一般目標檢測」則更注重檢測種類廣泛的自然事物類別。近日,中國國防科技大學、芬蘭奧盧大學、澳大利亞悉尼大學、香港中文大學、加拿大滑鐵盧大學的研究者在 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. 三維目標檢測
ofollow,noindex" target="_blank">理論 目標檢測 計算機視覺 神經網路架構
相關資料
Artificial Intelligence
在學術研究領域,人工智慧通常指能夠感知周圍環境並採取行動以實現最優的可能結果的智慧體(intelligent agent)
來源: Russell, S., & Norvig, P. (2003). Artificial Intelligence: A Modern Approach.
Neural Network
(人工)神經網路是一種起源於 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網路模型通常是通過反向傳播演算法應用梯度下降訓練的。目前神經網路有兩大主要型別,它們都是前饋神經網路:卷積神經網路(CNN)和迴圈神經網路(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控迴圈單元(GRU)等等。深度學習是一種主要應用於神經網路幫助其取得更好結果的技術。儘管神經網路主要用於監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網路(GAN)。
來源:機器之心
AlexNet
AlexNet是一個卷積神經網路的名字,最初是與CUDA一起使用GPU支援執行的,AlexNet是2012年ImageNet競賽冠軍獲得者Alex Krizhevsky設計的。該網路達錯誤率大大減小了15.3%,比亞軍高出10.8個百分點。AlexNet是由SuperVision組設計的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever組成。
來源: ImageNet Classification with Deep Convolutional Neural Networks
Augmented reality
增強現實,是指透過攝影機影像的位置及角度精算並加上影象分析技術,讓螢幕上的虛擬世界能夠與現實世界場景進行結合與互動的技術。這種技術於1990年提出。隨著隨身電子產品運算能力的提升,增強現實的用途也越來越廣。
來源: 維基百科
Computer Vision
計算機視覺(CV)是指機器感知環境的能力。這一技術類別中的經典任務有影象形成、影象處理、影象提取和影象的三維推理。目標識別和麵部識別也是很重要的研究領域。
來源:機器之心
ImageNet
baseline
一種簡單的模型或啟發法,用作比較模型效果時的參考點。基準有助於模型開發者針對特定問題量化最低預期效果。
來源: sary" target="_blank" rel="nofollow,noindex">Google ML Glossary
Human-computer interaction
人機互動,是一門研究系統與使用者之間的互動關係的學問。系統可以是各種各樣的機器,也可以是計算機化的系統和軟體。人機互動介面通常是指使用者可見的部分。使用者通過人機互動介面與系統交流,並進行操作。小如收音機的播放按鍵,大至飛機上的儀表板、或是發電廠的控制室。
來源: 維基百科
Machine Learning
機器學習是人工智慧的一個分支,是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算複雜性理論等多門學科。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的演算法。因為學習演算法中涉及了大量的統計學理論,機器學習與推斷統計學聯絡尤為密切,也被稱為統計學習理論。演算法設計方面,機器學習理論關注可以實現的,行之有效的學習演算法。
來源:Mitchell, T. (1997). Machine Learning. McGraw Hill.
Mask R-CNN
Mask R-CNN是一個概念上簡單,靈活和通用的物件例項分割框架。 該方法能夠高效地檢測影象中的物件,同時為每個例項生成高質量的分割蒙版。 這種方法通過新增一個用於預測物件蒙版的分支來擴充套件R-CNN使之更快,該分支與現有的用於邊界框識別的分支並行。
neuroscience
神經科學,又稱神經生物學,是專門研究神經系統的結構、功能、發育、演化、遺傳學、生物化學、生理學、藥理學及病理學的一門科學。對行為及學習的研究都是神經科學的分支。 對人腦研究是個跨領域的範疇,當中涉及分子層面、細胞層面、神經小組、大型神經系統,如視覺神經系統、腦幹、腦皮層。
來源: 維基百科
self-driving
從 20 世紀 80 年代首次成功演示以來(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自動駕駛汽車領域已經取得了巨大進展。儘管有了這些進展,但在任意複雜環境中實現完全自動駕駛導航仍被認為還需要數十年的發展。原因有兩個:首先,在複雜的動態環境中執行的自動駕駛系統需要人工智慧歸納不可預測的情境,從而進行實時推論。第二,資訊性決策需要準確的感知,目前大部分已有的計算機視覺系統有一定的錯誤率,這是自動駕駛導航所無法接受的。
來源: 機器之心
Deep learning
深度學習(deep learning)是機器學習的分支,是一種試圖使用包含複雜結構或由多重非線性變換構成的多個處理層對資料進行高層抽象的演算法。 深度學習是機器學習中一種基於對資料進行表徵學習的演算法,至今已有數種深度學習框架,如卷積神經網路和深度置信網路和遞迴神經網路等已被應用在計算機視覺、語音識別、自然語言處理、音訊識別與生物資訊學等領域並獲取了極好的效果。
來源: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.
Laiye
來也的願景是通過AI賦能,讓每個人擁有助理。C 端產品小來是智慧化的線上助理,通過業內創新的AI+Hi模式,提供日程、打車、咖啡、差旅和個性化查詢等三十餘項技能(覆蓋400w使用者和數十萬服務者),讓使用者用自然語言發起需求並得到高效的滿足。B端品牌吾來輸出知識型的互動機器人和智慧客戶溝通系統,幫助各領域企業客戶打造行業助理。目前已經在母嬰,商旅,金融和汽車等行業的標杆企業實現商業化落地。

機器之心是國內領先的前沿科技媒體和產業服務平臺,關注人工智慧、機器人和神經認知科學,堅持為從業者提供高質量內容和多項產業服務。