1. 程式人生 > >Deep Learning for Generic Object Detection: A Survey 閱讀筆記

Deep Learning for Generic Object Detection: A Survey 閱讀筆記

目錄

摘要

1.介紹

2.背景

2.1問題

3.框架

摘要

目標監測旨在從自然影象中定位出大量預定義類別的例項物件,是機器視覺中最基本也是最具挑戰的問題。近年來,深度學習技術作為直接從資料學習特徵表示的強大方法而出現,並在通用物體檢測領域取得了顯著的突破。鑑於這個快速發展的時期,本文的目的是提供對深度學習技術帶來的這一領域最近成就的全面的綜述。本綜述包括250多項重要貢獻,涵蓋了通用物件檢測研究的許多方面:領先的檢測框架和基本的子問題,包括物件特徵表示,物件 proposal生成,上下文資訊建模和訓練策略;評估問題,特別是基準資料集,評估指標,和最先進的表現。最後,我們明確未來的方向。

1.介紹

作為計算機視覺中長期存在的,基本的和具有挑戰性的問題,物體檢測幾十年來一直是一個活躍的研究領域。物件檢測的目標是確定某些給定影象中是否存在來自給定類別(例如人,汽車,自行車,狗和貓)的任何物件例項。如果存在,則返回每個物件例項的空間位置和範圍(例如,通過邊界框[53,179])。作為影象理解和計算機視覺的基石,物體檢測構成了解決更復雜或更高級別視覺任務(如分割,場景理解,物件跟蹤,影象字幕,事件檢測和活動識別)的基礎。物體檢測在人工智慧和資訊科技的許多領域具有廣泛的應用,包括機器人視覺,消費電子,安全,自動駕駛,人機互動,基於內容的影象檢索,智慧視訊監控和增強現實。

最近,深度學習技術[81,116]已經成為從資料中自動學習特徵表示的有力方法。特別是,這些技術為物體檢測提供了顯著的改進,這一問題在過去五年中引起了極大的關注,儘管心理,物理學家,神經科學家和工程師已經研究了幾十年。

物件檢測可以分為兩種型別之一[69,240]:特定例項的檢測和特定類別的檢測。第一種型別旨在檢測特定物件的例項(例如唐納德特朗普的臉,五角大樓的建築物,或我的狗Penny),而第二種型別的目標是檢測預定義物件類別的不同例項(例如人類,汽車,自行車和狗)。從歷史上看,物體檢測領域的許多努力都集中在檢測單一類別(如面部和行人)或少數特定類別。相比之下,在過去幾年中,研究界已經開始朝著建立通用物體檢測系統的挑戰性目標邁進,該系統的物體檢測能力的廣度可與人類相媲美。

然而在2012年,Krizhevsky等人。 [109]提出了一種名為AlexNet的深度卷積神經網路(DCNN),它在大規模視覺識別挑戰賽(ILSRVC)中在影象分類準確性[179]破了紀錄。從那時起,許多計算機視覺應用領域的研究重點一直是深度學習方法。基於深度學習的通用物件檢測的許多方法如雨後春筍般湧現[65,77,64,183,176]並取得了巨大進步,但我們在過去五年中並未意識到對該主題的全面調查。鑑於這個快速發展的時代,本文的重點深度學習的通用物件檢測,以便在獲得通用物體監測的清晰概括。

通用物件檢測問題本身定義如下:給定任意影象,確定是否存在來自預定義類別的語義物件的任何例項,並且如果存在,則返回空間位置和範圍。物件是指可以看到和觸控的物質事物。雖然在很大程度上與物件類檢測同義,但是通用物件檢測更加強調旨在檢測廣泛的自然類別的方法,而不是物件例項或專門類別(例如,面部,行人或汽車)。通用物體檢測受到了極大的關注,最近在物體檢測競賽中取得了進展,例如2006年至2012年的PASCAL VOC檢測挑戰[53,54],自2013年以來ILSVRC大規模檢測挑戰[179]以及自2015年以來MS COCO 的大規模檢測挑戰[129]。近年來的顯著改進如圖1所示。

圖1:近期物體檢測效能的演變。自深度學習於2012年進入現場以來,我們可以觀察到顯著的效能(平均精度)改善。最佳的檢測效能每年都在穩步增長。(a)PASCAL VOC資料集的結果:VOC2007-2012競賽中獲獎作品的檢測結果(僅使用提供的訓練資料)。 (b)ILSVRC2013-2017中的物體檢測競賽結果(僅使用提供的訓練資料)。

1.1與以前的評論比較

已公佈了一些值得注意的物體檢測調查,如表1所示。這些包括許多關於特定物體檢測問題的優秀調查,例如行人檢測[51,60,48],人臉檢測[226,232],車輛檢測[196]和文字檢測[227]。Ponce [169],Dickinson [46],Galleguillos和Belongie [59],Grauman和Leibe [69],以及Andreopoulos和Tsotsos [5]等人也做出了重要貢獻。

最近的調查很少直接關注通用物體檢測問題,只有Zhang等人[240]對物體類檢測主題進行調查的工作然而,[69],[5]和[240]中調查的研究大多是2012年之前的研究,在深度學習和相關方法取得巨大成功之前。

深度學學習可以由多個層組成的計算模型來學習極其複雜,微妙和抽象的表示。在過去幾年中,深度學習在廣泛的問題上取得了重大進展,例如視覺識別,物體檢測,語音識別,自然語言處理,醫學影象分析,藥物發現和基因組學。在不同型別的深度神經網路中,深度卷積神經網路(DCNN)[115,109,116]在處理影象,視訊,語音和音訊方面帶來了突破。 鑑於這個快速發展的時期,Bengio等 [12],LeCun等 [116],Litjens等 [133],顧等人 [71],最近在ICCV和CVPR中最近發表了關於深度學習的不同方面的調查。

儘管已經提出了許多基於深度學習的方法用於物體檢測,但我們並未意識到在過去五年中對該主題的全面調查,這是本調查的重點。對現有工作進行徹底的審查和總結對於物體檢測的進一步進展至關重要,特別是對於希望進入該領域的研究人員而言。用於特定物體檢測的CNN的工作將不包括在我們的討論中。例如面部檢測[120,237,92],行人檢測[238,85],車輛檢測[247]和交通標誌檢測[253]。

1.2 分類方法 自深度學習火起來以後發表的關於通用物體檢測的論文數量令人歎為觀止。事實上,許多人已經提出了編寫對現有技術的全面審查的論文的可能性。有必要建立一些選擇標準,例如論文的完整性和對該領域的重要性。我們傾向於包括頂級期刊和會議論文。由於空間和我們的知識限制,我們誠摯地向那些作品未包含在本文中的作者道歉。對於相關主題的調查,讀者可參考表1中的文章。該調查主要關注過去五年取得的重大進展; 但為了完整性和更好的可讀性,還包括一些早期的相關工作。我們將自己限定於靜態圖片並將視訊物件檢測作為單獨的主題。

本文的其餘部分安排如下:

