http://blog.csdn.net/wangsidadehao/article/details/54237567
題目:豐富的特征層次結構,用于精確的對象檢測和語義分割(2014)
摘要
在標準的PASCAL VOC 數據集上測量的對象檢測性能在過去幾年已經穩定。最佳性能的方法通常是一個復雜的混合系統,它通常將多個低級圖像特征與高級上下文組合起來。在本文中,我們提出了一個簡單和可擴展的檢測算法,相對于以前在VOC2012上的最佳結果(實現mAP 53.3%),在平均精度上(mAP)提高了30%以上。我們的方法結合了兩個關鍵的要素:(1) 將高容量的卷積神經網絡(CNN)應用到自下而上的候選區域方法中,來定位和分割對象;(2)當標記的訓練數據稀缺時,對于一個輔助任務來說,使用一個有監督的預訓練好的模型,加上在特定域上進行微調后,會產生一個顯著的性能提高。因為我們將候選區域(region proposal)和卷積神經網絡(CNN)結合在一起,我們稱我們的方法叫R-CNN:帶有CNN特征的區域(Region with CNN features),我們也將R-CNN與OverFeat進行了比較,OverFeat是一個最近提出的基于類似CNN架構的滑動窗口檢測器。我們發現R-CNN在200類的ILSVRC2013檢測數據集上的結果比OverFeat好很多。完整系統的源代碼可以從下面獲得:http://www.cs.berkeley.edu/?rbg/rcnn.
1. 引言
特征很重要。在過去10年的時間里關于各種視覺識別任務的進展大量基于SIFT和HOG的使用。但是如果我們觀察在經典的視覺識別任務(PASCAL VOC目標檢測)上的性能表現,通常認為在2010-2012年期間進展緩慢,在這期間只是通過建造一些集成系統和在一些成功方法上做一些小改動,收效甚微。
SIFT和HOG是逐塊定向直方圖,它是一種表示方法,我們大致可以與V1中的復雜細胞,靈長類動物視覺途徑中的第一皮質區域相關聯。但我們也知道識別發生在幾個階段的下游,這表明可能有分層的,多階段的過程用于計算特征,這些特征甚至具有更多的視覺識別信息。
Fukushima的“neocognitron”是一種生物學啟發的用于模式識別分層和轉移不變的模型,是早期的對于這樣一個過程的嘗試。然而”neocognitron“缺少一個監督訓練算法。Rumelhart et al. [33], LeCun et al. [26]的研究表明通過反向傳播的隨機梯度下降方法對于訓練CNNs是非常有效的,它也是一種”neocognitron“模型的擴展。
CNNs在20世紀90年代被大量使用,但隨著SVM的興起,CNNs又不流行了。在2012年,Krizhevsky等人通過在ILSVRC上顯示出了更高的圖像分類精度,使得人們重新燃起了對CNN的興趣。他們的成功源于在120萬個標記圖像上訓練的大的CNN,并結合了一些在LeCun的CNN中使用的一些小技巧(例如,max(x,0)修正的非線性單元和”droupout”正則化)。在ILSVRC 2012研討會期間,ImageNet結果的意義被激烈的討論。中心問題可以歸納如下:在ImageNet上的CNN分類結果在多大程度上可以被推廣到PASCAL VOC挑戰的對象檢測結果上?
我們通過彌合圖像分類和對象檢測之間的差距來回答這個問題。本文首次表明,與基于更簡單的HOG類似的特征系統相比,CNN可以在PASCAL VOC上得到更加顯著的目標檢測表現。
與圖像分類不同,檢測需要在圖像中定位(可能有許多)目標。一種方法是將定位看作回歸問題。然而,Szegedy等人的工作,與我們自己的工作同時表明這種策略在實踐中可能不好(在VOC2007中,他們提交的mAP是30.5%,而我們的方法實現的是58.5%)。一種替代方案是構建一個滑動窗口檢測器。CNN已經以這種方式使用了至少二十年,通常是在限定的對象類別上,例如人臉和行人。為了保持高的空間分辨率,這些CNN通常僅具有兩個卷積和池化層。我們也考慮采用一個滑動窗口的方法。然而,在我們的網絡中具有5個卷積層的單元在輸入圖像上具有非常大的接收域(195195像素)和步幅(3232像素)。這使得在滑動窗口范例內的精確定位成為一個公開的技術挑戰。
相反,我們通過在”使用區域識別“范式中進行計算來解決CNN定位問題,其已經成功應用于目標檢測和語義分割。在測試時,我們的方法為輸入圖像生成大約2000個類別無關的候選區域,使用CNN從每個候選區提取固定長度的特征向量,然后使用特定類別的線性SVM對每個進行區域進行分類。我們使用一種簡單技術(仿射圖像扭曲-affine image warping)來對每一個候選區域計算一個固定大小的CNN的輸入,而不慮彪區域的形狀。圖1給出了我們方法的概述,并突出了我們的一些結果。由于我們的系統將候選區域和CNN結合在一起,我們將方法縮寫成R-CNN:帶有CNN特征的區域(Region with CNN features)。
圖1:目標檢測系統概述我們的系統(1)接收一個輸入圖像,(2)抽取大約2000個從下到上的候選區域,(3)對于每一個大的候選區域使用一個大的CNN計算特征,然后(4)使用特定類的線性SVM對每一個區域進行分類。R-CNN在PASCAL VOC 2010 上實現了一個平均精度(mAP)53.7%。為了比較,[39]使用相同的候選區域方法實現了35.1%的mAP,但是使用了空間金字塔和視覺詞袋方法。
在本文的這個更新版本中,我們通過在200類的ILSVRC2013檢測數據集上運行R-CNN,提供了一種對R-CNN和最近提出的OverFeat檢測系統的一種直接比較。OverFeat使用滑動窗口CNN進行檢測,直到現在也是ILSVRC2013檢測中性能最佳的方法。我們顯示R-CNN顯著優于OverFeat,R-CNN的mAP為31.4%,而OverFeat的mAP是24.3%。
檢測中面臨的第二個挑戰是標記的數據很少,并且當前可用的量不足以訓練大的CNN。該問題的常規解決方案是使用無監督進行預訓練,隨后是進行有監督的微調。本文的第二個主要貢獻是顯示在大型輔助數據集(ILSVRC)上進行有監督的預訓練,然后是在小數據集(PASCAL)上進行特定領域的微調,這種方法在當數據不足時是學習大容量CNN的有效范例。在我們的實驗中,用于檢測任務的微調將mAP性能提高了8個百分點。微調之后,我們的系統在VOC2010上實現了mAP到54%,而高度調整后的,基于HOG的DPM的mAP為33%。我們也給讀者指出了由 Donahue等人做的同時期的工作,他表明Krizhevsky的CNN可以當成一個黑盒使用(不用微調)來進行特征提取,在幾個識別任務中產生優秀的表現,包括場景分類,細粒度子分類,和域適配(參考)。
我們的系統也很高效。唯一的特定類的計算也是合理的小的矩陣向量積和貪婪的非極大值抑制。該計算性質來自于所有類別中共享的性質,并且比先前使用的區域特征低兩個數量集(參見[39])。
理解我們方法的失敗模式也是改善它的關鍵,所以我們報告了從Hoiem等人[23]的檢測分析工具得到的結果。作為這種分析的直接結果,我們證明一個簡單的邊界框回歸方法顯著地減少了誤定位,這是主要的錯誤模式。
在講述技術細節之前,我們注意到,因為R-CNN在區域上操作,所以很自然地將其擴展到了語義分割任務上。通過微小的修改,我們還在PASCAL VOC分割任務上實現了競爭性的結果,在VOC2011測試集上的平均分割精度47.9%。
2. 目標檢測
我們的目標檢測系統包括三個模塊。第一個生成類無關的候選區域。這些候選區域定義了可用于我們的檢測器的候選檢測地集合。第二個模塊是一個大的卷積神經網絡,它從每個區域中抽取固定長度的特征向量。第三個模塊是一些特定類別的線性SVM。在本節中,我們介紹每個模塊的設計決策,描述其測試時間使用情況,詳細了解其參數的學習方法,并在PASCAL VOC 2010-12和ILSVRC-2013上顯示了檢測結果。
2.1. 模塊設計
候選區域。各種最近的論文提供了用于生成類無關候選區域的方法。例子包括:objectness[1],選擇性搜索[39],類獨立的候選對象[14],CPMC,多尺度組合分組,和Ciresan等人通過將CNN應用于規則間隔的方形剪裁來檢測有絲分裂細胞,這是候選區域的一個特殊情況。R-CNN對于特定的候選區域方法是不可知的,我們使用選擇性搜索來實現與先前的檢測工作的控制比較。
特征提取。我們使用Krizhevsky等人描述的CNN的Caffe實現從每個候選區域中提取4096維特征向量。通過將減去平均值的227227的RGB圖像通過5個卷積層和兩個全連接層的前身傳播來計算特征。我們引導讀者參考[24,25]來獲得更多的網絡架構的細節。
為了計算候選區域的特征,我們必須首先將該區域中的圖像轉換成與CNN兼容的形式(其體系結構需要固定的227227像素尺寸的輸入)。在我們任意形狀區域的許多可能的變換中,我們選擇最簡單的。忽略了候選區域的大小或寬高比,我們會將其周圍的緊密邊界框中的所有像素扭曲到所需要的大小。在變形之前,我們擴大緊密邊界框,使得在變形大小處,在原始框周圍正好有p個像素的扭曲圖像上下文(我們使用p=16)。圖2展示了扭曲訓練區域的隨機采樣。扭曲的替代方法會在附錄A中討論。
2.2. 測試時間檢測
在測試時,我們在測試圖像上運行選擇性搜索抽取大約2000個候選區域(在所有的實驗中,我們都使用選擇性搜索的“快速模型”)。我們扭曲每一個候選圖像,并且將它前向傳播通過CNN為了去計算特征。然后,對于每個類,我們使用為該類訓練的SVM對每個提取的特征向量求得分。給定圖像中所有得分區域,我們對每個類獨立地應用貪心的非最大值抑制,如果其具有與大于學習閾值較高得分的選擇區域的IoU重疊,那么它就會拒絕一個區域。
運行時間分析。兩個屬性使用檢測有效。首先,所有類別共享所有CNN參數。第二,當與其它常見方法(例如具有視覺詞袋編碼的空間金字塔)相比時,由CNN計算的特征向量是低維的。例如,在UVA檢測系統中使用的特征比我們的特征大兩個數量級(360K對4K維)。
這種共享的結果就是計算候選區域和特征所花費的時間(在一個GPU上是13s/圖像,在CPU上是53s/圖像)在所有類上平攤。唯一的特定類的計算是特征和SVM權重和非最大值抑制之間的點積。在實際中,圖像的所有點積被分批成單個矩陣-矩陣的乘積。特征矩陣通常為20004096,SVM權重矩陣為4096N,其中N是類的數量。這個分析表明,R-CNN可以擴展到數千個對象類,而不用訴諸于近似技術,如哈希。即使有100K個類,在現代的多核CPU上產生的矩陣乘法也只需要10s。這種效率不僅僅是使用候選區域和共享特征的結果。由于其高維特征,UVA系統將減慢兩個數量級,需要134GB的存儲器僅僅存儲100k的線性預測器,相比之下,我們的低維特征只有1.5GB。
將R-CNN與Dean等人近來使用的DPM和哈希的可擴展的檢測方法的工作進行對比也是非常有趣的。他們在VOC 2007上報告了大約16%的mAP,當引入了10k個牽引類時, 每個圖像的運行時間為5分鐘。用我們的方法,10k個牽引類在一個CPU上大約運行1分鐘,因為沒有進行近似,mAP將保持在59%(第3.2節)。
2.3. 訓練
監督預訓練。我們有區別的在僅使用圖像級注釋的大型輔助數據集(ILSVRC212分類)上預訓練CNN(邊界框標簽不可用于該數據)。預訓練是用開源的Caffe CNN庫來執行的。簡而言之,我們的CNN幾乎匹配了Krizhevsky等人的性能,獲得了top-1錯誤率在ILSVRC2012分類驗證集上2.2個百分點的增加。這種差異是由于訓練過程的簡化。
特征領域的微調。為了使我們的CNN適應新任務(檢測)和新領域(扭曲的候選窗口),我們僅使用扭曲的候選區域繼續CNN參數的SGD的訓練。除了用隨機初始化的(N+1)類分類層(其中N是對象類的數目,加上背景的1)來替換CNN的ImageNet特定的1000類分類層之外,CNN架構沒有改變。對于VOC來說,N = 20,并且對于ILSVRC2013來說,N = 200。我們將所有候選區域與真實框重疊大于等于0.5的作為該框類的正例,其余的作為負例。我們以0.01的學習率(初始預訓練率的1/10)開始SGD,這允許微調進行而不破壞初始化。在每一次的SGD迭代中,我們均勻地采樣32個正窗口(在所有類上),和96個背景窗口以構造大小為128的小批量。我們將采樣偏向正窗口,因為它們與背景相比非常少。
對象類別分類器。考慮訓練一個二分類器去檢測小汽車。很清楚,緊緊包圍一個汽車的圖像應該是一個正例。同樣,明顯的,與汽車無關的背景區域應該是一個負例。不清楚的是,怎樣標注一個部分覆蓋一輛汽車的區域。我們使用IoU重疊閾來重新解決這個問題,在這之下的區域就定義為負例。通過在驗證集上的{0,0.1,…,0.5}的網絡搜索來選擇一個重疊閾0.3。我們發現小心地選擇這個閾值是非常重要的。將它設置為0.5,正如[39]中一樣,能夠將mAP減少5個百分點。相似地,將它設置成0的話,能夠將mAP減少4個百分點。正例僅僅被定義為每個類的真實邊界框。一旦特征被提取出來,訓練標簽被應用上,我們就對每一個類優化一個線性SVM。由于訓練數據太大,不適合內存,我們采用標準的hard negative mining方法。Hard negative mining快速收斂,并且在實際中,所有的圖像僅通過一次,mAP就停止增加了。
在附錄B中,我們討論了為什么在微調和SVM訓練中正例和負例的定義不同了。我們還討論了訓練檢測SVM的權衡,而不是簡單地使用來自微調CNN的最終SoftMax層的輸出。
2.4. 在PASCAL VOC 2010-12上的結果
遵循PASCAL VOC 最佳實踐[15],我們驗證了VOC 2007數據集(第3.2節)中所有的設計決策和超參數。對于在VOC 2010-12數據集上的最后的結果,我們微調了VOC 2012訓練上的CNN并且在VOC 2012 訓練驗證集上優化了我們的檢測SVM。我們對于兩個主要算法變量(有和沒有邊界回歸)中的每一個都只向評估服務器提交測試結果一次。
表1展示了在VOC 2010上的完整結果。我們將我們的方法與4個強基線進行了對比,包括SegDPM,其將DPM檢測器與語義分割系統的輸出結合在一起,并且使用了額外的檢測器上下文和圖像分類器重新評分。最杰出的比較是來自Uijlings等人的UVA系統,因為我們的系統也使用了相同的候選區域算法。為了對區域進行分類,他們的方法構建了一個4個級別的空間金字塔,并且用密集采樣的SIFT,擴展OpponentSIFT,和RGBSIFT描述符來填充他們,每個矢量都用4000個字的編碼本來進行量化。使用一個直方圖相交核的SVM進行分類。與它們的多特征,非線性核SVM方法相比,我們在mAP上實現了一個大的改進,從35.1%到 53.7% mAP,同時也快得多(第2.2節)。我們的方法在VOC 2011/12測試中達到了相似的性能(53.3%的mAP)。
表1:在2010測試集上檢測平均精度(%),R-CNN與UVA和Regionlet最直接對比,因為所有的方法都使用選擇性搜索候選區域。邊界框回歸會在C節描述。在提交的時候,SegDPM是在PASCAL VOC排行榜上表現最出色的。DPM和SegDPM使用了一種其它方法沒有使用的上下文重新評估的方法。
2.5. 在ILSVRC2013檢測上的結果
我們在200類ILSVRC2013檢測數據集上運行R-CNN,使用于PASCAL VOC 上相同的系統超參數。我們遵循相同的規則,就是將測試結果提交給ILSVRC2013評估服務器僅僅倆次,一次帶有邊界框回歸,另一次不帶。圖3比較了R-CNN與ILSVRC2013競賽中的條目以及競賽后的OverFeat結果。R-CNN實現了31.4%的mAP,顯著超過了OverFeat的24.3%的次優結果。為了給出對類別分布的一個感覺,呈現了一個盒圖,并且在論文的結尾處的表8里出現了類別AP的表格。大多數的競賽提交(OverFeat, NEC-MU, UvAEuvision, Toronto A, and UIUC- IFP)都使用了卷積神經網絡,指示在CNN如何應用于對象檢測方面存在顯著差異,導致了極大變化的結果。在第4節,我們概述了ILSVRC2013檢測數據集,并提供了在運行R-CNN時我們做出的選擇的詳細信息。
圖3:(左)在ILSVRC2013檢測測試數據集上的mAP。帶的方法都是使用了外部訓練數據(所有情況下都是從ILSVRC分類數據集中的圖像和標簽)。(右)每種方法的200個平均精度值的箱線圖。*未顯示競爭后的OverFeat結果的框圖,因為每類的APs尚不可用(R-CNN的每類AP在表8中,也包含在上傳到arXiv.org的技術報告源中;見R-CNN- ILSVRC2013-APs.txt)。紅線標示中值AP,箱底和箱頂是25和75百分位數。虛線延伸到每種方法的最小和最大的AP值。每個AP被繪制成虛線上的一個綠點(最好用數字縮放)。
3. 可視化,消融,和誤差模式
3.1. 可視化學習的特征
第一層的過濾器可以直接被可視化并且很容易理解。它們捕獲有方向的邊和相對的顏色。理解下面的層次是更具有挑戰性的。Zeiler and Fergus在[42]中提出了一種視覺上有吸引力的反卷積方法。我們提出了一個簡單(和互補的)非參數的方法,直接顯示網絡學習的內容。
這個想法就是在網絡中單獨出一個特定的單元(特征),并且使用它就好像它本身就是一個對象檢測器。也就是說,我們在大量提出的候選區域(大約1千萬)計算單元的activations,將候選區域從高的activation到低的activation進行排序,執行非最大值抑制,然后顯示最高評分區域。我們的方法讓選擇的單元“說出自己”通過精確顯示它所觸發的輸入。我們避免平均,以便看到不同的視覺模式,并且可以獲得由單元計算的不變性的洞察。
我們從第5個池化層觀察單元,其是網絡第5和最后卷積層的最大池化的輸出。第5個池化層的特征映射是<nobr>6?6?255=9216</nobr>維。忽略邊界的影響,每一個第5層的池化單元在原始的227 * 227個像素輸入上都有一個195 * 195像素的感受野。一個中心的<nobr>pool5</nobr>的單元具有幾乎全局的視野,而一個靠近邊緣的單元具有更小的,剪裁的支持。
圖4中的每一行顯示了我們在VOC 2007 trainval上微調的CNN的一個<nobr>pool5</nobr>單元的前16個activation。256個功能獨特的單元中的六個被可視化(附錄D包括更多)。選擇這些單元來顯示網絡學習的代表性樣本。在第二行中,我們看到在狗臉和點陣上觸發的單元。對應于第三行的單元是一個紅色斑點檢測器。還有用于人臉的檢測器和更多抽象的圖案,例如文本和帶有窗口的三角形結構。網絡似乎學習將少量的調整的類特征與形狀,紋理,和材料屬性的分布式表式組合在一起的表示。隨后的全連接層<nobr>fc6</nobr>具有對這些豐富特征的大量組合進行建模的能力。
圖4:6個<nobr>pool5</nobr>單元的靠前的區域。感受野和活性值以白色畫出。某些單元與概念對齊,例如人(第1行)或文本(4)。其他單元捕獲紋理和材料屬性,例如點組(2)和特殊的反射(6)。
3.2. 消融研究
性能逐層,無需微調。為了理解哪一層對于檢的測性能是重要的,我們對CNN的最后三層的每一個都在VOC 2007數據集上分析了結果。<nobr>pool5</nobr>層在3.1節中被簡單地描述。最后兩層總結如下。<nobr>fc6</nobr>對于<nobr>pool5</nobr>是全連接的。為了計算特征,它將4096×9216權重矩陣乘以<nobr>pool5</nobr>特征映射(重新形成一個9216維的向量),然后添加上偏移向量。這個中間的向量是被逐元素half-wave修正的(<nobr>x←max(0,x)</nobr>)。
<nobr>fc7</nobr>是網絡的最后一層。它通過將由<nobr>fc6</nobr>計算的特征乘以4096 × 4096的權重矩陣,并且類似地加上一個偏移向量并且應用half-wave修正來實現的。
我們首先從不在PASCAL上進行微調的CNN上查看結果,即所有的CNN的參數僅在ILSVRC2012上進行預訓練。逐層分析性能(表2第1-3行)提示了<nobr>fc7</nobr>的特征比<nobr>fc6</nobr>的特征更差。這意味著29%,或者大約1680萬個CNN參數可以被去除而不降mAP。更令人驚訝的是,刪除<nobr>fc6</nobr>和<nobr>fc7</nobr>產生相當好的結果,即使計算<nobr>pool5</nobr>特征僅使用了CNN參數的6%。大多數CNN的表示能力來自于其卷積層,而不是來自于大得多的密集連接層。該發現表明在通過僅使用CNN的卷積層計算任意大小的圖像的HOG意義上的密集特征圖中的潛在效用。這種表示將允許在<nobr>pool5</nobr>特征的頂部上使用滑動窗檢測器(包括DPM)進行實驗。
帶有微調的逐層的性能。在VOC2007 trainval上調整了我們的CNN的參數之后,我們現在再來看一下結果。改善是顯著的(表2中的4-6行):微調將mAP提高了8.0個百分點至54.2%。對于<nobr>fc6</nobr>和<nobr>fc7</nobr>,來自微調的提升遠大于<nobr>pool5</nobr>,這表明從ImageNet中學習的pool5的特征是一般性的,并且大部分的改進是從學習特定領域的非線性分類器獲得的。
表2:在VOC 2007測試集上的檢測的平均精度(%)。1-3行展示的是沒有經過微調的R-CNN的性能。4-6行展示了在ILSVRC2012上預訓練過,并且在VOC2007trainval上微調過的CNN的結果。7行包括一個簡單的邊界框回歸(BB)階段,其減少了定位錯誤(C節)。8-10行展示了DPM方法作為一個強基準線。第一個僅使用了HOG,然而接下來的2個使用了不同的特征學習方法來增強或替換HOG。
對比于最近的特征學習方法。最近有相對較少的特征學習方法在PASCAL VOC檢測上進行嘗試。我們看看基于可變形部件模型的兩個最近的方法。作為參考,我們也包括了標準的基于HOG的DPM的結果。
第一種DPM特征學習方法DPM ST[28]用“草圖標記”概率的直方圖來增強HOG特征。直觀來說,一個草圖標記就是穿過圖像塊中心的輪廓的緊密分布。草圖標記概率在每個像素處由隨機森林計算,該森林被訓練成將3535像素塊分類成150個草圖標志或背景中的一個。第二種方法,DPM HSC[31],用稀疏編碼(HSC)的直方圖代替HOG。為了計算HSC,使用100個77像素(灰度)原子的學習字典來解決每個像素處的稀疏碼激活。所得激活以三種方式(全半波和兩半波)來進行修正,空間池化,單元<nobr>l2</nobr>正則化,然后是功率變換(<nobr>x←sign(x)|x|α</nobr>)。
所有的R-CNN變體都大大超過三個DPM基線(表2中的8-10行),包括使用特征學習的兩個。與僅使用HOG特征的最新版的DPM相比,我們的mAP高出了20個百分點:54.2% 對 33.7%-相對改善了61%。HOG草圖標記的結合超過了HOG自己2.5個mAP,而HSC改進超過HOG4個mAP(當內部與其私有DPM基線相比時-都使用非公開的實現的DPM,其比開源版本的性能要差一點)。這些方法各自實現mAP為29.1%和34.3%。
3.3. 網絡結構
這篇文章的大部分結果都使用Krizhevsky等人的網絡結構。然而,我們發現,結構的選擇對于R-CNN檢測性能有一個很大的影響。在表3中我們展示了使用Simonyan and Zisserman最近提出的16層深度網絡的VOC 2007測試的結果。這個網絡是近期ILSVRC 2014分類挑戰中表現最佳的網絡之一。網絡具有由13個3*3卷積核組成的均勻結構,中間分散了5個最大池化層,最后跟著3個全連接層。對于OxfordNet,我們將此網絡稱為“O-Net”,對于TorontoNet的基線稱為“T-Net”。為了在R-CNN中使用O-Net,為了在R-CNN中使用O-Net,我們從Caffe Model Zoo上下載了VGG_ILSVRC_16_layers模型的公開可用的預訓練網絡權重。然后,我們使用與T-Net相同的協議對網絡進行了微調。唯一的不同就是根據需要使用較小的minibatches(24個示例)以適應GPU的內存。表3中的結果顯示具有O-Net的R-CNN基本上優于具有T-Net的R-CNN,將mAP從58.5%增加到66.0%。然而,在計算時間方面存在相當大的缺點,其中O-Net的正向傳播比T-Net長大約7倍。
表3:兩個不同的CNN結構在VOC2007上測試集上目標檢測的平均精度(%)。前兩行是來自于表2,使用了Krizhevsky等人的結構(T-Net)。3,4行使用了最近由Simonyan
and Zisserman(O-Net)提出的16層的結構。
3.4. 檢測錯誤分析
我們應用了Hoiem等人的優秀的檢測分析工具,為了揭示我們方法的錯誤模式,了解微調如何改變他們,以及看看我們的錯誤模式與DPM的比較。分析工具的完整總結超出了本文的范圍,我們鼓勵讀者咨詢[23]了解一些更精細的細節(例如“歸一化AP”)。由于分析最好在相關圖的上下文中才會更受吸引,所以我們在圖5和圖6的標題內給出了討論。
圖5:排名最高的FP類型的分布。每幅圖展示了FP類型的演變分布,因為更多的FP按照分數遞減的順序被考慮。每個FP分類成4種類型中的1種:Loc-poor定位(和正確類別的IoU重疊在0.1和0.5,或重復);Sim-與相似的類別混淆;Oth-與不同對象類別的混淆;BG-在背景上觸發的FP。與DPM相比(參見[23]),我們的錯誤更多的是來自于差的定位,而不是與背景或其他對象類的混淆,表明CNN特征比HOG更有區別性。差的定位可能是由于我們使用自下而上的候選區域和從預訓練CNN進行整體圖像分類學習的位置不變性。第三列顯示了我們的簡單的邊界框回歸方法如何修復很多定位錯誤。
圖6:對對象特征的敏感性。每個圖展示出了六個不同對象特征(遮擋,截斷,邊界框區域,寬高比,視角,部分可見性)內的最高和最低的表現子集的平均(所有類)歸一化AP。我們在圖上展示了我們的方法(R-CNN),帶有和不帶有fine-tuning(FT)和邊界框回歸(BB),以及DPM 的voc-release5。總的來說,微調并不會降低敏感性(最大值和最小值之間的差值),但是對于幾乎所有的特性,基本上改善了最高和最低性能子集。這表明微調不僅僅改善了長寬比和邊界框區域的最代性能子集,因為人們可能基于我們如何扭曲網絡輸入來進行推測。相反,微調改變了所有類別的魯棒性,包括遮擋,截斷,視角,部分可見。
3.5. 邊界框回歸
基于錯誤分析,我們實現了一個簡單的用于減少定位錯誤的方法。受在DPM中使用的邊界框回歸的啟發,在給定了一個選擇性搜索候選區域的<nobr>pool5</nobr>特征的情況下,我們訓練了一個線性回歸模型用來預測一個新的檢測窗口。完整細節在附錄C中給出。表1,表2和表5的結果表明這種簡單的方法改善了大量錯誤定位的檢測,將mAP提高了3至4個點。
3.6. 定性結果
在文章最后的圖8和圖9上展示了ILSVRC2013上的定性的檢測結果。每一個圖像都是從<nobr>val2</nobr>數據集上隨機抽取的,并且在所有檢測器上精度大于0.5的檢測都展示出來了。注意到,這些不是策劃的,并且在行動上給了檢測器一個現實印象。更加定性的結果展示在圖10和圖11中,并且這些被策劃過。我們選擇的每一張圖片,都是因為它包含了有趣的,令人驚訝的,或令人欣喜的結果。在這里,同樣的,所有精度大于0.5的檢測都展示出來的。
圖8:對<nobr>val2</nobr>集合的示例檢測,使用了從在<nobr>val2</nobr>上實現了31.0%mAP的配置。每個圖像都是被隨機抽取的(都沒有進行過策劃)。所有精度大于0.5的檢測都展示出來了。每一個檢測都標注有預測的類和從檢測的precision-recall曲線上的精確值。建議放大來看。
圖9:更加隨機的選擇的樣本。看圖8的標題以獲得更詳細的描述。建議放大來看。
圖10:策劃過的樣例。每一張選擇的圖片,都是因為我們發現他們印象深刻,令人驚嘆,非常有趣,或者使人開心。建議放大來看。
圖11:更多策劃過的樣例。詳情請看圖10的標題。建議放大來看。
4. ILSVRC2013檢測數據集
在第2節中,我們展示了在ILSVRC2013檢測數據集上的結果。這個數據集和PASCAL VOC數據集有很少是一樣的,需要選擇怎樣去用它。因為這些決定是不容易的,我們在本節中討論。
4.1. 數據集綜述
ILSVRC2013數據集被劃分成3個集合:訓練集(395,918),驗證集(20,121),和測試集(40,152),每一個集合的圖像的數量都在括號中。val和test的拆分是從相同的圖像分布中繪制的。這些圖像是類似于場景的,并且在復雜度上與PASCAL VOC的圖像相似(物體的數量,混亂的數量,姿勢的變化等等)。val和test拆分具有詳細的注解,意味著在每個圖像中,所有200類的所有實例都用邊界框標記。相反,訓練集是從ILSVRC2013分類圖像分布中提取到的。這些圖像具有更多變化的復雜性,單個居中物體的圖像較多。不像val和test,訓練圖像沒有完全標注(由于它們的數量較多)。在任意給定的圖像中,這200類的實例有可能標注了也有可能沒有標注。除了這些圖像集合,每一個類都有一個額外的負例圖像的集合。手動檢查這些負例圖像,以驗證它們不包含他們關聯類的任何實例。負例圖像集合在本工作中沒有被用到。關于ILSVRC是怎么收集和標注的更多的信息可以在[11,36]中查看到。
這些拆分的本質為訓練R-CNN提供了大量的選擇。訓練圖像不能用于hard negative mining,因為標注是不充分的。負例應該來自于哪里呢?訓練圖像具有與val和test不同的統計量。訓練圖像應該被使用嗎?如果是,以什么程度呢?雖然我們沒有完全評估大量的選擇,基于以前的經驗,我們提出了似乎是最明顯的路徑。
我們的一般策略就是大量依賴于val集,并且使用訓練圖像中的一些作為一個正例的輔助源。為了將val用于訓練和驗證,我們將它大致分成相等的大小“<nobr>val1</nobr>”和”<nobr>val2</nobr>”集合。因為在val中一些類具有非常少的樣本(最小的只有31個,并且一半的少于110個),重要的是產生大致類均衡的分區。為此,產生了大量的候選拆分并且選擇了最大相關類不平衡最小的拆分。通過使用它們的類計數作為特征來對val圖像進行聚類,然后進行可以改進分割平衡的隨機局部搜索來生成每個候選分割。這里使用的特定分裂具有約11%的最大相對不平衡和4%的中值相對不平衡。<nobr>val1和val2</nobr>的分割和用于生成他們的代碼將會被公開,以允許其它研究人員比較其在本報告中使用的val分割的方法。
4.2. 候選區域
我們遵循用于在PASCAL上檢測的相同的候選區域的方法。對<nobr>val1</nobr>,<nobr>val2</nobr>和test上的每一個圖像(但不是訓練中的圖像),以“快速模式”運行選擇性搜索。需要一個小的修改來處理選擇性搜索不是尺度不變性的事實,因此產生的候選區域的數量取決于圖像分辨率。ILSVRC圖像大小范圍從很小到幾個幾兆像素,因此我們在運行選擇性搜索之前將每個圖像調整為固定寬度(500pixels)。在val上,選擇性搜索在每幅圖像上得到了平均2403個候選區域,具有所有的真實的邊界框的91.6%的召回率(0.5的IoU的閾值)。這個召回率明顯低于在PASCAL上面的,在PASCAL上大約是98%,表明在候選區域階段還有很大的提升。
4.3. 訓練數據
對于訓練數據,我們形成了一組圖像和框,其包括來自<nobr>val1</nobr>的所有選擇性搜索和真實框,以及來自訓練的每個類別的多達N個真實框(如果在訓練中,一個類有少于N個真實框,然后這些我們就都要了)。我們將會稱這個圖像和框的數據集為<nobr>val1+trainN</nobr>。在消融研究中,我們在<nobr>val2</nobr>上為<nobr>N∈0,500,1000</nobr>展示了mAP(4.5節)。
在R-CNN中在三個過程中需要訓練數據:(1)CNN微調,(2)檢測器SVM的訓練,和(3)邊界框回歸訓練。CNN微調使用與用于PASCAL VOC上的完全相同的配置,在<nobr>val1+trainN</nobr>上運行了50k的SGD迭代。使用Caffe在在單個NVIDIA Tesla K20上花費了13個小時進行微調。對于SVM訓練,來自<nobr>val1+trainN</nobr>的所有真實值被用于它們各自類的正例。對從<nobr>val1</nobr>隨機選擇的5000個圖像的子集進行hard negative mining。最初的實驗表明,對比于一個5000個圖像的子集(大約一半),從所有的<nobr>val1</nobr>上挖掘負例,僅僅造成了在mAP上0.5個百分點的下降,然而將SVM的訓練時間減少了一半。沒有從訓練集取得負例,因為標注不詳盡。未使用額外的驗證的負例圖像的集合。邊界框回歸是在<nobr>val1</nobr>上訓練的。
4.4. 驗證和評估
在提交結果到評估服務器之前,我們使用上述訓練數據驗證了數據使用選擇以及在<nobr>val2</nobr>集合上的微調和邊界框回歸的效果。所有的系統超參數都與PASCAL中使用的值相同(例如,SVM C超參數,在區域扭曲中的填充,NMS閾值,邊界框回歸超參數)。毫無疑問,一些超參數的選擇對于ILSVRC來說是次優,然而這項工作的目標是在ILSVRC上產生初步的R-CNN結果,而沒有廣泛的數據集調整。在<nobr>val2</nobr>上選擇了最好的選擇之后,我們提交給了ILSVRC2013評估服務器兩個結果文件。第一個是沒有邊界框回歸的,第二個是帶有邊界框回歸的。對于這些提交,我們擴展了SVM和邊界框回歸訓練集去分別使用<nobr>val+train1k</nobr>和val。我們使用在<nobr>val1+train1k</nobr>微調的CNN來避免重新運行微調和特征計算。
4.5. 消融研究
表4顯示了不同數量的訓練數據,微調和邊界框回歸的效果的消融研究。第一個觀察到的是,在<nobr>val2</nobr>上的mAP和在測試上的mAP匹配的非常接近。這使得我們相信在<nobr>val2</nobr>上的mAP是測試集性能的一個很好的指標。第一個結果,20.9%,是R-CNN使用在ILSVRC2012分類數據集上預訓練的CNN實現的(沒有微調),并且允許訪問<nobr>val1</nobr>中的少量訓練集(回想在<nobr>val1</nobr>中的一半的類具有15到55個實例)。將訓練集擴展到<nobr>val1+trainN</nobr>將性能提高到24.1%,在N=500和N=1000之間基本沒有差別。使用僅僅來自<nobr>val1</nobr>中的樣例微調CNN給出了26.5%的適度改進,然而由于少量的正訓練示例,可能存在著顯著的過擬合。將微調集擴展到<nobr>val1+train1k</nobr>,從而從訓練集中每類增加了1000個正例,效果顯著,將mAP提升到29.7%。邊界框回歸將結果提高到31.0%,這是在PASCAL中觀察到的相對較小的增益。
表4:ILSVRC2013消融研究,不同的數據使用選擇,微調,和邊界回歸
4.6. 與OverFeat的關系
在R-CNN和OverFeat之間有一個有趣的關系:OverFeat可以看成是R-CNN的一個特殊的例子。如果要用正規的正方形區域的多尺度金字塔替換選擇搜索候選區域,并且將每類的邊界框回歸改成單一的邊界框回歸,則系統則會非常類似(以某些潛在的重要的不同為模,如他們是怎么訓練的:CNN檢測微調,使用SVM等)。值得注意的是OverFeat比R-CNN具有顯著的速度優勢:基于[34]引用的每個圖像2秒的數字,它快了大約9倍。該速度來自于OverFeat的滑動窗口(即候選區域)在圖像不級別不扭曲的事實,因此在重疊窗口之間可以容易的共享計算。通過在任意大小的輸入上以卷積的方式運行整個網絡來實現共享。加快R-CNN應該可以以各種方法,并且作為未來的工作。
5. 語義分割
區域分類是用于語義分割的標準技術,允許我們容易地將R-CNN應用于PASCAL VOC 分割挑戰中。為了促進與當前領先的語義分割系統(稱為<nobr>O2P</nobr>二階池化)的直接比較[4],我們研究了他們的開源框架。<nobr>O2P</nobr>使用CPMC為每個圖像產生了150個候選區域,然后使用支持向量回歸(SVR)為每個類預測每個區域的質量。他們的方法的高性能是由于CPMC區域的質量和多個特征類型的強大的二級池化(豐富的SIFT和LBP變體)。我們也注意到Farabet等人使用一個CNN作為多尺度每像素分類器證明了良好的結果。我們遵循[2,4]并擴展PASCAL分割訓練集以包括由Hariharan等人提供的額外注釋。設計決策和超參數在VOC 2011驗證集上進行了交叉驗證。最終測試結果僅評估一次。
用于分割的CNN特征。我們評估了三種計算CPMC區域特征的策略,所有的這些策略都是通過將該區域周圍的矩形窗口扭曲成227227來開始的。第一個策略(full)忽略了區域的形狀,并且直接在扭曲的窗口上計算CNN特征,正如我們為檢測做的一樣。然而,這些特征忽略了區域的非矩形形狀。兩個區域可能有非常相似的邊界框,然而幾乎沒有重疊。因此,第二種策略(fg)僅僅在區域的前景掩碼上計算CNN特征。我們用平均輸入替換背景,使得背景區域在減去平均值后為零。第三種策略(<nobr>full+fg</nobr>)僅僅簡單地連接了<nobr>full</nobr>和<nobr>fg</nobr>特征;我們的實驗結果驗證了他們的互補性。
在VOC 2011上的結果。*表5顯示了我們對VOC 2011驗證集與<nobr>O2P</nobr>相比的結果的總結。(完整的每個類別的結果請看附錄E)在每個特征計算策略中,<nobr>fc6</nobr>總是勝過<nobr>fc7</nobr>,并且以下的討論都涉及<nobr>fc6</nobr>的特征。<nobr>fg</nobr>策略稍稍優于<nobr>full</nobr>策略,表明掩蔽區域形狀提供更強的信號,匹配我們的直覺。然而,<nobr>full+fg</nobr>策略實現了47.9%的平均準確度,我們最好的結果是4.2%的邊界(也適度超過了<nobr>O2P</nobr>),表明即使給定<nobr>fg</nobr>特征,由<nobr>full</nobr>特征提供的上下文也是有高度信息的。
表5:在VOC 2011驗證集上的分割平均準確性(%)。第一列展示了<nobr>O2P</nobr>;2-7列使用了我們在ILSVRC2012上預訓練的CNN。
在表6中,我們展示了在VOC 2011測試集上的結果,將我們的表現最好的方法,<nobr>fc6(full+fg)</nobr>,與兩個強基準線進行了對比。我們的方法在21個類別中的11個達到最高的分割精度,并且達到了最高的總體分割精度47.9%,在所有類別中平均得來(但是在任何合理的誤差范圍內可能與<nobr>O2P</nobr>結果相關)。通過微調可能實現更好的性能。
表6:在VOC2011測試集上的分割準確性(%)。我們對比了兩個強大的基線:[2]中的“Region and Parts”(R&P)方法,和[4]中的second-order pooling(<nobr>O2P</nobr>)方法。沒有任何微調,我們的CNN實現了最好的分割性能,優于P&R并且大致匹配了<nobr>O2P</nobr>。
6. 結論
在最近幾年,目標檢測性能停滯不前。最好的系統是將多個低級圖像特征與來自于目標檢測器和場景分類器的高級上下文組合在一起的復雜集合。本文提出了一種簡單的和可擴展的對象檢測算法,與PASCAL VOC2012上的最佳以前的結果相比提供了30%的相對改進。
我們通過兩個見解實現了這一表現。第一個是將高容量的卷積神經網絡應用于自下而上的候選區域以便定位和分割對象。第二個就是當標記的訓練數據不足時訓練大的CNN的范例。我們表明,對于一個具有豐富數據集(圖像分類)的輔助任務,帶監督的預訓練網絡,并且為數據稀缺的(檢測)的目標任務微調網絡是非常有效的。我們推測,“監督的預訓練/特定領域的微調”范例將對于各種數據稀缺的視覺問題都非常有效。
我們最后指出,我們通過使用計算機視覺和深度學習的經典工具(從底向上的候選區域和卷積神經網絡)的組合實現了這些結果是非常重要的。這兩者不是反對科學家探究的線,而是自然的和不可避免的伙伴。
附錄
A. 目標建議轉換
這項工作中用到的卷積神經網絡需要一個固定的<nobr>227?227</nobr>的像素。對于檢測來說,我們考慮到候選對象是任意大小的圖像矩形。我們評估了兩種用于將候選目標轉換成一個有效的CNN輸入的方法。
第一個方法(“具有上下文的最緊密方框”)將每個候選對象包圍在最緊湊的正方形內,然后將包含在該正方形中的圖像(各向同性)綻放為CNN的輸入大小。 圖7的B列展示了這種改變。此方法的一個變種(“沒有上下文的最緊湊的方形”)排除了原始候選對象周圍的圖像內容。圖7的(C)列展示了這種改變。第二種方法(“warp”)將每個候選對象各向異性地縮放為CNN輸入大小。圖7的(D)列展示了這種扭曲轉換。
圖7:不同的候選對象轉換。(A)相對于經變換的CNN的輸入的具有實際大小的原始候選對象;(B)最緊密的帶有上下文的方格;(C)不帶有上下文的最緊密的方框;(D)扭曲;在每一列和候選示例中,頂行對應于上下文填充的<nobr>p=0</nobr>個像素,而底行具有<nobr>p=16</nobr>個上下文填充的像素。
對于這些變換中的每一個,我們還考慮在原始的候選對象周圍包括上額外的圖像上下文。上下文填充量(<nobr>p</nobr>)被定義為在經過變換了的輸入坐標系中原始候選對象周圍的邊界大小。圖7展示了在每個示例的頂行<nobr>p=0</nobr>并且在底行<nobr>p=16</nobr>。在所有方法中,如果源矩陣擴展延伸超過了圖像,則丟失的數據就由圖像均值替代(然后在將圖像輸入到CNN之前被減去)。一組實驗表明,使用上下文填充(<nobr>p=16像素</nobr>)的扭曲優于替代方案很多(3-5mAP)。顯然,更多的選擇也是有可能的,包括使用復制而不是平均值進行填充。對這些替代品的詳盡評價留作未來的工作。
B. 正例對負例和softmax
兩種設計選擇值得進一步的討論。為什么為微調CNN和訓練對象檢測SVM時定義的正例和負例是不同的?簡單回顧一下定義,對于微調,我們將每一個候選對象映射到它具有最大的IoU重疊(如果有)真實實例上,并且如果IoU至少為0.5,就將它標記為匹配的真實類的正例。所有其它的候選區域都被標記為“背景”(即所有類別的負例)。相反的,對于訓練SVMs,我們只把真實框作為它們各自類別和候選標簽的正例,與一個類的所有實例的IoU少于0.3的作為該類的負例。落入灰色區域(超過0.3IoU重疊,但不是真實值)的候選區域被忽略。
從歷史上來說,我們得出這些定義,因為我們開始通過由ImageNet預訓練的CNN計算的特征訓練SVM,因此在當時沒有考慮微調。在該設置中,我們發現我們的用于訓練SVM的特定的標簽定義在我們評估的選項集(其中包括我們現在用于微調的配置)中是最佳的。當我們開始使用微調時,我們使用與SVM訓練時使用的相同的正例和負例。然而,我們發現結果比使用我們現在的正例和負例的定義要差的多。
我們的假設是在正例和負例如何定義上面的不同并不是根本重要的,而是來自于微調數據有限這個事實。我們目前的方案引入了許多“抖動”方案(這些候選值具有0.5到1之間的重疊,但不是真實值),這將正例的數量擴展了大約30倍。我們推測當微調整個網絡而避免過擬合的話,是需要這個大的集合的。然而,我們也注意到使用這些抖動樣例也可能是次優的,因為這些網絡沒有微調以精確定位。
這也導致了第二個問題,為什么微調后訓練SVM?簡單地應用微調網絡的最后一層(這是一種21路的softmax回歸分類器)作為對象檢測器是非常清晰的。我們嘗試這么做了,發現在VOC 2007上的性能從54.2%mAP降到50.9%mAP。這種性能的下降可能是由于幾種因素的結合,包括在微調中使用的微調的定義不強調精確定位,并且訓練softmax分類器是在隨機采樣的負例上進行的,而不是在用于SVM訓練使用的“hard negative”的子集中進行的。
該結果表明,在微調之后不訓練SVM可能會獲得接近相同水平的性能。我們推測通過一些額外的對微調的調整,剩余的表現差距可能會被關閉。如果是真的話,這將簡化和加速R-CNN訓練,而在檢測性能上不會有損失。
C. 邊界框回歸
我們用一個簡單的邊界框回歸階段來提高定位性能。在使用一個特定類檢測的SVM對每個選擇性搜索候選值進行評分之后,我們使用特定類的邊界框回歸來預測用于檢測的新邊界框。這類似于在可變形部分模型[17]中使用的邊界框回歸。這兩種方法主要的不同是,這里我們從CNN計算的特征,而不是從推斷的DPM部分位置計算的幾何特征回歸。
我們訓練算法的輸入是一個N個訓練對的集合<nobr>(Pi,Gi)i=1,...,N</nobr>,其中<nobr>Pi=(Pix,Piy,Piw,Pih)</nobr>指的是候選<nobr>Pi</nobr>的邊界框的中心和<nobr>Pi</nobr>的寬和高的坐標。因此接下來,我們刪除上標i,除非它是必須的。每一個真實的邊界框G是以相同的方式指定的:<nobr>G=(Gx,Gy,Gw,Gh)</nobr>。我們的目標就是學習一個轉換,其將一個候選框P映射到真實框G上。
我們根據四個函數(<nobr>dx(P),dy(P),dw(P),dh(P)</nobr>)來對這種轉換進行參數化。前兩個指的是P的邊界框的中心的尺度不變的轉換,后兩個指定P的邊界框的寬度和高度的對數空間平移。在學習了這些函數之后,我們可以通過應用這些轉換將一個輸入的候選P轉換到一個預測的真實框<nobr>G^</nobr>。
<nobr>Gx^=Pwdx(P)+Px (1)Gx^=Pwdx(P)+Px (2)Gx^=Pwdx(P)+Px (3)Gx^=Pwdx(P)+Px (4)</nobr>
每一個函數<nobr>d?(P)</nobr>(<nobr>?</nobr>是<nobr>x,y,h,w</nobr>中的一個)被建模成候選P的<nobr>pool5</nobr>特征的一個線性函數,標記成<nobr>?5(P)</nobr>。隱含地假設<nobr>?5(P)</nobr>對于圖像數據是依賴的。因此我們有<nobr>dx(P)=wT??5(P)</nobr>,其中<nobr>w?</nobr>是一個可學習的模型的參數。我們通過優化正則化的最小二乘目標函數(嶺回歸)來學習<nobr>w?</nobr>
對于訓練對(P,G)的回歸目標<nobr>t?</nobr>定義如下:
作為一種標準的正則化最小二乘問題,這可以以封閉形式有效地解決。
我們在實現邊界框回歸的時候發現了兩個微妙的問題。第一個就是正則化是非常重要的:基于驗證集,我們設置<nobr>λ=1000</nobr>。第二個問題是,在選擇使用哪個訓練對(P;G)時必須小心。直觀地,如果遠離所有的真實框,那么將P轉換到真實框G的任務就沒有意義。使用像P這樣的例子將會導致一個無望的學習問題。因此,我們只從這樣的候選P中進行學習,其至少與一個真實框離的比較近。我們通過將P分配給真實框G,當前僅當重疊大于閾值(我們使用一個驗證集設置成0.6)時,它與其具有最大的IoU重疊(以防重疊超過一個)。所有未分配的候選區域都被丟棄。對于每一個對象類我們只做一次,以便學習一組特定類邊界框的回歸器。
在測試的時候,我們為每一個候選框打分,并且預測一次它的新檢測窗口。原則上來說,我們可以迭代這個過程(即,為新得到的預測框重新打分,然后從它再預測一個新的邊界框,以此類推)。然而,我們發現迭代沒有改善結果。
D. 附加的功能可視化
圖12為20個<nobr>pool5</nobr>單元展示了附加的可視化。對于每一個單元來說,我們展示了可以最大激活VOC 2007 測試集的全部的大約1000萬個區域中的24個候選區域。我們在<nobr>6?6?256</nobr>維的<nobr>pool5</nobr>特征圖上為每個單元都標記了它的(y,x,channel)位置。在每個通道內,CNN計算輸入區域的完全相同的函數,
圖12:我們展示了在VOC2007測試中大約1000萬個候選區域中的24個候選區域,其最強烈地激活20個單元中的每一個。每個剪輯都用<nobr>6?6?256</nobr>維的<nobr>pool5</nobr>特征圖的單元(y, x, channel)的位置標記。每一個圖像區域都用白色的單元的接受場的覆蓋圖繪制。激活值(我們通過除以通道中所有單元的最大激活值來進行歸一化)顯示在接受場的左上角。建議放大來看
E. 每個類的分割結果
在表7中,我們展示了我們6個分割方法中的每一個(除了<nobr>O2P</nobr>方法)在VOC 2011val集上的每類分割準確度。這些結果展示了對于20個PASCAL類別加上背景類,哪一個方法是最強的。
F. 交叉數據集冗余分析
當在輔助數據集上進行訓練時,一個問題是它與測試集之間可能存在冗余。即使對象檢測和整個圖像分類的任務有很大的不同,為了使這種交叉冗余不那么令人擔憂,我們仍然進行了徹底的調查,量化了PASCAL測試圖像包含在ILSVRC2012訓練和驗證集的程度。我們發現可能對那些有興趣使用ILSVRC2012作為PASCAL圖像分類任務的訓練數據的研究人員有用。我們對重復(和近重復)圖像執行了再次檢查。第一個測試是基于flicker圖像ID的精確匹配,這些ID包括在VOC 2007測試注釋中(這些ID有意的為后續的PASCAL測試集保密)。所有的PASCAL圖像,和約一半的ILSVRC圖像,從flickr.com收集。這個檢查證明了在4952有31個匹配(0.63%)。
第二個檢測使用了GIST描述符匹配,在[13]中顯示在大(>100萬)圖像集合中的近似圖像檢測中具有優異的性能。在[13]之后,我們計算了所有的ILSVRC2012trainval和PASCAL 2007測試圖像的扭曲32*32像素版本上的GIST描述符。GIST描述符的歐氏距離最近鄰匹配揭示了38個近似重復圖像(包括通過flickrID匹配找到的31個)。匹配在JPEG壓縮級別和分辨率略有變化,并且趨向較小程度的裁剪。這些發現表明重疊是小的,小于1%。對于VOC 2012來說,因為flickrID是不可用的,我們只使用了GIST匹配方法。基于GIST匹配,VOC 2012測試圖像的1.5%是在ILSVRC 2012trainval中的。對于VOC 2012略高的比率可能是由于這兩個數據集在時間上收集的比VOC 2007和ILSVRC 2012更接近。