Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5)
Ross Girshick Jeff Donahue Trevor Darrell Jitendra Malik UC Berkeley {rbg,jdonahue,trevor,malik}@eecs.berkeley.edu
摘要
在典型的PASCAL VOC資料集上測量的對象檢測性能在過去幾年中已經穩定下來。最好的方法是複雜的系統,通常将多個低級圖像特征與進階語境相結合。在本文中,我們提出了一種簡單可擴充的檢測算法,相對于2012年VOC的先前最佳結果,平均精度(mAP)提高了30%以上,達到53.3%的mAP。我們的方法結合了兩個關鍵的改進:(1)可以将大容量卷積神經網絡(CNN)應用于自下而上的區域提案,以便定位和分割對象。(2)當标記的訓練資料稀缺時,對輔助任務進行訓練,然後進行域特定的微調,可以顯着提升性能。由于我們将區域提案與CNN相結合,是以我們稱之為我們的方法R-CNN:具有CNN特征的區域。我們還将R-CNN與OverFeat進行比較,OverFeat是最近提出的基于類似CNN架構的滑動視窗檢測器。我們發現R-CNN在20類的ILSVRC2013檢測資料集上大幅超越OverFeat。完整系統的源代碼在http://www.cs.berkeley.edu/~rbg/rcnn。
簡介
特征很重要。各種視覺識别任務的過去的十年取得了很大的進步,這取決于SIFT1和HOG2的使用。但是如果我們觀察典型的視覺識别任務的性能,如PASCAL VOC對象檢測3,會發現2010-2012年進展緩慢,僅通過組合不同模型和使用已有方法的變體來獲得很小的改進。
SIFT和HOG是阻滞方向直方圖,一種可以大緻與V1中的複合細胞,靈長類動物視覺途徑中的第一皮質區域相關聯的表示。但是我們也知道識别發生在後續的幾個階段,這表明可能存在階層化,多階段的計算特征的過程,這些過程對于視覺識别更為有用。
Fukushima的“神經認知機”4是一種受生物學啟發的分層和偏移不變的模式識别模型,這隻是一個早期的嘗試。但是,神經認知機缺乏監督訓練算法。卷積神經網絡(CNN)是一類擴充神經認知機的模型,建立在Rumelhart等5LeCun等6提出的通過反向傳播進行的随機梯度下降的基礎之上。
CNN在20世紀90年代有廣泛的使用(例如7),但是随着支援向量機的興起,CNN已經逐漸淡出了公衆視野。 2012年,Krizhevsky等8通過在ImageNet大型視覺識别挑戰(ILSVRC)上顯示出更高的圖像分類準确度,重新喚起了人們對CNN的興趣9 10。他們的成功是通過使用大型CNN訓練120萬張帶标記圖像,以及對LeCun的CNN(例如,max(x,0)非線性整流和“Dropout”正規化)的一些改進。
ImageNet結果的重要性在ILSVRC 2012研讨會期間大有争議。中心問題可以歸結為:在多大程度上,CNN分類對ImageNet的分類結果可以泛化為PASCAL VOC挑戰的目标檢測結果?
我們通過彌合圖像分類和對象檢測之間的差距來回答這個問題。本文首先提出,與基于更簡單的HOG類特征的系統相比,CNN可以顯著提高PASCAL VOC的目标檢測性能。為了實作這一結果,我們主要關注兩個問題:使用深度網絡定位目标,并隻使用少量注帶标記的檢測資料訓練高容量模型。
與圖像分類不同,檢測需要在圖像中定位(可能是許多)目标。一種方法将定位作為回歸問題。然而,Szegedy等人與我們并行的工作11,表明這種政策在實踐中可能不會很好(他們在VOC 2007年的mAP為30.5%,而我們的方法達到了58.5%)。另一種方法是建構一個滑動視窗檢測器。 CNN已經以這種方式被使用了至少二十年,通常是在受限物體上,如面部12 13和行人14。為了保持高空間分辨率,這些CNN通常隻有兩個卷積和池化層。我們也考慮了采用滑動視窗方法。然而,在我們的網絡中,具有五個卷積層的單元在輸入圖像中具有非常大的接收場(195×195195×195像素)和步進(32×3232×32像素),這使得在滑動視窗内的精确定位成為開放的技術挑戰。
相反,我們通過在“識别使用區域”範式15中操作來解決CNN的定位問題,這已經成功實作了目标檢測16和語義分割17。在測試時間,我們的方法為輸入圖像生成大約2000個類别無關的區域提案,使用CNN從每個提案中提取固定長度的特征向量,然後對每個區域進行類别特定的線性SVM分類。我們使用簡單的技術(圖像仿射變換)來計算每個區域提案的固定大小的CNN輸入,而不管區域的形狀。如下圖(圖1)所示:(對象檢測系統概述。我們的系統(1)輸入一張圖像,(2)提取約2000個自下而上區域提案,(3)使用大卷積神經網絡(CNN)計算每個提案的特征,然後(4)使用類别特定的線性SVM。 R-CNN在PASCAL VOC 2010中實作了53.7%的平均精度(mAP)。相較之下,16使用了相同的區域提案,但是使用了空間金字塔和視像單詞方法,達到了35.1%的mAP。主流的可變部件模型為33.4%。在200類的ILSVRC2013檢測資料集上,R-CNN的mAP為31.4%,超過OverFeat很多18,先前最佳結果為24.3%。)
由于我們的系統将區域提案與CNN相結合,是以我們将方法命名為R-CNN:具有CNN特征的區域。
在本文的更新版本中,我們通過在200類ILSVRC2013檢測資料集上運作R-CNN,提供R-CNN和最近提出的OverFeat18檢測系統的比較。 OverFeat使用滑動視窗CNN進行檢測,是目前在ILSVRC2013檢測中性能最好的方法。我們的R-CNN明顯優于OverFeat,mAP為31.4%,而OverFeat是24.3%。
檢測面臨的第二個挑戰是帶标記的資料很少,目前可用的數量不足以訓練大型CNN。這個問題的正常解決方案是使用無監督的預訓練,然後進行輔助微調(見14)。本文的第二個主要貢獻是在大型輔助資料集(ILSVRC)上進行監督預訓練,然後對小資料集(PASCAL)進行域特定的微調,這是在資料稀缺時訓練高容量CNN模型的有效範例。在我們的實驗中,微調将檢測的mAP性能提高了8個百分點。微調後,我們的系統在VOC 2010上實作了54%的mAP,而高度優化的基于HOG的可變部件模型(DPM)為33%19 20。Donahue等人同時進行的工作21表明可以使用Krizhevsky的CNN(無需微調)作為黑盒特征提取器,在多個識别任務(包括場景分類,細粒度子分類和域适配)中表現出色。
我們的系統也很有效率。唯一的類特定計算是相當小的矩陣向量乘積和貪心非極大值抑制。這種計算屬性來自于所有樣本共享的特征,并且比以前使用的區域特征次元還低兩個數量級(參見16)。
了解我們的方法的失敗模式對于改進它也是至關重要的,是以我們給出了由Hoiem等人22提出的的檢測分析工具的結果。 作為這一分析的中間後果,我們證明了一種簡單的邊界回歸方法顯著地減少了定位誤差,這是主要的誤差模式。
在發掘技術細節之前,我們注意到,由于R-CNN在區域上運作,将其擴充到語義分割的任務是很自然的。經過少量的修改,我們也在PASCAL VOC分割任務中取得了有競争力的成果,VOC 2011測試集的平均分割精度為47.9%。
用R-CNN進行目标檢測
我們的目标檢測系統由三個子產品組成。第一個生成類别無關區域提案。這些提案定義了可用于我們的檢測器的候選檢測集。第二個子產品是從每個區域提取固定長度特征向量的大型卷積神經網絡。第三個子產品是一組特定類别的線性SVM。在本節中,我們介紹每個子產品的設計思路,描述其測試時使用情況,詳細介紹其參數的學習方式,并給出在PASCAL VOC 2010-12和ILSVRC2013上的檢測結果。
子產品設計
區域提案。各種最近的論文提供了生成類别無關區域提案的方法。例子包括:對象性23,選擇性搜尋16,類别無關對象提議24,限制參數最小化(CPMC)17,多尺度組合分組25和Cireşan等提出的26,通過将CNN應用于特定間隔的方塊來檢測有絲分裂細胞,這是區域提案的特殊情況。具體的區域提案方法對于R-CNN是透明的,但我們使用選擇性搜尋以便于與先前檢測工作的對照比較(例如16 27)。
特征提取。我們使用Krizhevsky等人8提出的CNN的Caffe28實作,從每個區域提案中提取4096維特征向量。将減去像素平均值的227×227227×227分辨率的RGB圖像通過五個卷積層和兩個全連接配接層向前傳播來計算特征。可以參考288以獲得更多的網絡架構細節。
為了計算區域提案的特征,我們必須首先将該區域中的圖像資料轉換為與CNN相容的格式(其架構需要固定227×227227×227像素大小的輸入)。在許多可能的針對任意形狀區域的變換中,我們選擇最簡單的。不管候選區域的大小或橫縱比如何,我們将整個區域不保持橫縱比縮放到所需的大小。在縮放之前,我們擴大了被縮放的區域,使得在縮放後,原始區域邊界到現有區域邊界寬度為p像素。如下圖(圖2)所示:(縮放後的VOC 2007訓練樣本,圖中使用p = 16)
其它的縮放方案在附錄A中讨論。
測試
在測試時,我們對測試圖像進行選擇性搜尋,以提取大約2000個區域提案(我們在所有實驗中使用選擇性搜尋的“快速模式”)。然後縮放每個區域,并通過CNN向前傳播,以計算特征。最後,對于每個類,我們使用針對該類訓練的SVM來對每個提取的特征向量進行評分。給定圖像中的所有區域的得分,我們應用貪婪非極大值抑制(每個類别獨立進行),在訓練時學習一個門檻值,如果其與得分較高的區域的重疊部分(IoU)高于這個門檻值,則丢棄這個區域。
性能分析。兩種性質使檢測效率高。首先,所有CNN參數都在所有類别中共享。其次,與其他常見方法比較,由CNN計算出的特征向量是低次元的,例如具有空間金字塔和視像單詞的方法。UVA檢測系統16中使用的特征比我們(次元,360k對比4k)大兩個數量級。
這種共享的結果是計算區域建議和特征(GPU上的13秒/圖像或CPU上的53秒/圖像)的時間在所有類别上進行攤銷。唯一的類特定計算是特征與SVM權重和非極大值抑制之間的點積。在實踐中,圖像的所有點積運算都被整合為單個矩陣與矩陣的相乘。特征矩陣通常為2000×40962000×4096,SVM權重矩陣為4096×N4096×N,其中N為類别數。
分析表明,R-CNN可以擴充到數千個類,而不需要使用如散列這樣的技術。即使有10萬個類,在現代多核CPU上産生的矩陣乘法隻需10秒。這種效率不僅僅是使用區域提案和共享特征的結果。由于其高次元特征,UVA系統的速度将會降低兩個數量級,并且需要134GB的記憶體來存儲10萬個線性預測器。而對于低次元特征而言,僅需要1.5GB記憶體。
将R-CNN與Dean等人最近的工作對比也是有趣的。使用DPM和散列的可擴充檢測29。在引入1萬個幹擾類的情況下,每個圖像的運作時間為5分鐘,其在VOC 2007上的的mAP約為16%。通過我們的方法,1萬個檢測器可以在CPU上運作大約一分鐘,而且由于沒有逼近,可以使mAP保持在59%(見消融研究)。
訓練
監督預訓練。我們僅通過使用圖像級标記來區分性地對大型輔助資料集(ILSVRC2012分類)進行CNN預訓練(此資料沒有檢測框标記)。使用開源的Caffe CNN庫進行預訓練28。簡而言之,我們的CNN幾乎符合Krizhevsky等人的論文中8的表現,ILSVRC2012分類驗證集獲得的top-1錯誤率高出2.2個百分點。這種差異是由于訓練過程中的簡化造成的。
域特定的微調。為了使CNN适應新任務(檢測)和新域(縮放的提案視窗),我們僅使用縮放後的區域提案繼續進行CNN參數的随機梯度下降(SGD)訓練。除了用随機初始化的(N + 1)路分類層(其中N是類别數,加1為背景)替換CNN的ImageNet特有的1000路分類層,CNN架構不變。對于VOC,N = 20,對于ILSVRC2013,N = 200。我們将所有區域提案與檢測框真值IoU ≥0.5的區域作為正樣本,其餘的作為負樣本。我們以0.001(初始學習率的1/10)的學習率開始SGD,這樣可以在不破壞初始化的情況下進行微調。在每個SGD疊代中,我們統一采樣32個正樣本(在所有類别中)和96個負樣本,以建構大小為128的小批量。将采樣的正樣本較少是因為它們與背景相比非常罕見。
目标類别分類器。考慮訓練二分類器來檢測汽車。很明顯,緊緊圍繞汽車的圖像區域應該是一個正樣本子,一個與汽車無關的背景區域應該是一個負樣本。較不清楚的是如何标注部分重疊汽車的區域。我們用IoU重疊門檻值來解決這個問題,在這個門檻值以下的區域被定義為負樣本。重疊門檻值0.3是通過在驗證集上嘗試了0,0.1,…,0.50,0.1,…,0.5的不同門檻值選擇出來的。我們發現選擇這個門檻值是很重要的。将其設定為0.5,如9,mAP會降低5個點。同樣,将其設定為0會将mAP降低4個點。正樣本被簡單地定義為每個類的檢測框真值。
一旦提取了特征并應用了訓練标簽,我們就可以優化每類線性SVM。由于訓練資料太大記憶體不夠,我們采用标準的難分樣本挖掘方法19 30。難分樣本挖掘可以快速收斂,實際上所有圖像周遊一邊,mAP就停止增長了。
在附錄B中,我們将讨論為什麼在微調與SVM訓練中,正樣本和負樣本的數量不同。我們還讨論了涉及訓練檢測SVM的權衡,而不是簡單地使用微調CNN的最終softmax層的輸出。
PASCAL VOC 2010-12上的結果
根據PASCAL VOC最佳實踐3,我們在VOC 2007資料集上驗證了所有設計和超參數(見消融研究)。對于VOC 2010-12資料集的最終結果,我們對VOC 2012 train上對CNN進行了微調,并在VOC 2012 trainval上優化檢測SVM。我們将測試結果送出給評估伺服器,對于兩種主要算法變體(帶有和不帶有檢測框回歸)的每一種,都隻送出一次。
如下表(表1)所示:(VOC 2010測試的平均檢測精度(%)。 R-CNN與UVA和Regionlets最相似,因為所有方法都使用選擇性搜尋區域提案。檢測框回歸(BB)在附錄C中描述。在本文釋出時,SegDPM是PASCAL VOC排行榜中表現最好的方法。 †DPM和SegDPM使用其他方法未使用的上下文重排。)
我們與其它四種很優秀的方法進行了比較,包括SegDPM31,它将DPM檢測器與語義分割系統的輸出相結合32,并使用了上下文重排。最具可比性的是Uijlings等人的UVA系統16,因為我們的系統使用相同的區域提案算法。為了對區域進行分類,他們的方法建構了一個四級空間金字塔,并用密集采樣的SIFT((擴充對準SIFT和RGB-SIFT描述符,每個矢量用4000字的碼本量化),使用直方圖交叉核心SVM進行分類。與其多特征非線性核心SVM方法相比,我們将mAP從35.1%提高到了53.7%,同時也快得多(見測試)。我們的方法在VOC 2011/12測試中實作了接近的性能(53.3%的mAP)。
ILSVRC2013檢測結果
我們使用與PASCAL VOC相同的系統超參數,在200類的ILSVRC2013檢測資料集上運作R-CNN。我們遵循相同的原則,僅送出測試結果給ILSVRC2013評估伺服器兩次,一次有檢測框回歸,一次沒有。
上圖(圖3)比較了R-CNN與ILSVRC 2013競賽中的結果以及競賽後送出的OverFeat結果18。 R-CNN達到了31.4%的mAP,遠超過OverFeat的24.3%的第二好成績。為了說明不同類别的AP分布情況,還提供了箱子圖。
下表(表8)中列出了每個類的AP。
大多數方法(OverFeat,NEC-MU,UvA-Euvision ,Toronto A和UIUC-IFP)使用卷積神經網絡,表明CNN使用方法的差異可以導緻結果有很大的差别。
在ILSVRC2013檢測資料集中,我們概述了ILSVRC2013檢測資料集,并提供了在運作R-CNN時詳細配置資訊。
可視化,消融和錯誤模式
可視化學習到的特征
第一層卷積核可以直覺可視化,易于了解8。它們捕獲定向邊緣和相對顔色。了解後續層次更具挑戰性。 Zeiler和Fergus在33中提出了一種有視覺吸引力的反卷積方法。我們提出一個簡單(和補充)非參數方法,直接顯示網絡學到的内容。
這個想法是在網絡中列出一個特定的單元(特征),并将其用作它自己的目标檢測器。也就是說,我們在大量的區域提案(約1000萬)中計算這個單元的激活,将提案按激活從大到小排序,然後執行非極大值抑制,然後顯示激活最大的提案。通過準确顯示它激活了哪些輸入,我們的方法讓所選單元“自己說話”。我們避免平均,以看到不同的視覺模式,并深入了解這個單元計算的不變性。
我們可以看到來自pool5pool5的單元,這是網絡第五,也是最終卷積層的最大池化輸出。pool5pool5的特征圖次元是6×6×256=92166×6×256=9216。忽略邊界效應,每個pool5pool5單元在原始227×227227×227像素輸入中具有195×195195×195像素的感受野。位于中央的pool5pool5單元具有幾乎全局的視野,而靠近邊緣的則有一個較小的裁剪的視野。
如上圖(圖4,六個pool5pool5單元的激活最大的區域。感受野和激活值以白色繪制。某些單元與概念對齊,例如人(第1行)或文本(第4行)。其它單元捕獲紋理和材料屬性,如點陣列(第2行)和鏡面反射(第6行)。)中的每一行都顯示了在VOC 2007 trainval上進行微調的CNN中的pool5pool5單元的前16個最大激活的區域,包括256個功能獨特的單元中有6個(更多參見附錄D)。選擇這些機關以顯示網絡學習的有代表性的樣本。在第二行,我們看到一個在狗臉和點陣列上觸發的單元。與第三行對應的單元是紅色斑點檢測器。還有用于人臉和更抽象圖案的檢測器,例如文本和具有視窗的三角形結構。網絡似乎學習了一種将少量類别調諧特征與形狀,紋理,顔色和材質屬性的分布式表示相結合的表示。随後的完全連接配接的層fc6fc6具有對這些豐富特征的大量組合進行模組化的能力。
消融研究
逐層分析性能,沒有微調。為了了解哪些層對于檢測性能至關重要,我們分析了CNN最後三層在VOC 2007資料集上的結果。上一節簡要描述了pool5pool5。最後兩層總結如下。
層fc6fc6完全連接配接到pool5pool5。為了計算特征,它将pool5pool5的特征圖乘以一個4096×92164096×9216的權重矩陣(重構為9216維向量),然後加上一個偏置向量。最後應用ReLU線性整流。
層fc7fc7是網絡的最後一層。這是通過将由fc6fc6計算的特征乘以4096×4096權重矩陣來實作的,并且類似地加上了偏置向量并應用ReLU線性整流。
我們首先來看看沒有在PASCAL上進行微調的CNN的結果,即所有的CNN參數僅在ILSVRC 2012上進行了預訓練。逐層分析性能(如上表,表2第1-3行)顯示,fc7fc7的特征總體上差于fc6fc6的特征。這意味着可以删除CNN參數的29%或約1680萬,而不會降低mAP。更令人驚訝的是,即使使用僅6%的CNN參數來計算pool5pool5特征,除去fc7fc7和fc6fc6也産生相當好的結果。 CNN的大部分表達能力來自其卷積層,而不是來自于更密集的全連接配接層。這一發現表明通過僅使用CNN的卷積層來計算任意大小圖像的類似HOG意義上的密集特征圖的潛在實用性。這種表示方式可以在pool5pool5特征之上實作包括DPM在内的滑動視窗檢測器。
逐層分析性能,微調。現在我們來看看在PASCAL上進行微調的CNN的結果。改善情況引人注目(表2第4-6行):微調使mAP提高8.0個百分點至54.2%。對于fc6fc6和fc7fc7,微調的提升比對pool5pool5大得多,這表明從ImageNet中學習的pool 5特性是一般性的,并且大多數改進是從學習域特定的非線性分類器獲得的。
與近期特征學習方法的比較。近期在PAS-CAL VOC檢測中已經開始嘗試了一些特征學習方法。我們來看兩種最新的基于DPM模型的方法。作為參考,我們還包括基于标準HOG的DPM的結果20。
第一個DPM特征學習方法,DPM ST34,使用“草圖表征”機率直方圖增強了HOG特征。直覺地,草圖表征是通過圖像片中心的輪廓的緊密分布。草圖表征機率在每個像素處被随機森林計算,該森林經過訓練,将35 x 35像素的圖像片分類為150個草圖表征或背景之一。
第二種方法,DPM HSC35,使用稀疏碼直方圖(HSC)替代HOG。為了計算HSC,使用100個7 x 7像素(灰階)元素的學習詞典,在每個像素處求解稀疏代碼激活。所得到的激活以三種方式整流(全部和兩個半波),空間合并,機關L2歸一化,和功率變換(x←sign(x)|x|α)(x←sign(x)|x|α)。
所有R-CNN變體的都優于三個DPM基線(表2第8-10行),包括使用特征學習的兩個。與僅使用HOG特征的最新版本的DPM相比,我們的mAP提高了20個百分點以上:54.2%對比33.7%,相對改進61%。HOG和草圖表征的組合與單獨的HOG相比mAP提高2.5個點,而HSC在HOG上mAP提高了4個點(使用内部私有的DPM基線進行比較,兩者都使用非公開實作的DPM,低于開源版本20)。這些方法的mAP分别達到29.1%和34.3%。
網絡架構
本文的大多數結果使用了Krizhevsky等人的網絡架構8。然而,我們發現架構的選擇對R-CNN檢測性能有很大的影響。如下表(表3)中所示:(兩種不同CNN架構在VOC 2007檢測測試的平均精度(%)。前兩行是使用Krizhevsky等人的架構(T-Net)的表2的結果。第三和第四行使用Simonyan和Zisserman(O-Net)最近提出的16層架構36。)
我們使用Simonyan和Zisserman最近提出的16層深度網絡36并給出了VOC 2007測試的結果。該網絡是2014年ILSVRC分類挑戰中表現最好的網絡之一。網絡具有由13層3×33×3卷積核組成的均勻結構,其中散布五個最大池化層,最後接三個全連接配接層。我們将該網絡稱為“O-Net”即牛津網絡,基準稱為“T-Net”即多倫多網絡。
要在R-CNN中使用O-Net,我們從Caffe模型庫下載下傳了預訓練的VGG_ILSVRC_16_layers模型(https://github.com/BVLC/caffe/wiki/Model-Zoo)。然後我們使用與T-Net一樣的方法對網絡進行了微調。唯一的差別是根據需要使用較小的批量(24個),以适應GPU記憶體。表3中的結果顯示,具有O-Net的R- CNN基本上優于T-網絡的R-CNN,将mAP從58.5%提高到66.0%。然而,在計算時間方面存在相當大的缺陷,O-Net的前進速度比T-Net長約7倍。
檢測錯誤分析
為了揭示我們的方法的錯誤模式,我們應用了Hoiem等人的優秀檢測分析工具22,以了解微調如何改變它們,并将我們的錯誤類型與DPM比較。分析工具的完整介紹超出了本文的範圍,可以參考22了解更多的細節(如“标準化AP”)。千言萬語不如一張圖,我們在下圖(圖5和圖6)中讨論。
最多的假陽性(FP)類型分布。每個圖表顯示FP類型的演變分布,按照FP數量降序排列。FP分為4種類型:Loc(定位精度差,檢測框與真值的IoU在0.1到0.5之間或重複的檢測)。Sim(與相似類别混淆)。Oth(與不相似的類别混淆)。BG(檢測框标在了背景上)。與DPM(參見22)相比,我們的Loc顯著增加,而不是Oth和BG,表明CNN特征比HOG更具區分度。Loc增加的原因可能是我們使用自下而上的區域提案可能産生松散的定位位置,以及CNN進行全圖像分類的預訓練模型所獲得的位置不變性。第三列顯示了我們的簡單邊界回歸方法如何修複許多Loc。
對目标特點的敏感度。每個圖顯示六個不同目标特點(遮擋,截斷,邊界區域,縱橫比,視角,局部可視性)内最高和最低性能的子集的平均值(跨類别)歸一化AP(見22)。我們展示了我們的方法(R-CNN)有或沒有微調(FT)和邊界回歸(BB)以及DPM voc-release5的圖。總體而言,微調并不會降低敏感度(最大和最小值之間的差異),而且對于幾乎所有的特點,都能極大地提高最高和最低性能的子集的性能。這表明微調不僅僅是簡單地提高縱橫比和邊界區域的最低性能子集的性能(在分析之前,基于我們如何縮放網絡輸入而推測)。相反,微調可以改善所有特點的魯棒性,包括遮擋,截斷,視角和局部可視性。
檢測框回歸
基于錯誤分析,我們實作了一種簡單的方法來減少定位錯誤。受DPM中使用的檢測框回歸的啟發19,我們訓練一個線性回歸模型使用在區域提案上提取的pool5pool5特征來預測一個新的檢測框。完整的細節在附錄C中給出。表1,表2和圖5中的結果表明,這種簡單的方法解決了大量的定位錯誤,将mAP提高了3到4個點。
定性結果
ILSVRC2013的定性檢測結果如下圖(圖8和圖9)所示:
在val2val2上達到31.0%mAP的配置的檢測結果示例。每個圖像都是随機抽樣的(這些都沒有刻意挑選)。顯示精度大于0.5的所有檢測,并标記了預測的類别和精度。可以放大以看清楚
更多示例。詳見圖8說明。
更穩定的結果如下圖(圖10和圖11)所示:
這些示例是經過挑選的。我們選擇這些圖像是因為它們包含有趣的的結果。
ILSVRC2013檢測資料集
在用R-CNN進行目标檢測中,我們介紹了ILSVRC2013檢測資料集的結果。該資料集與PASCAL VOC不太一緻,需要選擇如何使用它。由于這些選擇不是顯而易見的,我們将在這一節中介紹這些選擇。
資料集概述
ILSVRC2013檢測資料集分為三組:訓練(395,918),驗證(20,121)和測試(40,152),其中每組的圖像數目在括号中。驗證和測試集是從相同的圖像分布中劃分的。這些圖像與PASCAL VOC圖像中的場景和複雜性(目标數量,雜波量,姿态變異性等)類似。驗證和測試集是詳盡标注的,這意味着在每個圖像中,來自所有200個類的所有執行個體都被标注為邊界框。相比之下,訓練集來自ILSVRC2013分類圖像。這些圖像具有更多的可變複雜性,并且傾向于是單個位于圖像中心的目标的圖像。與驗證和測試集不同,訓練集(由于它們的數量很多)沒有詳盡标注。在任何給定的訓練圖像中,200個類别的執行個體可能被标注也可能不被标注。除了這些圖像集,每個類都有一組額外的負樣本。負樣本經過人工檢查以确認它們不包含任何相關類的執行個體。本文沒有使用負樣本。有關如何收集和标注ILSVRC的更多資訊可以在37 38中找到。
這些資料集的分組的性質為訓練R-CNN提供了許多選擇。訓練圖像不能用于難負樣本重訓練,因為标注不是很好。負樣本來自哪裡?此外,訓練圖像具有不同于驗證和訓練集的分布。是否應該使用訓練圖像,如果是,在什麼程度上?雖然我們還沒有徹底評估大量的選擇,但是我們根據以往的經驗,提出了一個最明顯的路徑。
我們的總體政策是嚴重依賴驗證集,并使用一些訓練圖像作為一個輔助正樣本來源。為了使用驗證集進行訓練和驗證,我們将其分成大小大緻相等的“val1val1”和“val2val2”集合。由于某些類在val中的數量非常少(最小的隻有31個,連110個的一半都不到),是以産生一個近似類間均衡的劃分是很重要的。為此,産生了大量的候選分割,并選擇了最大相對類間不平衡的最小值(相對不平衡度被定義為|a−b|/(a+b)|a−b|/(a+b),其中a和b是兩個集合各自的類計數)。每個候選分裂是通過使用其類計數作為特征聚類的驗證集圖像來生成的,然後是是一個可以改善劃分平衡度的随機局部搜尋。這裡使用的特定劃分具有約11%的最大相對類間不平衡和4%的中值相對類間不平衡。val1val1/val2val2劃分和用于生産它們的代碼将被公開提供,以允許其他研究人員将他們的方法與在本文中使用的驗證集劃分方法進行比較。
區域提案
我們遵循用于PASCAL檢測的區域提案方法。選擇性搜尋16在val1val1,val2val2中的每個圖像上以“快速模式”運作,并進行測試(但不是在訓練圖像上)。需要一個小的修改來處理選擇性搜尋不是尺度不變的,是以需要産生的區域數量取決于圖像分辨率。 ILSVRC的圖像尺寸範圍從非常小到少量幾百萬像素的圖像,是以我們在運作選擇性搜尋之前,将每個圖像的大小調整為固定的寬度(500像素)。在驗證集上,選擇性搜尋在每個圖像上平均有2403個區域提案,檢測框真值(以0.5 IoU門檻值)的召回率91.6%。這一召回率明顯低于PASCAL的約98%,表明該區域提案階段有明顯的改善空間。
訓練資料
對于訓練資料,我們形成了一套圖像和方框,其中包括val1val1的所有選擇性搜尋和檢測框真值,以及訓練集中每個類别最多N個檢測框真值(如果一個類别的檢測框真值數少于N個,那就有多少用多少)。我們将把這個資料集稱為val1+trainNval1+trainN。在消融研究中,我們給出了N∈{0,500,1000}的val2val2上的mAP(見消融實驗)。
R-CNN中的三個階段需要訓練資料:(1)CNN微調,(2)檢測器SVM訓練(3)檢測框回歸訓練。使用與用于PASCAL的完全相同的設定,在val1+trainNval1+trainN上進行50k次SGD疊代以微調CNN。使用Caffe在一塊NVIDIA Tesla K20上微調花了13個小時。對于SVM訓練,使用來自val1+trainNval1+trainN的所有檢測框真值作為各自類别的正樣本。對來自val1val1的5000張(大約一半)随機選擇的圖像的子集執行難負樣本重訓練。最初的實驗表明,難負樣本重訓練僅使mAP下降了0.5個百分點,同時将SVM訓練時間縮短了一半。沒有從訓練集中采樣負樣本,因為沒有詳盡标注。沒有額外的經過确認的負樣本。檢測框回歸器在val1val1訓練。
驗證和評估
在将結果送出給評估伺服器之前,我們使用上述訓練資料驗證了資料使用選擇、微調和檢測框回歸對val 2集的影響。所有系統超參數(例如,SVM C超參數,區域縮放中使用的邊界填充,NMS門檻值,檢測框回歸超參數)固定為與PASCAL相同的值。毫無疑問,這些超參數選擇中的一些對ILSVRC來說稍微不太理想,但是這項工作的目标是在沒有廣泛資料集調優的情況下,在ILSVRC上産生初步的R-CNN結果。在選擇val2val2上的最佳配置後,我們送出了兩個結果檔案到ILSVRC2013評估伺服器。第一個沒有檢測框回歸,第二個有檢測框回歸。對于這些送出,我們擴充了SVM和檢測框回歸訓練集,分别使用val+train1kval+train1k和valval。我們在val1+train1kval1+train1k上微調CNN來避免重新運作微調和特征計算。
消融實驗
如下表(表4)所示:(ILSVRC2013上的資料使用選擇、微調和邊界回歸消融研究。)
第一個觀察是,val2val2上的mAP與測試集上的mAP非常接近。這使我們有信心相信,val2val2上的mAP是測試集性能的良好名額。第一個結果是20.9%,是在ILSVRC2012分類資料集上預訓練的CNN(無微調)并允許通路val1val1中少量訓練資料的R-CNN實作(val1val1中一半的類别,每個類有15到55個樣本)。将訓練集擴充到val1+trainNval1+trainN将性能提高到24.1%,N = 500和N = 1000之間基本上沒有差異。使用僅從val1val1的樣本微調CNN可以稍微改善到26.5%,但是由于用于訓練的正樣本較少,可能會出現嚴重的過拟合。将用于微調的資料擴充到val1+train1kval1+train1k,相當于每個類增加了100個正樣本用于訓練,有助于将mAP顯著提高至29.7%。檢測框回歸将結果提高到31.0%,這與PASCAL中所觀察到的收益相比較小。
與OverFeat的關系
R-CNN和OverFeat之間有一個有趣的關系:OverFeat可以看作(大緻上)是R-CNN的一個特例。如果用一個多尺度的正方形區域的金字塔取代選擇性搜尋區域提案,并将每個類别的檢測框回歸器改變為一個單一的檢測框回歸函數,則兩個系統将是非常相似的(訓練上有一些潛在的顯著差異:CNN微調、使用SVM等)。值得注意的是,OverFeat比R-CNN具有顯着的速度優勢:根據18引用的圖中顯示每張圖像2秒,速度約為RCNN的9倍。這種速度來自于OverFeat的滑動視窗(即區域提案)在圖像級别沒有縮放的事實,是以可以在重疊視窗之間輕松共享計算。通過在任意大小的輸入上以卷積方式運作整個網絡來實作共享。加快R-CNN的速度應該應該有很多可行的辦法,未來的工作中将會考慮。
語義分割
區域分類是語義分割的基礎,這使我們可以輕松地将R-CNN應用于PASCAL VOC分割挑戰。為了便于與目前領先的語義分割系統(稱為“二階池化”的O2PO2P)32的直接比較,我們在其開源架構内修改。O2PO2P使用CPMC為每個圖像生成150個區域提案,然後使用支援向量回歸(SVR)來預測對于每個類别的每個區域的品質。他們的方法的高性能是由于CPMC區域的高品質和強大的多種特征類型(SIFT和LBP的豐富變體)的二階池化。我們還注意到,Farabet等39最近使用CNN作為多尺度像素級分類器在幾個密集場景标記資料集(不包括PAS-CAL)上取得了良好的結果。
我們遵循40 32并擴充PASCAL分割訓練集,以包含Hariharan等提供的額外注釋41。在VOC 2011驗證集上,交叉驗證我們的設計決策和超參數。最終測試結果僅送出一次。
用于分割的CNN特征。我們評估了在CPMC區域上計算特征的三個政策,所有這些政策都是将區域縮放為227 x 227。第一個政策(full)忽略了該區域的形狀,并直接在縮放後的區域上計算CNN特征,就像我們縮放區域提案那樣。然而,這些特征忽略了區域的非矩形形狀。兩個區域可能具有非常相似的邊界框,同時具有非常小的重疊。是以,第二個政策(fg)僅在區域的前景掩碼上計算CNN特征。我們用圖像均值替換背景,使得背景區域在減去圖像均值後為零。第三個政策(full + fg)簡單地連接配接full和fg特征。我們的實驗驗證了它們的互補性。
VOC 2011結果。如下表(表5)所示:(在VOC 2011驗證集上的平均分割精度。第一列是O2PO2P的結果,2-7列是我們在ILSVRC 2012上預訓練的CNN的結果)
每個類别的完整結果參見附錄E。在每種特征計算政策中,fc6fc6總是超過fc7fc7,以下讨論是指fc6fc6的特征。fg政策稍微優于full,表明掩碼區域的形狀提供了更強的信号,與我們的直覺相比對。然而,full + fg的平均準确度達到47.9%,比我們的fg最佳結果高4.2%(也略勝于O2PO2P),表明full特征提供大量的資訊,即使給定fg特征。值得注意的是,在full + 特征上使用一個CPU核心訓練20個SVR需要花費一個小時,相比之下,在O2PO2P特征上訓練需要10個多小時。
如下表(表6)所示:(在VOC 2011 測試集上的分割精度。我們與兩個強大的基線做對比:“Regions and Parts”(R&P)40和O2PO2P32。沒有微調。我們的CNN實作了優異的分割性能,超過了R&P,與O2PO2P差不多)
我們提供了VOC 2011測試集的結果,将我們的最佳表現方法fc6fc6(full + fg)與兩個強大的基線進行了比較。我們的方法在21個類别中的11個中達到了最高的分割精度,最高的分割精度為47.9%,跨類别平均(但可能與任何合理的誤差範圍内的O2PO2P結果有關)。微調可能會實作更好的性能。
結論
近年來,物體檢測性能停滞不前。性能最好的系統是複雜的組合,将多個低級圖像特征與來自物體檢測器和場景分類器的進階語境相結合。本文提出了一種簡單且可擴充的對象檢測算法,相對于PASCAL VOC 2012上的前最佳結果,相對改進了30%。
我們通過兩個關鍵的改進實作了這一效果。第一個是将大容量卷積神經網絡應用于自下而上的區域提案,以便定位和分割對象。第二個是在有标記的訓練資料很少的情況下訓練大型CNN的方法。我們發現,通過使用大量的圖像分類資料對輔助任務進行有監督的預訓練,然後對資料稀缺的目标檢測任務進行微調,是非常有效的。我們相信,“監督的預訓練/領域特定的微調”的方法對于各種資料缺乏的視覺問題都将是非常有效的。
我們通過使用計算機視覺中的經典工具與深度學習(自下而上的區域提案和卷積神經網絡)的組合達到了很好的效果。而不是僅僅依靠純粹的科學探究。
緻謝:該研究部分由DARPA Mind的Eye與MSEE項目支援,NSF授予了IIS-0905647,IIS-1134072和IIS-1212798,以及豐田支援的MURI N000014-10-1-0933。本研究中使用的GPU由NVIDIA公司慷慨捐贈。
附錄
A.目标區域提案縮放
本文中使用的卷積神經網絡需要227×227227×227像素的固定大小輸入。為了檢測,我們認為目标提案是任意矩形的圖像。我們評估了将目标提案轉換為有效的CNN輸入的兩種方法。
如下圖(圖7)所示:
第一個方法将目标提案擴充為正方形并縮放到所需大小,如圖7(B)所示。這種方法還有一種變體,僅擴充為方框,擴充部分不填充圖像内容,如圖7(C)所示。第二種方法是将目标提案不保留橫縱比的情況下縮放到所需大小,如圖7(D)所示。
對于這些轉換中的每一個,我們還考慮在原始目标提案四周包括附加圖像内容。内容填充的量(pp)被定義為在縮放後圖像中,原始目标提案周圍的邊界大小。圖7顯示了每個示例的頂行中p=0p=0像素,底行中p=16p=16像素。在所有方法中,如果矩形框超出圖像邊緣,超出的部分将被填充為圖像均值(然後在将圖像輸入到CNN之前減去)。一組實驗表明,采用上下文填充(p=16p=16像素)的縮放可以明顯提高mAP(提高3-5個點)。顯然還有更多其它可行的方案,包括使用複制而不是平均填充。對這些方案的詳盡評估将作為未來的工作。
B.正負樣本和Softmax
有兩個設計選擇值得進一步讨論。第一個是:為什麼在微調CNN和訓練目标檢測SVM時定義的正負樣本不同?首先簡要回顧下正負樣本的定義,對于微調,我們将每個目标提案映射到它具有最大IoU重疊(如果有的話)的檢測框真值上,如果其IoU至少為0.5,并将其标記為對應類别的正樣本。剩下的提案都标記為“背景”(即所有類的負樣本)。對于訓練SVM,相比之下,我們隻采用檢測框真值作為各自類别的正樣本。與某一類别所有的正樣本的IoU都小于0.3的目标提案将被标記為該類别的負樣本。其它(IoU超過0.3,但不是檢測框真值)的提案被忽略。
從時序上講,我們得出這些定義是因為我們一開始通過由ImageNet預先訓練的CNN計算出的特征訓練SVM,是以微調在這個時間點不是一個需要考慮因素。在這種情況下,我們發現,在我們評估的一組設定(包括我們現在用于微調的設定)中,我們目前使用的訓練SVM的設定是最佳的。當我們開始使用微調時,我們最初使用與我們用于SVM訓練的正負樣本的定義相同的定義。然而,我們發現結果比使用我們目前定義的正負樣本獲得的結果差得多。
我們的假設是,如何定義正負樣本的差異對訓練結果影響不大,結果的差異主要是由微調資料有限這一事實引起的。我們目前的方案引入了許多“抖動”的樣本(這些提案與檢測框真值的重疊在0.5和1之間,但并不是檢測框真值),這将正樣本的數量增加了大約30倍。我們推測,需要使用如此大量的樣本以避免在微調網絡時的過拟合。然而,我們還注意到,使用這些抖動的例子可能不是最佳的,因為網絡沒有被微調以進行精确的定位。
這導緻了第二個問題:為什麼微調之後,訓練SVM呢?簡單地将最後一層微調網絡(21路Softmax回歸分類器)作為對象檢測器将變得更加簡潔。我們嘗試了這一點,發現VOC 2007的表現從54.2%下降到了50.9%的mAP。這種性能下降可能來自幾個因素的組合,包括微調中使用的正樣本的定義不強調精确定位,并且softmax分類器是在随機抽樣的負樣本上訓練的,而不是用于訓練SVM的“更嚴格的負樣本”子集。
這個結果表明,微調之後可以獲得接近SVM水準的性能,而無需訓練SVM。我們推測,通過一些額外的調整來微調以達到更接近的水準。如果是這樣,這樣可以簡化和加速R-CNN訓練,而不會在檢測性能方面有任何損失。
C.檢測框回歸
我們使用一個簡單的檢測框回歸來提高定位性能。在使用類特定檢測SVM對每個選擇性搜尋提案進行評分之後,我們使用類别特定的邊界回歸器預測新的檢測框。這與在可變部件模型中使用的檢測框回歸相似19。這兩種方法之間的主要差別在于,我們使用CNN計算的特征回歸,而不是使用在推測的DPM部件位置上計算的幾何特征。
我們的訓練算法的輸入是一組NN個訓練對(Pi,Gi)i=1,…,N(Pi,Gi)i=1,…,N,其中Pi=(Pix,Piy,Piw,Pih)Pi=(Pxi,Pyi,Pwi,Phi)指定提案PiPi的邊界框中心的像素坐标以及寬度和高度(以像素為機關)。注意,除非需要,下文中我們不再寫出上标ii。每個檢測框真值GG以相同的方式指定:G=(Gx,Gy,Gw,Gh)G=(Gx,Gy,Gw,Gh)。我們的目标是學習将提案框PP映射到檢測框真值G的轉換。
我們使用四個函數dx(P)dx(P),d(yP)d(yP),d(Pw)d(Pw)和dh(P)dh(P)參數化這個轉換。前兩個指定PP的邊界框的中心的比例不變的平移,後兩個指定PP的邊界框的寬度和高度的對數空間轉換。在學習了這些函數後,我們可以通過應用轉換将輸入提案P轉換成預測的檢測框真值GˆG^。Gˆx=Pwdx(P)+Px(1)(1)G^x=Pwdx(P)+Px
Gˆy=Phdy(P)+Py(2)(2)G^y=Phdy(P)+Py
Gˆw=Pwexp(dw(P))(3)(3)G^w=Pwexp(dw(P))
Gˆh=Phexp(dh(P))(4)(4)G^h=Phexp(dh(P))
每個函數d⋆(P)d⋆(P)(⋆⋆表示x,y,w,hx,y,w,h中的一個)都模組化為提案PP的pool5pool5特征(記為ϕ5(P)ϕ5(P),對圖像資料的依賴隐含的假定)的線性函數。即d⋆(P)=wT⋆ϕ5(P)d⋆(P)=w⋆Tϕ5(P),其中w⋆w⋆表示模型和訓練參數的一個向量,通過優化正則化最小二乘法的目标(脊回歸)來學習w⋆w⋆。w⋆=argminwˆ⋆∑Ni(ti⋆−wˆT⋆ϕ5(Pi))2+λ‖‖wˆ⋆‖‖2(5)(5)w⋆=argminw^⋆∑iN(t⋆i−w^⋆Tϕ5(Pi))2+λ‖w^⋆‖2
訓練對(P,G)(P,G)的回歸目标t⋆t⋆定義為:tx=(Gx−Px)/Pw(6)(6)tx=(Gx−Px)/Pw
ty=(Gy−Py)/Ph(7)(7)ty=(Gy−Py)/Ph
tw=log(Gw/Pw)(8)(8)tw=log(Gw/Pw)
th=log(Gh/Ph)(9)(9)th=log(Gh/Ph)
作為标準正則化最小二乘問題,可以有效的找到封閉解。
我們在實作邊界回歸的過程中發現了兩個微妙的問題。第一是正則化是重要的:我們基于驗證集,設定λ=1000λ=1000。第二個問題是,選擇使用哪些訓練對(P,G)(P,G)時必須小心。直覺地說,如果PP遠離所有的檢測框真值,那麼将PP轉換為檢測框真值G的任務就沒有意義。使用像PP這樣的例子會導緻一個無望的學習問題。是以,隻有當提案PP至少在一個檢測框真值附近時,我們才執行學習任務。“附近”即,将PP配置設定給具有最大IoU的檢測框真值G(在重疊多于一個的情況下),并且僅當重疊大于門檻值(基于驗證集,我們使用的門檻值為0.6)。所有未配置設定的提案都被丢棄。我們為每個目标類别執行一次,以便學習一組特定于類别的檢測框回歸器。
在測試時,我們對每個提案進行評分,并預測其新的檢測框一次。原則上,我們可以疊代這個過程(即重新評估新預測的檢測框,然後從它預測一個新的檢測框,等等)。但是,我們發現疊代不會改進結果。
D.額外的特征可視化
如下圖(圖12)所示:(我們展示在VOC 2007測試的大約1000萬個區域中的激活最大的24個區域提案,分别最強烈地激活了20個單元。每一組以單元在6 x 6 x 256維的pool5pool5特征圖中的(y,x,channel)(y,x,channel)位置标記。每個圖像區域都用白色疊加繪制了單元感受野。激活值(我們通過除以通道中的所有機關的最大激活值進行歸一化)被顯示在感受野的左上角。可通過放大來看清楚。)
圖中顯示了額外20個pool5pool5單元的可視化。對于每個單元,我們展示在VOC 2007測試的大約1000萬個區域中的激活最大的24個區域提案。
每一組以單元在6 x 6 x 256維的pool5pool5特征圖中的(y,x,channel)(y,x,channel)位置标記。在每個通道内,CNN使用相同的函數計算不同的輸入,(y,x)(y,x)位置僅改變感受野。
E.每個類别的分割結果
如下表(表7)所示:(VOC 2011驗證集上每一類的分割準确率)
除了O2PO2P32方法之外,我們還給出了我們的六種分割方法在VOC 2011 val上每個類别的分割精度。包括背景類,這些結果顯示了在20個PASCAL類中哪種方法最強。
F.跨資料集備援分析
對輔助資料集進行訓練時,一個問題是它與測試集之間可能存在備援。由于目标檢測和整圖像分類的任務大不相同,使得這種交叉備援沒那麼令人擔憂,我們仍然進行了調查,以量化PASCAL測試集被包含在ILSVRC 2012訓練和驗證集中的程度。對于有興趣使用ILSVRC 2012作為PASCAL圖像分類任務的訓練資料的研究人員,我們的研究結果可能是有用的。
我們對重複(和近似重複)的圖像進行了兩次檢查。第一個測試是基于Flickr圖像ID的完全比對,它們包含在VOC 2007測試集的标注中(在後續的PASCAL測試集中這些ID有意保密)。所有PASCAL圖像,以及大約一半的ILSVRC,都是從flickr.com收集的。在4952中有31個比對(0.63%)。
第二個檢查使用GIST42描述符比對,如43所示,在大型(> 100萬)圖像集合中的近似重複圖像檢測中具有出色的性能。按照43所述,我們計算了所有ILSVRC 2012 trainval和PASCAL 2007測試集的圖像的縮放到32×3232×32像素版本的GIST描述符。
GIST描述符的歐幾裡德距離最近鄰比對找出了38個近似重複的圖像(包括由flickr ID比對發現的所有31個)。這些比對在JPEG壓縮級别和分辨率方面略有不同,裁剪程度也較小。這些研究結果表明,備援很小,小于1%。對于VOC 2012,因為flickr ID不可用,我們僅使用GIST比對方法。基于GIST比對,VOC 2012測試圖像中有1.5%與ILSVRC 2012比對。 VOC 2012略高可能是由于兩個資料集在時間上比VOC 2007和ILSVRC 2012更接近。
G. 檔案更新日志
本文檔跟蹤R-CNN的進展情況。為了幫助讀者了解它随時間的變化,這裡是一個描述修訂版本的簡短的更新日志。
v1 初始版本。
v2 CVPR 2014 camera-ready版本。包括檢測性能的實質性改進(1)從高學習率開始微調(0.001而不是0.0001),(2)在準備CNN輸入時使用上下文填充,(3)檢測框回歸來修正定位錯誤。
v3 ILSVRC2013檢測資料集的結果,與OverFeat比較的結果被添加到了文中。
v4 附錄B中softmax vs. SVM的結果包含一個已經修複的錯誤。我們感謝Sergio Guadarrama幫助确定這個問題。
v5 添加了使用Simonyan和Zisserman36的新的16層網絡架構的結果。
參考文獻:
- D. Lowe. Distinctive image features from scale-invariant keypoints. IJCV, 2004. ↩
- N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005. ↩
- M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes (VOC) Challenge. IJCV, 2010. ↩ ↩2
- K. Fukushima. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological cybernetics, 36(4):193–202, 1980. ↩
- D. E. Rumelhart, G. E. Hinton, and R. J. Williams. Learning internal representations by error propagation. Parallel Distributed Processing, 1:318–362, 1986. ↩
- Y. LeCun, B. Boser, J. Denker, D. Henderson, R. Howard, W. Hubbard, and L. Jackel. Backpropagation applied to handwritten zip code recognition. Neural Comp., 1989. ↩
- Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proc. of the IEEE, 1998. ↩
- A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
- J. Deng, A. Berg, S. Satheesh, H. Su, A. Khosla, and L. FeiFei. ImageNet Large Scale Visual Recognition Competition 2012 (ILSVRC2012). http://www.image-net.org/challenges/LSVRC/2012/. ↩ ↩2
- J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. FeiFei. ImageNet: A large-scale hierarchical image database. In CVPR, 2009. ↩
- C. Szegedy, A. Toshev, and D. Erhan. Deep neural networks for object detection. In NIPS, 2013. ↩
- H. A. Rowley, S. Baluja, and T. Kanade. Neural network-based face detection. TPAMI, 1998. ↩
- R. Vaillant, C. Monrocq, and Y. LeCun. Original approach for the localisation of objects in images. IEE Proc on Vision, Image, and Signal Processing, 1994. ↩
- P. Sermanet, K. Kavukcuoglu, S. Chintala, and Y. LeCun. Pedestrian detection with unsupervised multi-stage feature learning. In CVPR, 2013. ↩ ↩2
- C. Gu, J. J. Lim, P. Arbeláez, and J. Malik. Recognition using regions. In CVPR, 2009. ↩
- J. Uijlings, K. van de Sande, T. Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
- J. Carreira and C. Sminchisescu. CPMC: Automatic object segmentation using constrained parametric min-cuts. TPAMI, 2012. ↩ ↩2
- P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks. In ICLR, 2014. ↩ ↩2 ↩3 ↩4
- P. Felzenszwalb, R. Girshick, D. McAllester, and D. Ramanan. Object detection with discriminatively trained part based models. TPAMI, 2010. ↩ ↩2 ↩3 ↩4
- R. Girshick, P. Felzenszwalb, and D. McAllester. Discriminatively trained deformable part models, release 5. http://www.cs.berkeley.edu/~rbg/latent-v5/. ↩ ↩2 ↩3
- J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition. In ICML, 2014. ↩
- D. Hoiem, Y. Chodpathumwan, and Q. Dai. Diagnosing error in object detectors. In ECCV. 2012. ↩ ↩2 ↩3 ↩4 ↩5
- B. Alexe, T. Deselaers, and V. Ferrari. Measuring the objectness of image windows. TPAMI, 2012. ↩
- I. Endres and D. Hoiem. Category independent object proposals. In ECCV, 2010. ↩
- P. Arbeláez, J. Pont-Tuset, J. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping. In CVPR, 2014. ↩
- D. Cireşan, A. Giusti, L. Gambardella, and J. Schmidhuber. Mitosis detection in breast cancer histology images with deep neural networks. In MICCAI, 2013. ↩
- X. Wang, M. Yang, S. Zhu, and Y. Lin. Regionlets for generic object detection. In ICCV, 2013. ↩
- Y. Jia. Caffe: An open source convolutional architecture for fast feature embedding. http://caffe.berkeleyvision.org/, 2013. ↩ ↩2 ↩3
- T. Dean, M. A. Ruzon, M. Segal, J. Shlens, S. Vijayanarasimhan, and J. Yagnik. Fast, accurate detection of 100,000 object classes on a single machine. In CVPR, 2013. ↩
- K. Sung and T. Poggio. Example-based learning for view-based human face detection. Technical Report A.I. Memo No. 1521, Massachussets Institute of Technology, 1994. ↩
- S. Fidler, R. Mottaghi, A. Yuille, and R. Urtasun. Bottom-up segmentation for top-down detection. In CVPR, 2013. ↩
- J. Carreira, R. Caseiro, J. Batista, and C. Sminchisescu. Semantic segmentation with second-order pooling. In ECCV, 2012. ↩ ↩2 ↩3 ↩4 ↩5
- M. Zeiler, G. Taylor, and R. Fergus. Adaptive deconvolutional networks for mid and high level feature learning. In CVPR, 2011. ↩
- J. J. Lim, C. L. Zitnick, and P. Dollár. Sketch tokens: A learned mid-level representation for contour and object detection. In CVPR, 2013. ↩
- X. Ren and D. Ramanan. Histograms of sparse codes for object detection. In CVPR, 2013. ↩
- K. Simonyan and A. Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv preprint, arXiv:1409.1556, 2014. ↩ ↩2 ↩3
- J. Deng, O. Russakovsky, J. Krause, M. Bernstein, A. C. Berg, and L. Fei-Fei. Scalable multi-label annotation. In CHI, 2014. ↩
- H. Su, J. Deng, and L. Fei-Fei. Crowdsourcing annotations for visual object detection. In AAAI Technical Report, 4th Human Computation Workshop, 2012. ↩
- C. Farabet, C. Couprie, L. Najman, and Y. LeCun. Learning hierarchical features for scene labeling. TPAMI, 2013. ↩
- P. Arbeláez, B. Hariharan, C. Gu, S. Gupta, L. Bourdev, and J. Malik. Semantic segmentation using regions and parts. In CVPR, 2012. ↩ ↩2
- B. Hariharan, P. Arbeláez, L. Bourdev, S. Maji, and J. Malik. Semantic contours from inverse detectors. In ICCV, 2011. ↩
- A. Oliva and A. Torralba. Modeling the shape of the scene: A holistic representation of the spatial envelope. IJCV, 2001. ↩
- M. Douze, H. Jégou, H. Sandhawalia, L. Amsaleg, and C. Schmid. Evaluation of gist descriptors for web-scale image search. In Proc. of the ACM International Conference on Image and Video Retrieval, 2009. ↩ ↩2
- original translation link