第2節中總結相關背景,包括問題,主要挑戰和過去二十年取得的進展。 第3節中描述物體檢測的里程碑。 第4節介紹了物體檢測所涉及的基本子問題和相關問題。 第5節中給出了流行資料庫和最新效能的總結。 我們在本文結束時討論了幾個有希望的方向。

2.背景

2.1問題

通用物件檢測(即,通用物件類別檢測),也稱為物件類檢測[240]或物件類別檢測,定義如下:給定影象,通用物件檢測的目標是,確定影象中是否存在來自許多預定義類別的物件的例項,並且如果存在,則返回每個例項的空間位置和範圍。與特定物件類別檢測不同,它更加強調檢測廣泛的自然類別,定物件類別檢測其中可能僅存在較窄的預定義興趣類別(例如,面部,行人或汽車)。雖然成千上萬的物體佔據了我們生活的視覺世界,但目前研究界主要對高度結構化物體(例如汽車,面部,自行車和飛機)和結構(例如人類,牛和馬)而不是非結構化的場景(如天空,草地和雲)。

通常,可以使用邊界框粗略地定義物件的空間位置和範圍-軸對齊的矩形緊緊地繫結物件 [53, 179],精確的畫素級語義分割或緊貼物體的邊界,如圖3所示。據我們所知,在當前的文獻中,邊界框被更廣泛地用於評估通用物件檢測演算法[53,179],並且也將是我們在該調查中採用的方法。然而,檢測正在向深度場景理解(從影象級物件分類到單個物件定位,到通用物件檢測,以及逐畫素物件分割),因此預計未來的挑戰將在畫素級別[129]。

圖3與通用物件檢測相關的識別問題。 (a)影象級別物件分類,(b)邊界框級別通用物件檢測,(c)畫素級語義分割,(d)例項語義分割。 

存在許多與通用物件檢測密切相關的問題。物件分類(圖3(a))是評估影象中給定數量的物件類的物件的存在;即,將一個或多個物件類標籤分配給給定影象,確定例項的存在無需定位位置。很明顯,在影象中定位出例項的要求使得檢測比分類更具挑戰性。物體識別問題表示發現和識別影象中存在的感興趣物體,包括物體檢測和物體分類的問題[53,179,156,5]。通用物件檢測與語義影象分割密切相關(圖3(c)),語義分割旨在為影象中的每個畫素分配到語義類標籤。物件例項分割(圖3(d))旨在區分同一物件類的不同例項,而語義分割不區分不同例項,例項檢測還區分同一物件的不同例項。 檢測與分割不同,物件檢測包括邊界框中可能對分析有用的背景區域。

2.2.主要挑戰

通用物件檢測旨在定位和識別廣泛的自然物件類別。通用物件檢測的理想目標是開發通用物件檢測演算法,實現兩個相互限制的目標:高質量/準確性和高效率,如圖4所示。如圖5所示,高質量檢測必須精確地定位和識別影象或視訊幀中的物件,使得可以區分現實世界中的各種物件類別(即,高獨特性),並且可以定位和識別來自同一類別的物件例項(受到類內外觀變化的影響)(即,高穩定性)。高效率要求整個檢測任務以足夠高的幀速率執行,並具有可接受的記憶體和儲存使用。儘管經過了數十年的研究和重大進展,但可以說,準確性和效率的綜合目標尚未實現。

2.2.1準確性相關的挑戰

對於準確性,挑戰源於1)廣泛的類內差異 2)大量的物件類別

我們從類內差異開始,可以分為兩種型別:內在因素和成像條件。對於前者,每個物件類別可以具有許多不同的物件例項,可能在顏色,紋理,材料,形狀和大小中的一個或多個方面變化,例如圖5(h)中所示的“椅子”類別。即使在一個更狹義的類中,例如人或馬,物件例項也可以出現在不同的姿勢中,具有非剛性變形和可以穿著不同的衣服。對於後者,變化是由成像條件的變化和不受約束的環境引起的,這可能對物體外觀產生顯著影響。特別地,捕獲不同的例項甚至相同的例項會有差異,其受到許多因素的影響:不同的時間,位置,天氣條件,相機,背景,照明,視點和觀看距離。所有這些條件在物體外觀上產生顯著變化,例如照明,姿勢,比例,遮擋,背景雜波,陰影,模糊和運動,其中的例子如圖5(a-g)所示。數字化偽像,噪聲損壞,解析度差和濾波失真可能會增加進一步的挑戰。

除了類內差異之外,大量的物件類別(大約10000-100000)要求檢測器具有很大的辨別能力以區分微妙不同的類間變化,如圖5(i)所示。在實踐中,主流的檢測網路主要關注結構化物件類別,例如PASCAL VOC [53],ILSVRC [179]和MS COCO [129]中的20,200和91物件類別。顯然,現有基準資料集中所考慮的物件類別的數量遠遠小於人類可識別的物件類別。

2.2.2效率相關的挑戰

指數增加的影象數量需要有效且可擴充套件的檢測器。社交媒體網路和移動/可穿戴裝置的普及導致對分析視覺資料的需求不斷增加。然而,移動/可穿戴裝置具有有限的計算能力和儲存空間,在這種情況下,高效的物體檢測器是關鍵的。

為了提高效率,挑戰源於需要定位和識別大量物件類別的所有物件例項,以及單個影象中可能的大量位置和比例,如圖5中的示例所示(c)。進一步的挑戰是可擴充套件性:探測器應該能夠處理看不見的物體,未知情況和快速增加的影象資料。例如,ILSVRC [179]的規模已經對可獲得的手動註釋施加了限制。隨著影象的數量和類別的數量變得更大,可能無法手動註釋它們,迫使演算法更多地依賴於弱監督的訓練資料。

2.3過去二十年的進展

早期關於物體識別的研究基於模板匹配技術和基於簡單部件的模型[57],側重於空間佈局大致剛性的特定物體,例如面部。在1990年之前,物件識別的主要正規化是基於幾何表示[149,169],隨後焦點從幾何和先驗模型轉向使用統計分類器(如神經網路[178],SVM [159]和 Adaboost [213,222])基於外觀特徵[150,181]。這一成功的物體檢測器系列為該領域的大多數後續研究奠定了基礎。

在20世紀90年代末和21世紀初,物體探測研究取得了顯著的進步。近年來物體檢測的里程碑如圖2所示,其中突出顯示了兩個主要時代(SIFT與DCNN)。外觀特徵從全域性表示[151,197,205]移動到區域性表示,這些表示對於平移,縮放,旋轉,照明,視點和遮擋的變化是不變的。從尺度不變特徵變換(SIFT)特徵[139]開始,手工製作的區域性不變特徵獲得了巨大的普及,並且各種視覺識別任務的進展基本上都基於使用區域性描述符[145],例如Haar之類的特徵[213],SIFT [140],形狀上下文[11],梯度直方圖(HOG)[42]和區域性二元模式(LBP)[153],協方差[206]。這些區域性特徵通常通過簡單連線或特徵池編碼器聚合,例如由Sivic和Zisserman [194]和Csurka等人引入的有影響力和有效的Bag of VisualWords方法 [37],BoW模型的空間金字塔匹配(SPM)[114]和Fisher向量[166]。

多年來,手工製作的區域性描述符和判別分類器的多級手動管道在計算機視覺的各個領域佔據主導地位,包括物體檢測,直到2012年深度卷積神經網路(DCNN)[109]取得破紀錄的結果,是影象分類的重大轉折點。DCNN在影象分類[109]的成功應用,轉移到物體檢測,Girshick等人提出了CNN(RCNN)檢測器[65]。從那時起,物件檢測領域已經發展迅速,並且已經開發了許多基於深度學習的方法,這部分歸功於可用的GPU計算資源以及大規模資料集的可用性以及ImageNet [44,179]和MS COCO等挑戰[129]。利用這些新的資料集,針對更現實和複雜的問題[129,179],研究人員可以在從具有大的類內變化和類間相似性的影象中檢測數百個類別的物件時。

研究界已經開始朝著建立通用目標檢測系統的挑戰性目標邁進,該系統能夠檢測許多物體類別與人類相匹配的能力。這是一項重大挑戰:根據認知科學家的觀點,人類可以識別大約3,000個入門級別類別和30,000個視覺類別,並且可以區分為100000[14]類別數量。儘管過去幾年取得了顯著進步,但設計一個準確,強大,高效的檢測和識別系統,在10000-100000類別上達到人類水平的效能,無疑是一個很困難的問題。

3.框架

用於識別的物件特徵表示和分類器已經取得了穩步進展,從手工製作的特徵[213,42,55,76,212]到學習的DCNN特徵[65,160,64,175,40]的顯著變化證明了這一點。

相比之下,本地化的基礎“滑動視窗”策略[42,56,55]仍然是主流,儘管在[113,209]中有一些吃力。然而,視窗的數量很大並且隨著畫素的數量呈二次方增長,並且需要在多個尺度和寬高比上進行搜尋,這進一步增加了搜尋空間。巨大的搜尋空間導致高計算複雜性。因此,高效有效的檢測框架的設計起著關鍵作用。 常用的策略包括級聯,共享特徵計算和減少每視窗計算。

在本節中,我們將回顧通用物件檢測中存在的里程碑檢測框架,因為深度學習進入了該領域,如圖6所示並總結在表10中。在過去幾年中提出的幾乎所有探測器都基於這些里程碑探測器中的一個,試圖改進一個或多個方面。從廣義上講,這些探測器可分為兩大類:

A.兩階段檢測框架,其中包括區域建議的預處理步驟,使整個框架分兩個階段。

B.一階段檢測框架,或 region proposal free框架,這是一種一階段的方法,不分 region proposal,使整個框架為一個階段。

第4節將基於以下內容,通過更詳細地討論檢測框架中涉及的基本子問題,包括DCNN特徵,檢測建議,上下文建模,邊界框迴歸和類不平衡處理。

3.1基於區域(兩階段框架)

在基於區域的框架中,從影象生成與類別無關的區域提議,從這些區域提取CNN [109]特徵,然後使用類別特定的分類器來確定提議的類別標籤。從圖6可以看出,DetectorNet [198],OverFeat [183],MultiBox [52]和RCNN [65]獨立且幾乎同時提出使用CNN進行通用物件檢測。

圖6基於第一個arXiv版本的時間點的通用物件檢測的里程碑。

RCNN:受CNN獲得的突破性影象分類結果的啟發以及手工製作特徵區域提案中選擇性搜尋的成功[209],Girshick等人首次探索了CNN的通用物體檢測,並開發了RCNN [65 67] ],它將AlexNet [109]與區域提案方法選擇性搜尋[209]整合在一起。如圖7所示,RCNN框架中的訓練由多階段組成:

  1. 不知類別區域proposal,即可能包含物件的候選區域,是獲得選擇性搜尋[209];
  2. 提議的區域從影象中裁剪並扭曲成相同大小,用作微調的輸入。使用諸如ImageNet的大規模資料集預訓練的CNN模型;
  3. CNN中提取的固定長度特徵訓練的一組類特定線性SVM分類器,替換掉softmax層。
  4. 學習具有CNN特徵的每個物件類的邊界框迴歸。

儘管實現了高質量的物體檢測,RCNN仍有明顯的缺點[64]:

  1. 訓練過程是一個多階段複雜的過程,它不夠優雅,緩慢且難以優化,因為每個階段都必須單獨培訓。
  2. 需要從額外的檢測許多僅提供粗略定位的區域提議。
  3. 訓練SVM分類器和邊界框迴歸在磁碟空間和時間上都是昂貴的,因為CNN特徵是從每個影象中的每個區域提議獨立提取的,對大規模檢測提出了巨大挑戰,尤其是非常深的CNN網路,如AlexNet [109]和VGG [191]
  4. 測試很慢,因為每個測試影象中的每個proposal都會提取CNN功能。
圖7測框架RCNN [65,67]的插圖非常詳細。

SPPNet:在測試過程中,CNN特徵提取是RCNN框架的主要瓶頸,需要從數千個proposal區域提取影象中提取CNN特徵。注意到這些明顯的缺點,He等人[77]將傳統的空間金字塔(SPP)[68,114]引入了CNN架構。由於卷積層可以接受任意大小的輸入,CNN中固定大小影象的要求僅僅是由於完全連線(FC)層,He等人發現了這一事實,在最後一個卷積(CONV)之上添加了一個SPP層用於提取FC層的需要的固定長度的特徵。使用此SPPnet,RCNN可在不犧牲任何檢測質量的情況下獲得顯著的加速,因為它只需要在整個測試影象上執行一次卷積層,為任意大小的proposal生成固定長度的特徵。雖然SPPnet使RCNN檢測速度加快了幾個數量級,但是它對訓練過程增速有限。此外,SPPnet [77]中的微調不能更新SPP層之前的卷積層,這限制了非常深的網路的準確性。Fast RCNN: Girshick [64]提出了Fast RCNN,它解決了RCNN和SPPnet的一些缺點,同時提高了它們的檢測速度和質量。如圖8所示,Fast RCNN通過簡化訓練過程實現端到端檢測器訓練(當忽略區域建議生成的過程時),該過程同時學習softmax分類器和使用多工損失的類特定邊界框迴歸 而不是像RCNN / SPPnet那樣在三個階段獨立的訓練SVM和BBR。Fast RCNN採用跨region proposals共享卷積計算的想法,並在最後的卷積層和第一個全連線層之間新增感興趣區域(RoI)池化,以為每個region proposals(即RoI)提取固定長度特徵。本質上,RoI池在特徵級別使用變形來近似影象級別的變形。RoI池化層之後的特徵被送到一系列的全連線層中,最終分支成兩個輸出層:一個用softmax概率物件類別預測,一個用於特定類別proposals的邊框偏移回歸。與RCNN / SPPnet相比,Fast RCNN大大提高了效率 - 通常訓練速度提高3倍,測試速度提高10倍。 總之,快速RCNN具有較高的檢測質量,單級的訓練過程,更新所有網路層,和不需要儲存特徵的優點。

Faster RCNN:儘管Fast RCNN顯著加快了檢測過程,但它仍然依賴於外部的region proposals。region proposals計算是Fast RCNN中的新瓶頸。最近的研究表明,CNN具有顯著的在卷積層中[243,244,36,158,75]中定位物體的能力,這種能力在全連線層中被削弱。因此,selective search可以被CNN中生成region proposals代替。Ren等人提出的Faster RCNN框架。提出了一個有效和準確的區域提案網路(RPN)來生成region proposal。他們利用單一網路,RPN完成區域提議的任務和Fast RCNN完成region proposal分類任務。在Faster RCNN中,RPN和Fast RCNN共享大量卷積層。最後共享卷積層的提取的特徵用於來自不同分支的區域建議和區域分類。RPN首先在每個卷積層的特徵圖的不同位置和縱橫比初始化K個n*n的參考框(即所謂的anchors)。每個n * n的anchors被對映到較低維向量(例如對於ZF為256,對於VGG為512),其被饋送到兩個全連線層 - 物件類別分類層和盒子迴歸層。與Fast RCNN不同,RPN中用於迴歸的特徵具有相同的大小。與Fast RCNN不同,RPN中用於迴歸的特徵具有相同大小的尺寸。RPN網路與FastRCNN共享卷積層提取的特徵,這樣可以提高region proposal的計算。事實上,RPN是一個全卷積網路(FCN)。因此,Faster RCNN是純粹基於CNN的框架,而不使用手工製作的特徵。對於VGG16網路,Faster RCNN在GPU上可以到達5fps(包括所有的步驟)進行測試,同時在PASCAL VOC 2007上每個影象使用300個proposals,實現最先進的物體檢測精度。最初的Faster RCNN包含幾個交替的訓練步驟。然後通過一步聯合訓練簡化了這一過程。

在Faster Rcnn發展的同時,Lenc和Vedaldi [117]質疑區域提案生成方法的作用,例如選擇性搜尋,研究了區域建議生成在基於CNN的探測器中的作用,並發現在CNN包含足夠的幾何資訊,用於在卷積層而不是全連線層中進行精確的物體檢測。他們證明了構建整合,更簡單,更快速的物體探測器的可能性,這些探測器完全依賴於CNN,去除了區域建議生成方法(例如選擇性搜尋)。

RFCN(Region based Fully Convolutional Network):雖然Faster RCNN比快速RCNN快一個數量級,但是每個RoI仍然需要應用區域性子網(每個影象幾百個RoI)這一事實導致Dai等人。 [40]提出完全卷積(沒有隱藏的FC層)的RFCN檢測器,幾乎所有計算都在整個影象上共享。如圖8所示,RFCN與Faster RCNN僅僅在RoI子網中的不同。在Faster RCNN中ROI池化之後的計算並不能共享,一個自然的想法是儘量減少無法共享的計算量,因此Dai等人提出了ROI子網全部使用卷積層來構建,並且在預測之前從最後一個卷積層中提取ROI crops.但是Dai等人[40]發現這種天真的設計的檢測精度特別差,他們推測更深的卷積層對分類更加敏感,但是對目標檢測(需要尊重翻譯方差的本地化表示)不太敏感。根據這一觀察,Dai等人通過構建了一組特殊的卷積層產生對位置資訊敏感的特徵圖作為FCN網路的輸出,並添加了與標準的ROI池化層比起來對位置資訊更敏感的ROI池化層。他們表明,使用ResNet101 最為主幹網路的RFCN可以達到與Fasteer RCNN相當的精度,但速度上要更快。

通用物件檢測的主要框架。 表10總結了這些方法的特性。

Mask RCNN:He等人遵循概念簡潔,高效和靈活的精神。提出了Mask RCNN,通過擴充套件Faster RCNN來實現畫素級的例項分割。Mask RCNN採用兩階段法,具有相同的第一階段(RPN)。在第二階段,在為每個ROI預測類別和盒子偏移的同時,新增加了一個分支,為每一個ROI輸出二進位制mask.新的分支是在CNN特徵對映之上的完全卷積網路(FCN)[138,185]。為了避免由原始RoI池(RoIPool)層引起的未對準,提出了RoIAlign層以保持畫素級空間對應。利用骨幹訓練很簡單,概括性很好,並且只增加了一小部分開銷給速度較快的RCNN,執行速度為5 FPS [80]。網路ResNeXt101-FPN [223,130],Mask RCNN實現了COCO資料集物件例項分割和邊界框物件檢測的最佳結果。訓練很簡單,概括性很好,並且對於Faster RCNN速度上,只增加了一小部分開銷,執行速度為5 FPS [80]。

Light Head RCNN:為了進一步加快RFCN的檢測速度[40],Li等人提出了 Light Head RCNN,使檢測網路的頭部儘可能輕,以減少RoI區域計算。尤其是li等人,應用一個大的核心可分離卷積生成了一個通道數少和廉價的RCNN子網路的手薄的特徵圖。從而實現速度和精度的極佳折衷。

3.2一階段方法

自RCNN [65]以來,第3.1節中介紹的基於區域的策略已經在檢測準確率上佔優勢。第3.1節中引入的重要努力使得檢測器更快,更準確,目前流行的基準資料集的主要結果都基於Faster RCNN [175]。儘管取得了這些進展,但基於區域的方法在移動/可穿戴裝置上的計算成本可能很高,而移動/可穿戴裝置的儲存和計算能力有限。因此,研究人員已經開始開發統一的檢測策略,而不是試圖優化複雜的基於區域的檢測的各個組成部分。

一階段法廣泛地指代直接預測類概率的體系結構和具有完整影象的邊界框偏移,一個前饋CNN網路,不涉及區域方案生成或 後分類的過程。該方法簡單而優雅,因為它完全消除了區域建議生成和後續畫素或特徵重取樣階段,將所有計算封裝在單個網路中。由於整個檢測是單個網路,因此可以直接在檢測效能上進行端到端優化。

DetectorNet:Szegedy等人 [198]是最早探索CNN進行物體檢測的人之一。DetectorNet為物體檢測問題指定為物件邊界mask迴歸問題。他們使用AlexNet [109]並用迴歸層替換最終的softmax分類器層。給定一個影象視窗,他們使用一個網路來預測粗網格上的前景畫素,以及四個額外的網路來預測物件的頂部,底部,左側和右側。然後,分組過程將預測的mask轉換為檢測到的邊界框。人們需要根據每個物件型別和mask型別訓練網路。它不能擴充套件到多個類。DetectorNet 需要從一張影象中提取多個crops,並且每個crops的每部分都需要執行多個網路。

OverFeat:Sermanet等人提出。是第一個基於全卷積深度網路的單階段物體探測器之一。它是最成功的物件檢測框架之一,贏得了ILSVRC2013競賽。OverFeat以多尺度滑動視窗方式通過單向傳播CNN執行物件檢測,其除了最終分類/迴歸層之外僅由卷積層組成。通過這種方式,它們自然地在重疊區域之間共享計算。OverFeat生成一個特徵向量網格,每個特徵向量表示輸入影象中略微不同的上下文檢視位置,並且可以預測物件的存在。一旦識別出物件,則使用相同的特徵來預測單個邊界框迴歸。此外,OverFeat,通過將原始影象放大縮小到6個不同的尺度,送入網路並迭代融合到一起,導致評估的上下文檢視(最終特徵向量)的數量顯著增加。OverFeat通過這種多尺度特徵的方法提高整體的表現。與相同時期提出的RCNN [65]相比,OverFeat具有明顯的速度優勢,但由於在該階段難以訓練完全卷積網路,因此其準確度要低得多。速度優勢源於完全卷積網路共享重疊視窗之間的卷積計算。

YOLO (You Only Look Once):Redmon等人提出了YOLO,一個一階段的物體檢測器,將物體檢測定義為一個影象級別的空間分離的bounding boxes,和相關類概率的迴歸問題。YOLO的設計如圖8所示。由於區域建議生成階段完全被丟棄,YOLO直接使用一小組候選區域預測檢測。與基於區域的方法不同,例如 Faster RCNN,根據部分割槽域的特徵預測檢測,YOLO全域性的使用整個影象的特徵。特別是,YOLO將影象分成S*S的網格。每個網格預測C個類的概率,B個bounding box的位置和他們的置信度得分。這些預測被編碼為S*S*(5*B+C)個張量。通過完全拋棄region proposal生成步驟的設計,YOLO非常快速,以45 FPS實時執行,並且快速的YOLO版本,即Fast YOLO [174],以155 FPS執行。由於YOLO在進行預測時會得到整個影象的資訊,這就是會讓它的編碼得到類的上下文資訊,不太可能在預測背景上有誤報。由於邊界框位置,比例和縱橫比的粗略劃分,YOLO會產生更多的定位誤差。正如[174]中所討論的,YOLO可能無法定位某些物件,特別是小物件,可能是因為網格劃分非常粗糙,並且因為構造的每個網格單元只能包含一個物件。目前尚不清楚YOLO在具有更多物件的資料集上能夠在多大程度上轉化為良好的效能,例如ILSVRC檢測挑戰。

YOLOv2 and YOLO9000:Redmon and Farhadi提出了YOLOv2,YOLO的提升版,其中自定義GoogLeNet [200]網路被更簡單的DarkNet19替換,加上利用現有工作中的一些策略,例如批量標準化[78],刪除完全連線的層,並使用通過kmeans和多尺度訓練學習好的anchor 。YOLOv2在標準檢測任務上取得了最新的成果,如PASCAL VOC和MS COCO。此外,Redmon和Farhadi [173]介紹了YOLO9000,它可以實時檢測超過9000個物件類別,提出了一種聯合優化方法,可以在ImageNet和COCO上同時使用WordTree進行訓練,以組合來自多個來源的資料。

SSD (Single Shot Detector):為了在不犧牲太多檢測精度的情況下保持實時速度,Liu等人[136] 提出的SSD比YOLO [174]更快,並且具有與最先進的基於區域的探測器相比的準確性,包括Faster RCNN [175]。SSD有效的結合了Faster RCNN 的RPN,YOLO,和多尺度卷積特徵的思想,在保持高檢測質量的同時實現快速檢測速度。與YOLO一樣,SSD預測固定數量的邊界框和在這些框中存在物件類例項的分數,然後是NMS步驟以產生最終檢測。SSD中的CNN網路是完全卷積的,其前面的幾層基於標準體系結構的,例如VGG [191](在進入分類層之前截斷),其被稱為基礎網路。然後,將幾個逐漸減小尺寸的輔助卷積層新增到基礎網路的末端。在具有低解析度最後一層卷積層中的資訊在空間太粗略以至於不能精確定位。SSD使用較淺的層和較高的解析度來檢測小物體。對於不同大小的物件,SSD通過操作多個CONV特徵圖執行多個尺度的檢測,每個CONV特徵圖預測適當大小的邊界框的類別得分和框偏移。對於300*300的輸入,SDD在VOC2007達到map 74.3%,在nivida Titan X上,測試59FPS每張。

4.基本的子問題

在本節中,描述了重要的子問題,包括特徵表示,區域提議,上下文資訊挖掘和訓練策略。對每種方法的主要貢獻進行審查。

4.1DCNN基於物件表示

作為任何探測器中的主要元件之一,良好的特徵表示在物體探測中是最重要的[46,65,62,249]。在過去,大量的努力致力於設計區域性特徵描述(例如,SIFT [139]和HOG [42])並探索方法(例如,Bag of Words [194]和Fisher Vector [166])來分組,並把這些特徵抽象為更高階的表示,為了讓辨別物件部分開始出現。但是這些特徵表示方法需要仔細的工程和相當多的領域專業。

相比之下,由多個處理層組成的深度學習方法(特別是深度CNN或DCNN)可以直接從原始影象中學習具有多級抽象的強大特徵表示[12,116]。由於學習過程減少了傳統特徵工程中所需的特定領域知識和複雜過程的依賴性[12,116],因此特徵表示的負擔已轉移到更好的網路體系結構的設計中。

回顧第3節中的深度學習模型(RCNN [65],Fast RCNN [64], Faster RCNN [175], YOLO [174], SSD [136])持續的提升了檢測的精度和速度,人們普遍認為CNN特徵的表示起著至關重要的作用,它是CNN架構,也是探測器的引擎。結果是最近大多數的檢測精度的提升是通過設計發展新穎的網路。因此,我們首先回顧一下通用物件檢測中使用的流行CNN架構,然後回顧一下用於改進物件特徵表示的工作,例如開發不變特徵以適應物件尺度,姿勢,視點,部分變形等幾何變化以及執行多尺度分析以改善各種尺度的物體檢測。

4.1.1流行的CNN結構

在第3節介紹的檢測框架中,CNN架構作為主幹網路。表2中總結了有代表性框架,包括AlexNet [110],ZFNet [234] VGGNet [191],GoogLeNet [200],Inception系列[99,201,202],ResNet [79],DenseNet [94]和SENet [91],從圖9中可以看出物體識別的網路改進。最近的CNN進展的進一步回顧可以在[71]中找到。

圖9.標在影象分類任務中,2011年至2017年ILSVRC比賽中獲獎作品的表現。題

 簡而言之,CNN具有分層結構,並由多個層組成,如卷積,歸一化,池化等。從淺到更深的層,影象重複經歷濾波卷積,並且對於每個層,這些濾波器的感受野(支撐區域)增加。例如,開創性的AlexNet [110]有五個卷積層和兩個完全連線(FC)層,第一層包含96個大小為11*11*3的濾波器。通常,CNN第一層提取低階特徵(例如邊緣),中間層提取複雜性增加的特徵,例如低階特徵的組合,以及後面的卷積層檢測物件時將前面卷積部分的特徵組合[234,12,116,157].

從表2中可以看出,架構演變的趨勢是網路越來越深入:AlexNet由8層組成,VGGNet 16層,最近ResNet和DenseNet都超過了100層,尤其是VGGNet [191]和GoogLeNet [200],它表明增加深度可以提高深層網路的表示能力。有趣的是,從表2中可以看出,AlexNet,OverFeat,ZFNet和VGGNet等網路具有大量引數,儘管只有很少的層深,因為大部分引數來自FC層。因此,像Inception,ResNet和DenseNet這樣的新網路雖然具有非常大的網路深度,但通過避免使用FC層,引數要少得多。

通過結構設計使用Inception模組,GoogLeNet的引數大大降低。類似地,ResNet證明了跳躍連線對於學習具有數百層的極深網路的有效性,贏得了ILSVRC 2015分類任務。受ResNet [79]的啟發,InceptionResNets [202]將Inception網路與shortcut connections相結合,聲稱shortcut connections可以顯著加速Inception網路的訓練。通過擴充套件ResNet Huang et al.提出了由 dense blocks構建的DenseNets,dense blocks以前饋方式將每個層連線到每個其他層,從而產生引人注目的優勢,例如引數效率,隱式深度監控和特徵重用。最近,hu等人提出了[79]提出了一個稱為擠壓和激勵(SE)塊的架構單元,它可以與現有的深層架構相結合,以最小的額外計算成本提高其效能,通過明確建模卷積特徵通道之間的相互依賴性,自適應地重新校準通道特徵響應,從而贏得ILSVRC 2017分類任務。對CNN架構的研究仍然活躍,骨幹網路的數量仍在不斷湧現,如Dilated Residual Networks [230], Xception [35], DetNet [127], and Dual Path Networks (DPN) [31].

TABLE2 通常用於通用物件檢測的DCNN體系結構。 關於“#Paras”和“#Layers”的統計資料,我們沒有考慮最終的FC預測層。“測試錯誤”列表示ImageNet1000上的前5個分類測試錯誤。

CNN的訓練需要足夠多的標記資料,這些資料具有足夠標籤和組內多樣性。與影象分類不同,檢測需要從影象中定位(可能很多)物件。[161]已經顯示使用具有物件級註釋的大規模資料集(例如ImageNet分類和本地化資料集)預訓練深度模型,而不僅僅是影象級註釋,提高了檢測效能。然而,收集邊界框標籤是昂貴的,尤其是對於數十萬個類別。一種常見的情況是CNN在具有影象級標籤的大型資料集(通常具有大量視覺類別)上預訓練;然後可以將預訓練的CNN直接應用於小資料集,作為通用特徵提取器[172,8,49,228],其可以支援更廣泛的視覺識別任務。為了檢測,通常在給定的檢測資料集上對預訓練的網路進行微調。幾個大規模影象分類資料集用於CNN預訓練; 其中ImageNet1000資料集[44,179]包含1000萬個1000個物件類別的影象,或者Places資料集[245]比ImageNet1000大得多但類別較少,或最近的混合資料集[245]結合了Places和ImageNet資料集。

在[49,67,1]中探索了沒有微調的預訓練CNN用於物體分類和檢測。其中顯示特徵效能是提取層的函式;例如,對於在ImageNet上預先訓練的AlexNet,檢測精度由高到低依次為FC6 / FC7 / Pool5[49,67];微調預訓練網路可以顯著提高檢測效能[65,67],儘管在AlexNet的情況下,FC6和FC7的微調效能提升要比Pool5大得多,這表明Pool5的功能更為通用。此外,源資料集和目標資料集之間的關係或相似性起著關鍵作用,例如基於ImageNet的CNN特徵在物件相關影象資料集上表現出更好的效能[243]。

4.1.2改進物件表示的方法

基於CNN的深度探測器,如RCNN [65],Fast RCNN [64],Faster RCNN [175]和YOLO [174],通常使用2中列出的深度CNN架構作為骨幹網路並使用CNN最後一層的特徵用來物體檢測,然而在大尺度範圍內檢測物件是一個基礎性的挑戰。解決該問題的經典策略是在將影象縮放到多個尺度(例如,影象金字塔)[56,65,77]輸入檢測器,這通常產生更準確的檢測,但是具有明顯的推理時間和記憶體的增加。相反,CNN逐層計算其特徵,並且特徵層次結構中的子取樣層導致固有的多尺度金字塔

這種固有的特徵層次結構產生了不同空間解析度的特徵圖,但在結構[75,138,190]中存在固有問題:後面(或更高)的層具有大的感受野和強大的語義,並且對於諸如物件姿勢,照明和部分變形之類的變化是魯棒的,但是解析度低並且丟了許多幾何細節。相反,較早(或較低)的層具有較小的感受野和豐富的幾何細節,但解析度較高且對語義的敏感性較低。直觀地,物件的語義概念可以出現在不同的層中,具體取決於物件的大小。因此,如果目標物件很小,它需要較早層中的精細的細節資訊,並且很可能在後面的層中消失,原則上使小物體檢測非常具有挑戰性,對於這類挑戰,例如dilated convolutions [229] 和 atrous convolution [40, 27]已經被提出。另一方面,如果目標物件很大,那麼語義概念將在更往後的層中出現。顯然,僅使用來自一個層的特徵來預測不同尺度的物體是不理想的,因此已經提出了許多方法[190,241,130,104]以通過利用多個CNN層來提高檢測精度,大致分為三種類型。 多尺度物體檢測:

1.利用多個CNN層的組合特徵進行檢測[75,103,10]; 2.檢測多個CNN層; 3.上述兩種方法的組合[58,130,190,104,246,239]。

  (1)利用多個CNN層的組合特徵進行檢測:在進行預測之前,嘗試組合來自多個層的特徵。代表性方法包括Hypercolumns [75],HyperNet [103]和ION [10]。這種特徵組合通常通過跳躍連線來實現,跳躍連線是一種經典的神經網路思想,它跳過網路中的某些層並將早期層的輸出作為後一層的輸入,最近流行用於語義分割的體系結構。如圖10(a)所示,ION [10]使用跳過池化層來從多個層提取RoI特徵,然後通過使用組合特徵對由選擇性搜尋和邊緣框生成的物件提議進行分類。HyperNet [103],如圖10(b)所示,遵循類似的想法,並整合深度,中度和淺度特徵,以生成物件proposals,並通過端到端聯合訓練策略預測物件。該方法僅在每個影象中提取100個候選區域。組合特徵更具描述性,更有利於定位和分類,但計算複雜度增加。

圖10HyperNet和ION的比較。 LRN:區域性歸一化

  (2) 在多個CNN層檢測:通過平均分割概率,將來自多個層的粗略到精細預測結合起來。SSD [136]和MSCNN [20],RBFNet [135]和DSOD [186]組合來自多個特徵圖的預測以處理各種大小的物件。SSD將不同比例的預設框展開到CNN內的多個特徵圖,並強制每個特徵圖專注於預測特定比例的物件。Liu等人提出的 RFBNet,用接受場塊(RFB)替換了SSD後面的卷基層,增強特徵的可辨性和穩健性。RFB是一個多分支卷積塊,類似於Inception塊 [200],但將多個分支與不同的核心和卷積層相結合[27]。MSCNN [20]在CNN的多個層上應用反捲積,以在卷積層學習區域建議和池化特徵之前增加特徵圖解析度。

       (3)結合以上兩種方法:一方面,通過簡單地將skip特徵結合到檢測中來實現超特徵表示,像UNet [154],Hypercolumns [75],HyperNet [103]和ION [10]由於高維度而沒有產生顯著的改進。另一方面,很自然地從具有大的感受野的後期層中檢測大的物體,並且使用具有小的感受野的較早層來檢測小物體;然而,簡單地在較早的層檢測物件可能導致檢測效果不好,因為較早的層具有較少的語義資訊。因此,為了結合兩者的優點,最近的一些工作提出在多層檢測物體並且通過組合來自不同層的特徵來獲得每個檢測層的特徵。代表性方法包括SharpMask [168],Deconvo-lutional Single Shot Detector(DSSD)[58],Feature Pyramid Net-work(FPN)[130],Top Down Modulation(TDM)[190],Reverse connection with Objectness prior Network (RON) [104], ZIP [122](shown in Fig. 12), Scale Transfer Detection Network (STDN)[246], RefineDet [239] and StairNet [217],如表3所示,與圖11對比。

表3在改進用於通用物件檢測的DCNN特徵表示中的代表性方法的屬性的概述。

從圖11(a1)到(e1)可以觀察到,這些方法具有高度相似的檢測體系結構,其結合了具有橫向連線的自頂向下網路,以補充標準的自下而上的前饋網路。 具體地,在自下而上的卷積之後,得到的最終的高階語義特徵再自上而下的網路傳回,中間層橫向處理之後特徵與自上而下的特徵組合。從圖11(a2)到(e2)可以看出,一個主要區別是反向融合塊(RFB)的設計,其處理下層濾波器的選擇和多層特徵的組合。自上而下和橫向的特徵採用小卷積處理,並以元素和、元素積或連線的方式相結合.FPN在若干應用中作為通用特徵提取器顯示出顯著的改進,包括物件檢測[130,131]和例項分割[80],例如, 在基本的Faster RCNN探測器中使用FPN。這些方法必須新增額外的層以獲得多尺度特徵,從而引入不可忽視的成本。STDN [246]使用DenseNet [94]來組合不同層的特徵,並設計了尺度轉移模組以獲得具有不同解析度的特徵圖。尺度轉移模組可以直接嵌入到DenseNet中,只需很少的額外開銷。

圖11.沙漏體系結構:Conv1到Conv5是骨幹網路中的主要Conv塊,例如VGG或ResNet。 比較了最近方法中常用的一些反向融合塊(RFB)。

      (4)模型幾何變換:DCNN在本質上受限於模型顯著的幾何變換。關於DCNN表示對影象變換的不變性和等價性的實證研究可以在[118]中找到。已經提出了一些方法來增強CNN表示的魯棒性,旨在針對不同型別的變換(例如比例[101,18],旋轉[18,32,218,248]或兩者[100])來學習不變的CNN表示。

Modeling Object Deformations:在深度學習之前,Deformable Part based Models(DPM)[56]在通用物件檢測方面非常成功,通過以可變形配置佈置的元件來表示物件。這種DPM建模對物體姿態,視點和非剛性變形的變換不太敏感,因為部件可以相應地定位並且它們的區域性外觀是穩定的,激勵研究人員[41,66,147,160,214]明確建模物件的組成以改進基於CNN的檢測。第一次嘗試[66,214]將DPMs和CNNs結合起來,使用AlexNet在基於DPM的檢測中學習深層特徵,但是沒有區域建議。為了使CNN能夠享受對物件部件變形進行建模的內建功能,提出了許多方法,包括DeepIDNet [160],DCN [41]和DPFCN [147](如表3所示)。雖然在思想上類似,但變形以不同的方式計算:DeepIDNet [161]設計了一個變形約束池化層來替換常規的最大池化層來學習不同物件類的共享視覺模式及其變形屬性,Dai等人[41]設計了一個可變形卷積層和一個可變形RoI池化層,這兩個層都是基於在特徵對映中增加常規的網格取樣位置的思想,增加額外的位置偏移量,並通過卷積學習偏移量從而獲得可變形卷積網路(DCN),在DPFCN [147]中,Mordan等人提出了基於可變形部分的RoI池化層,它通過同時優化各部分的潛在位移,在目標的周圍選擇有區別的部分。

4.2 上下文建模

在物理世界中,視覺物件出現在特定的環境中,並且通常與其他相關物件共存,並且存在強烈的心理證據[13,9],語境在人類物件識別中起著至關重要的作用。已經認識到,適當的上下文建模有助於物體檢測和識別[203,155,27,26,47,59],尤其是當物體外觀特徵因物體尺寸小,遮擋或影象質量差而不足時。已經討論了許多不同型別的背景,詳見調查[47,59]。 上下文可以大致分為三類[13,59]:

1.語義上下文:在某些場景而不是其他場景中尋找物體的可能性

2.空間上下文:在相同位置尋找目標的可能性並不是關於本場境內的其他物體;

3.尺度上下文:物體尺寸的設定受限於場景內其他物體。

大量的工作[28,47,59,143,152,171,162]先於深度學習的普遍存在,但是這些工作大都是不是基於DCNN目標檢測的。[175,136,80]當前技術水平目標檢測沒有明確地利用任何上下文資訊。人們普遍認為DCNN隱含地使用了上下文資訊[234,242],因為他們學習了具有多個抽象層次的層次表示。然而,在基於DCNN的探測器[90,29,236]中明確探索上下文資訊仍然是有價值的,因此下面回顧了最近在基於DCNN的物體探測器中利用上下文線索的工作,由[240,59]的早期工作推動,將這些上下文資訊分為全域性的和區域性的上下文資訊。表4總結了代表性方法。

全域性上下文資訊:指的是影象級別或者場景的上下文資訊,這可以作為物體檢測的提示(例如,臥室將預測有床的存在)。在DeepIDNet [160]中,影象分類得分被用作上下文特徵,並與物件檢測得分連線以改善檢測結果。在ION [10]中,Bell等人提出使用空間迴歸神經網路(RNN)來探索整個影象的上下文資訊。在SegDeepM [250]中,zhu等人提出一種MRF模型scores appearance as well as context for each detection, and allows each candidate box to select a segment and score the agreement between them.在[188]中,語義分割被用作上下文啟動的一種形式。

區域性上下文資訊:考慮物體關係中的區域性環境,物體與其周圍區域之間的相互作用。通常,建模物件關係具有挑戰性,需要推理不同類別的,不同位置的位置,不同比例等的邊界框。在深度學習時代,明確物件關係的模型研究非常有限,代表性的是空間記憶網路(SMN)[29],物件關係網路[90] 和結構推理網路(SIN)[137]。在SMN中,空間儲存器實質上將物件例項組裝回偽影象表示,該偽影象表示易於被饋送到另一個CNN以進行物件關係推理,從而得到新的順序推理架構,其中影象和儲存器被並行處理以獲得進一步更新的檢測記憶。受到最近自然語言處理領域注意力模組成功的啟發[211],Hu等人[90]提出了一種輕量級ORN,它通過外觀特徵和幾何之間的相互作用同時處理一組物件。受到最近自然語言處理領域注意力模組成功的啟發[211],Hu等人。 [90]提出了一種輕量級ORN,它通過外觀特徵和幾何之間的相互作用同時處理一組物件。 它不需要額外的監督,並且易於嵌入現有網路中。已經證明它在改進現代物體檢測過程中的物體識別和重複移除步驟方面是有效的,從而提升了第一個完全端到端物體檢測器。SIN [137]考慮了兩種上下文,包括場景上下文資訊和單個影象中的物件關係。它將物件檢測表示為圖結構推理的問題,其中給定影象,物件被視為圖中的節點,物件之間的關係被建模為這種圖中的邊。

更廣泛的方法更簡單地解決了這個問題,通常是通過擴大檢測視窗大小來提取某種形式的區域性資訊。代表性方法有 MRCNN [62], Gated BiDirectional CNN(GBDNet) [235,236], Attention to Context CNN (ACCNN) [123], CoupleNet [251],and Sermanet et al. [182].

在MRCNN [62](圖13(a))中,除了從骨幹網路的最後一個CONV層提取原始物件proposal的特徵之外,Gidaris和Komodakis提出從物件prooisal的許多不同區域(半區域,邊界區域,中心區域,上下文區域和語義分割區域)中提取特徵,以便獲得更豐富和更健壯的物件表示。所有這些特徵僅通過連線組合在一起。

由此提出了許多與MRCNN密切相關的方法。[233]中的方法只使用了四個上下文區域,組織在一箇中央凹結構中,分類器被端到端的訓練。Zeng等人提出提出GBDNet [235,236](圖13(b))在多個尺度上提取object proposa周圍的上下文區域中提取特徵以提高檢測效能。不同於像MRCNN那樣分別學習每個區域的CNN特徵然後連線它們的天真方式,GBDNet可以通過卷積實現來自不同上下文區域的特徵之間的資訊的傳遞。注意到資訊傳遞並不總是有用,而是依賴於單個的樣本。zeng等人使用門控函式來控制資訊傳輸,如長期短期記憶(LSTM)網路[83]。在GEDNet提出的同時,Li等人同時 [123]提出了ACCNN(圖13(c))以利用全域性和區域性上下文資訊來促進物件檢測。為了捕獲全域性上下文,提出了多尺度區域性上下文(MLC)子網,其通過多個堆疊的LSTM層反覆生成輸入影象的注意圖以突出有用的全域性上下文位置。為了編碼區域性區域上下文資訊,LI等人。 [123]採用類似於MRCNN [62]的方法。如圖13(d)所示,CoupleNet [251]在概念上類似於ACCNN [123],但建立在RFCN [40]之上。除了RFCN [40]中的原始分支,通過具有位置敏感的RoI池化捕捉物件資訊之外,CoupleNet [251]添加了一個分支通過RoI池化來編碼全域性上下文資訊。

標題利用上下文資訊的檢測器概述,類似於表3。

4.3檢測proposal方法

物件可以位於影象中的任何位置和任意佔影象的任意大小比例。在手工製作的表示特徵描述全盛時期(例如,SIFT [140],HOG [42]和LBP [153])、詞袋(BoW)[194,37]和DPM [55]使用滑動視窗技術[213] ,42,55,76,212]。然而,視窗的數量很大並且隨著影象中的畫素數量而增長,並且需要以多個比例和縱橫比進行搜尋,這進一步顯著增加了搜尋空間。因此,應用更復雜的分類器在計算上太昂貴。

大約在2011年,研究人員提出通過使用檢測方案3 [210,209]來緩解計算易處理性和高檢測質量之間關係。源於[2]提出的物件性的概念,物件proposal是影象中可能包含物件的一組候選區域。檢測proposal通常用作預處理步驟,以便通過限制檢測器需要評估的區域的數量來降低計算複雜度。因此,良好的檢測proposal應具有以下特點:

1.高召回率,只需少量提案即可實現; 2.提案儘可能準確地匹配物件; 3.效率高。

基於選擇性搜尋[210,209]給出的檢測proposal物體檢測的成功引起了廣泛的興趣[21,7,3,33,254,50,105,144]。物件提議演算法的全面審查超出了本文的範圍,因為物件提議具有超出物件檢測的應用[6,72,252]。我們將感興趣的讀者引用到最近的調查[86,23],該調查提供了對許多經典物件提議演算法及其對檢測效能的影響的深入分析。我們在此感興趣的是審查基於DCNN的物件proposal方法,輸出類不可知的proposal以及與通用物件檢測相關的方法。

探索區域性周圍上下文特徵的代表性方法:MRCNN [62],GBDNet [235,236],ACCNN [123]和CoupleNet [251],也參見表4。

2014年,物件proposal[210,209]和DCNN特徵[109]的結合,造就了了通用物件檢測的里程碑RCNN [65]。從那時起,檢測proposal演算法迅速成為標準的預處理步驟,事實證明,自2014年以來PASCAL VOC [53],ILSVRC [179]和MS COCO [129]物體檢測挑戰中的所有獲獎條目都使用了檢測proposal[65].

在基於傳統低階線索(例如,顏色,紋理,邊緣和漸變)的物件proposal方法中,選擇性搜尋[209],MCG [7]和EdgeBoxes [254]是更受歡迎的。隨著領域的快速發展,傳統的物件提議方法[86](例如選擇性搜尋[209]和[254])作為為獨立於檢測器的外部模組,成為檢測瓶頸[175]。使用DCNN的一類新的物件proposal演算法[52,175,111,61,167,224]引起了廣泛的關注。最近基於DCNN的物件提議方法通常分為兩類:基於邊界框和基於目標分割,表5中總結了代表性方法。

[175]中提出的區域proposal網路(RPN)的插圖。圖14  

邊界框proposal方法最好的例子是Ren等人的RPC方法[175],如圖14所示.RPN通過在最後一個共享CONV層的特徵圖上滑動一個小網路來預測proposal(如圖 14)。在每個滑動視窗位置,它通過使用k個錨箱同時預測k個提議,其中每個錨箱在影象中的某個位置居中,並且與特定的比例和縱橫比相關聯。Ren等175]建議通過共享卷積層將RPN和Fast RCNN整合到單個網路中。這樣的設計使速度大幅度提升併產生了第一個端到端檢測網路,Faster RCNN [175]。如表3和4所示,RPN已被許多現有物體探測器廣泛選為proposal方法。

替換了固定的先驗一組錨作為MultiBox的[52,199]和RPN [175]的,Lu等人提出通過使用遞迴搜尋策略來生成錨點位置,該遞迴搜尋策略可以自適應地引導計算資源以關注可能包含物件的子區域。