天天看點

Faster R-CNN 解析

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun

摘要

目前最先進的目标檢測網絡需要先用區域建議算法推測目标位置,像SPPnet[7]和Fast R-CNN[5]這些網絡已經減少了檢測網絡的運作時間,這時計算區域建議就成了瓶頸問題。本文中,我們介紹一種區域建議網絡(Region Proposal Network, RPN),它和檢測網絡共享全圖的卷積特征,使得區域建議幾乎不花時間。RPN是一個全卷積網絡,在每個位置同時預測目标邊界和objectness得分。RPN是端到端訓練的,生成高品質區域建議框,用于Fast R-CNN來檢測。通過一種簡單的交替運作優化方法,RPN和Fast R-CNN可以在訓練時共享卷積特征。對于非常深的VGG-16模型[19],我們的檢測系統在GPU上的幀率為5fps(包含所有步驟),在PASCAL VOC 2007和PASCAL VOC 2012上實作了最高的目标檢測準确率(2007是73.2%mAP,2012是70.4%mAP),每個圖像用了300個建議框。代碼已公開。

1.引言

最近在目标檢測中取得的進步都是由區域建議方法(例如[22])和基于區域的卷積神經網絡(R-CNN)[6]取得的成功來推動的。基于區域的CNN在[6]中剛提出時在計算上消耗很大,幸好後來這個消耗通過建議框之間共享卷積[7,5]大大降低了。最近的Fast R-CNN[5]用非常深的網絡[19]實作了近實時檢測的速率,注意它忽略了生成區域建議框的時間。現在,建議框是最先進的檢測系統中的計算瓶頸。

區域建議方法典型地依賴于消耗小的特征和經濟的擷取方案。選擇性搜尋(Selective Search, SS)[22]是最流行的方法之一,它基于設計好的低級特征貪心地融合超級像素。與高效檢測網絡[5]相比,SS要慢一個數量級,CPU應用中大約每個圖像2s。EdgeBoxes[24]在建議框品質和速度之間做出了目前最好的權衡,大約每個圖像0.2s。但無論如何,區域建議步驟花費了和檢測網絡差不多的時間。

Fast R-CNN利用了GPU,而區域建議方法是在CPU上實作的,這個運作時間的比較是不公平的。一種明顯提速生成建議框的方法是在GPU上實作它,這是一種工程上很有效的解決方案,但這個方法忽略了其後的檢測網絡,因而也錯失了共享計算的重要機會。

本文中,我們改變了算法——用深度網絡計算建議框——這是一種簡潔有效的解決方案,建議框計算幾乎不會給檢測網絡的計算帶來消耗。為了這個目的,我們介紹新穎的區域建議網絡(Region Proposal Networks, RPN),它與最先進的目标檢測網絡[7,5]共享卷積層。在測試時,通過共享卷積,計算建議框的邊際成本是很小的(例如每個圖像10ms)。

我們觀察發現,基于區域的檢測器例如Fast R-CNN使用的卷積(conv)特征映射,同樣可以用于生成區域建議。我們緊接着這些卷積特征增加兩個額外的卷積層,構造RPN:第一個層把每個卷積映射位置編碼為一個短的(例如256-d)特征向量,第二個層在每個卷積映射位置,輸出這個位置上多種尺度和長寬比的k個區域建議的objectness得分和回歸邊界(k=9是典型值)。

我們的RPN是一種全卷積網絡(fully-convolutional network, FRN)[14],可以針對生成檢測建議框的任務端到端地訓練。為了統一RPN和Fast R-CNN[5]目标檢測網絡,我們提出一種簡單的訓練方案,即保持建議框固定,微調區域建議和微調目标檢測之間交替進行。這個方案收斂很快,最後形成可讓兩個任務共享卷積特征的标準網絡。

我們在PASCAL VOC檢測标準集[4]上評估我們的方法, fast R-CNN結合RPN的檢測準确率超過了作為強大基準的fast R-CNN結合SS的方法。同時,我們的方法沒有了SS測試時的計算負擔,對于生成建議框的有效運作時間隻有10毫秒。利用[19]中網絡非常深的深度模型,我們的檢測方法在GPU上依然有5fps的幀率(包括所有步驟),是以就速度和準确率(PASCAL VOC 2007上是73.2%mAP,PASCAL VOC 2012上是70.4%)而言,這是一個實用的目标檢測系統。代碼已公開。

2.相關工作

最近幾篇文章中提出了用深度網絡定位類确定或類不确定的包圍盒[21, 18, 3, 20] 的方法。在OverFeat方法[18]中,訓練全連接配接(fc)層,對假定隻有一個目标的定位任務預測包圍盒坐标。fc層再轉入卷積層來檢測多個類确定的目标。MultiBox方法[3, 20]從最後一個fc層同時預測多個(如800)包圍盒的網絡中生成區域建議,R-CNN[6]就是用的這個。他們的建議框網絡應用于單個圖像或多個大圖像的切割部分(如224x224)[20]。我們在後文中講我們的方法時會更深層次地讨論OverFeat和MultiBox。

卷積的共享計算[18, 7, 2, 5]高效、精确,已經在視覺識别方面吸引了越來越多的注意。OverFeat論文[18]從圖像金字塔計算卷積特征,用于分類、定位、檢測。在共享的卷積特征映射上自适應大小的pooling(SPP)[7]能有效用于基于區域的目标檢測[7, 16]和語義分割[2]。Fast R-CNN[5]實作了在共享卷積特征上訓練的端到端檢測器,顯示出令人驚歎的準确率和速度。

3.區域建議網絡

區域建議網絡(RPN)将一個圖像(任意大小)作為輸入,輸出矩形目标建議框的集合,每個框有一個objectness得分。我們用全卷積網絡[14]對這個過程構模組化型,本章會較長的描述。因為我們的最終目标是和Fast R-CNN目标檢測網絡[15]共享計算,是以假設這兩個網絡共享一系列卷積層。在實驗中,我們詳細研究Zeiler和Fergus的模型[23](ZF),它有5個可共享的卷積層,以及Simonyan和Zisserman的模型[19](VGG),它有13個可共享的卷積層。

為了生成區域建議框,我們在最後一個共享的卷積層輸出的卷積特征映射上滑動小網絡,這個網絡全連接配接到輸入卷積特征映射的nxn的空間視窗上。每個滑動視窗映射到一個低維向量上(對于ZF是256-d,對于VGG是512-d,每個特征映射的一個滑動視窗對應一個數值)。這個向量輸出給兩個同級的全連接配接的層——包圍盒回歸層(reg)和包圍盒分類層(cls)。本文中n=3,注意圖像的有效感受野很大(ZF是171像素,VGG是228像素)。圖1(左)以這個小網絡在某個位置的情況舉了個例子。注意,由于小網絡是滑動視窗的形式,是以全連接配接的層(nxn的)被所有空間位置共享(指所有位置用來計算内積的nxn的層參數相同)。這種結構實作為nxn的卷積層,後接兩個同級的1x1的卷積層(分别對應reg和cls),ReLU[15]應用于nxn卷積層的輸出。

Faster R-CNN 解析

圖1:左:區域建議網絡(RPN)。右:用RPN建議框在PASCAL VOC 2007測試集上的檢測執行個體。我們的方法可以在很大範圍的尺度和長寬比中檢測目标。

平移不變的anchor

在每一個滑動視窗的位置,我們同時預測k個區域建議,是以reg層有4k個輸出,即k個box的坐标編碼。cls層輸出2k個得分,即對每個建議框是目标/非目标的估計機率(為簡單起見,是用二類的softmax層實作的cls層,還可以用logistic回歸來生成k個得分)。k個建議框被相應的k個稱為anchor的box參數化。每個anchor以目前滑動視窗中心為中心,并對應一種尺度和長寬比,我們使用3種尺度和3種長寬比,這樣在每一個滑動位置就有k=9個anchor。對于大小為WxH(典型值約2,400)的卷積特征映射,總共有WHk個anchor。我們的方法有一個重要特性,就是平移不變性,對anchor和對計算anchor相應的建議框的函數而言都是這樣。

作為比較,MultiBox方法[20]用k-means生成800個anchor,但不具有平移不變性。如果平移了圖像中的目标,建議框也應該平移,也應該能用同樣的函數預測建議框。此外,因為MultiBox的anchor不具有平移不變性,是以它需要(4+1)x800-d的輸出層,而我們的方法隻要(4+2)x9-d的輸出層。我們的建議框層少一個數量級的參數(MultiBox用GoogleLeNet[20]需要2700萬vs.RPN用VGG-16需要240萬),這樣在PASCAL VOC這種小資料集上出現過拟合的風險較小。

學習區域建議的損失函數

為了訓練RPN,我們給每個anchor配置設定一個二進制的标簽(是不是目标)。我們配置設定正标簽給兩類anchor:(i)與某個ground truth(GT)包圍盒有最高的IoU(Intersection-over-Union,交集并集之比)重疊的anchor(也許不到0.7),(ii)與任意GT包圍盒有大于0.7的IoU交疊的anchor。注意到一個GT包圍盒可能配置設定正标簽給多個anchor。我們配置設定負标簽給與所有GT包圍盒的IoU比率都低于0.3的anchor。非正非負的anchor對訓練目标沒有任何作用。

有了這些定義,我們遵循Fast R-CNN[5]中的多任務損失,最小化目标函數。我們對一個圖像的損失函數定義為 

Faster R-CNN 解析

這裡,i是一個mini-batch中anchor的索引,Pi是anchor i是目标的預測機率。如果anchor為正,GT标簽Pi* 就是1,如果anchor為負,Pi* 就是0。ti是一個向量,表示預測的包圍盒的4個參數化坐标,ti* 是與正anchor對應的GT包圍盒的坐标向量。分類損失*Lcls是兩個類别(目标vs.非目标)的對數損失

Faster R-CNN 解析

。對于回歸損失*,我們用

Faster R-CNN 解析

 來計算,其中R是[5]中定義的魯棒的損失函數(smooth L1)。 

Faster R-CNN 解析

Pi* Lreg這一項意味着隻有正anchor(Pi* =1)才有回歸損失,其他情況就沒有(Pi* =0)。cls層和reg層的輸出分别由{pi}和{ti}組成,這兩項分别由Ncls和Nreg以及一個平衡權重λ歸一化(早期實作及公開的代碼中,λ=10,cls項的歸一化值為mini-batch的大小,即Ncls=256,reg項的歸一化值為anchor位置的數量,即Nreg~2,400,這樣cls和reg項差不多是等權重的。

對于回歸,我們學習[6]采用4個坐标: 

Faster R-CNN 解析

x,y,w,h指的是包圍盒中心的(x, y)坐标、寬、高。變量x,xa,x*分别指預測的包圍盒、anchor的包圍盒、GT的包圍盒(對y,w,h也是一樣)的x坐标。可以了解為從anchor包圍盒到附近的GT包圍盒的包圍盒回歸。

無論如何,我們用了一種與之前的基于特征映射的方法[7, 5]不同的方法實作了包圍盒算法。在[7, 5]中,包圍盒回歸在從任意大小的區域中pooling到的特征上執行,回歸權重是所有不同大小的區域共享的。在我們的方法中,用于回歸的特征在特征映射中具有相同的空間大小(nxn)。考慮到各種不同的大小,需要學習一系列k個包圍盒回歸量。每一個回歸量對應于一個尺度和長寬比,k個回歸量之間不共享權重。是以,即使特征具有固定的尺寸/尺度,預測各種尺寸的包圍盒仍然是可能的。

優化

RPN很自然地實作為全卷積網絡[14],通過反向傳播和随機梯度下降(SGD)[12]端到端訓練。我們遵循[5]中的“image-centric”采樣政策訓練這個網絡。每個mini-batch由包含了許多正負樣本的單個圖像組成。我們可以優化所有anchor的損失函數,但是這會偏向于負樣本,因為它們是主要的。是以,我們随機地在一個圖像中采樣256個anchor,計算mini-batch的損失函數,其中采樣的正負anchor的比例是1:1。如果一個圖像中的正樣本數小于128,我們就用負樣本填補這個mini-batch。

我們通過從零均值标準差為0.01的高斯分布中擷取的權重來随機初始化所有新層(最後一個卷積層其後的層),所有其他層(即共享的卷積層)是通過對ImageNet分類[17]預訓練的模型來初始化的,這也是标準慣例[6]。我們調整ZF網絡的所有層,以及conv3_1,并為VGG網絡做準備,以節約記憶體[5]。我們在PASCAL資料集上對于60k個mini-batch用的學習率為0.001,對于下一20k個mini-batch用的學習率是0.0001。動量是0.9,權重衰減為0.0005[11]。我們的實作使用了Caffe[10]。

區域建議與目标檢測共享卷積特征

迄今為止,我們已經描述了如何為生成區域建議訓練網絡,而沒有考慮基于區域的目标檢測CNN如何利用這些建議框。對于檢測網絡,我們采用Fast R-CNN[5],現在描述一種算法,學習由RPN和Fast R-CNN之間共享的卷積層。

RPN和Fast R-CNN都是獨立訓練的,要用不同方式修改它們的卷積層。是以我們需要開發一種允許兩個網絡間共享卷積層的技術,而不是分别學習兩個網絡。注意到這不是僅僅定義一個包含了RPN和Fast R-CNN的單獨網絡,然後用反向傳播聯合優化它那麼簡單。原因是Fast R-CNN訓練依賴于固定的目标建議框,而且并不清楚當同時改變建議機制時,學習Fast R-CNN會不會收斂。雖然這種聯合優化在未來工作中是個有意思的問題,我們開發了一種實用的4步訓練算法,通過交替優化來學習共享的特征。

第一步,我們依上述訓練RPN,該網絡用ImageNet預訓練的模型初始化,并端到端微調用于區域建議任務。第二步,我們利用第一步的RPN生成的建議框,由Fast R-CNN訓練一個單獨的檢測網絡,這個檢測網絡同樣是由ImageNet預訓練的模型初始化的,這時候兩個網絡還沒有共享卷積層。第三步,我們用檢測網絡初始化RPN訓練,但我們固定共享的卷積層,并且隻微調RPN獨有的層,現在兩個網絡共享卷積層了。第四步,保持共享的卷積層固定,微調Fast R-CNN的fc層。這樣,兩個網絡共享相同的卷積層,構成一個統一的網絡。

實作細節

我們訓練、測試區域建議和目标檢測網絡都是在單一尺度的圖像上[7, 5]。我們縮放圖像,讓它們的短邊s=600像素[5]。多尺度特征提取可能提高準确率但是不利于速度與準确率之間的權衡[5]。我們也注意到ZF和VGG網絡,對縮放後的圖像在最後一個卷積層的總步長為16像素,這樣相當于一個典型的PASCAL圖像(~500x375)上大約10個像素(600/16=375/10)。即使是這樣大的步長也取得了好結果,盡管若步長小點準确率可能得到進一步提高。

對于anchor,我們用3個簡單的尺度,包圍盒面積為128x128,256x256,512x512,和3個簡單的長寬比,1:1,1:2,2:1。注意到,在預測大建議框時,我們的算法考慮了使用大于基本感受野的anchor包圍盒。這些預測不是不可能——隻要看得見目标的中間部分,還是能大緻推斷出這個目标的範圍。通過這個設計,我們的解決方案不需要多尺度特征或者多尺度滑動視窗來預測大的區域,節省了相當多的運作時間。圖1(右)顯示了我們的算法處理多種尺度和長寬比的能力。下表是用ZF網絡對每個anchor學到的平均建議框大小(s=600)。

Faster R-CNN 解析

跨越圖像邊界的anchor包圍盒要小心處理。在訓練中,我們忽略所有跨越圖像邊界的anchor,這樣它們不會對損失有影響。對于一個典型的1000x600的圖像,差不多總共有20k(~60x40x9)anchor。忽略了跨越邊界的anchor以後,每個圖像隻剩下6k個anchor需要訓練了。如果跨越邊界的異常值在訓練時不忽略,就會帶來又大又困難的修正誤差項,訓練也不會收斂。在測試時,我們還是應用全卷積的RPN到整個圖像中,這可能生成跨越邊界的建議框,我們将其裁剪到圖像邊緣位置。

有些RPN建議框和其他建議框大量重疊,為了減少備援,我們基于建議區域的cls得分,對其采用非極大值抑制(non-maximum suppression, NMS)。我們固定對NMS的IoU門檻值為0.7,這樣每個圖像隻剩2k個建議區域。正如下面展示的,NMS不會影響最終的檢測準确率,但是大幅地減少了建議框的數量。NMS之後,我們用建議區域中的top-N個來檢測。在下文中,我們用2k個RPN建議框訓練Fast R-CNN,但是在測試時會對不同數量的建議框進行評價。

4.實驗

我們在PASCAL VOC2007檢測基準[4]上綜合評價我們的方法。此資料集包括20個目标類别,大約5k個trainval圖像和5k個test圖像。我們還對少數模型提供PASCAL VOC2012基準上的結果。對于ImageNet預訓練網絡,我們用“fast”版本的ZF網絡[23],有5個卷積層和3個 fc層,公開的VGG-16 模型[19],有13 個卷積層和3 個fc層。我們主要評估檢測的平均精度(mean Average Precision, mAP),因為這是對目标檢測的實際度量标準(而不是側重于目标建議框的代理度量)。

表1(上)顯示了使用各種區域建議的方法訓練和測試時Fast R-CNN的結果。這些結果使用的是ZF網絡。對于選擇性搜尋(SS)[22],我們用“fast”模式生成了2k個左右的SS建議框。對于EdgeBoxes(EB)[24],我們把預設的EB設定調整為0.7IoU生成建議框。SS的mAP 為58.7%,EB的mAP 為58.6%。RPN與Fast R-CNN實作了有競争力的結果,當使用300個建議框時的mAP就有59.9%(對于RPN,建議框數量,如300,是一個圖像産生建議框的最大數量。RPN可能産生更少的建議框,這樣建議框的平均數量也更少了)。使用RPN實作了一個比用SS或EB更快的檢測系統,因為有共享的卷積計算;建議框較少,也減少了區域方面的fc消耗。接下來,我們考慮RPN的幾種消融,然後展示使用非常深的網絡時,建議框品質的提高。

表1 PASCAL VOC2007年測試集的檢測結果(在VOC2007 trainval訓練)。該檢測器是Fast R-CNN與ZF,但使用各種建議框方法進行訓練和測試。

Faster R-CNN 解析

消融試驗。為了研究RPN作為建議框方法的表現,我們進行了多次消融研究。首先,我們展示了RPN和Fast R-CNN檢測網絡之間共享卷積層的影響。要做到這一點,我們在4步訓練過程中的第二步後停下來。使用分離的網絡時的結果稍微降低為58.7%(RPN+ ZF,非共享,表1)。我們觀察到,這是因為在第三步中,當調整過的檢測器特征用于微調RPN時,建議框品質得到提高。

接下來,我們理清了RPN在訓練Fast R-CNN檢測網絡上的影響。為此,我們用2k個SS建議框和ZF網絡訓練了一個Fast R-CNN模型。我們固定這個檢測器,通過改變測試時使用的建議區域,評估檢測的mAP。在這些消融實驗中,RPN不與檢測器共享特征。

在測試時用300個RPN建議框替換SS,mAP為56.8%。mAP的損失是訓練/測試建議框之間的不一緻所緻。該結果作為以下比較的基準。 

有些奇怪的是,在測試時使用排名最高的100個建議框時,RPN仍然會取得有競争力的結果(55.1%),表明這種高低排名的RPN建議框是準确的。另一種極端情況,使用排名最高的6k個RPN建議框(沒有NMS)取得具有可比性的mAP(55.2%),這表明NMS不會降低檢測mAP,反而可以減少誤報。

接下來,我們通過在測試時分别移除RPN的cls和reg中的一個,研究它們輸出的作用。當在測試時(是以沒有用NMS/排名)移除cls層,我們從沒有計算得分的區域随機抽取N個建議框。N =1k 時mAP幾乎沒有變化(55.8%),但當N=100則大大降低為44.6%。這表明,cls得分是排名最高的建議框準确的原因。

另一方面,當在測試時移除reg層(這樣的建議框就直接是anchor框了),mAP下降到52.1%。這表明,高品質的建議框主要歸功于回歸後的位置。單是anchor框不足以精确檢測。

我們還評估更強大的網絡對RPN的建議框品質的作用。我們使用VGG-16訓練RPN,并仍然使用上述SS+ZF檢測器。mAP從56.8%(使用RPN+ZF)提高到59.2%(使用RPN+VGG)。這是一個滿意的結果,因為它表明,RPN+VGG的建議框品質比RPN+ZF的更好。由于RPN+ZF的建議框是可與SS競争的(訓練和測試一緻使用時都是58.7%),我們可以預期RPN+VGG比SS好。下面的實驗證明這一假說。

VGG-16的檢測準确率與運作時間。表2展示了VGG-16對建議框和檢測的結果。使用RPN+VGG,Fast R-CNN對不共享特征的結果是68.5%,比SS基準略高。如上所示,這是因為由RPN+VGG産生的建議框比SS更準确。不像預先定義的SS,RPN是實時訓練的,能從更好的網絡獲益。對特征共享的變型,結果是69.9%——比強大的SS基準更好,建議框幾乎無損耗。我們跟随[5],在PASCAL VOC2007 trainval和2012 trainval的并集上進一步訓練RPN,mAP是73.2%。跟[5]一樣在VOC 2007 trainval+test和VOC2012 trainval的并集上訓練時,我們的方法在PASCAL VOC 2012測試集上(表3)有70.4%的mAP。

表2:在PASCAL VOC 2007測試集上的檢測結果,檢測器是Fast R-CNN和VGG16。訓練資料:“07”:VOC2007 trainval,“07+12”:VOC 2007 trainval和VOC 2012 trainval的并集。對RPN,用于Fast R-CNN訓練時的建議框是2k。這在[5]中有報告;利用本文所提供的倉庫(repository),這個數字更高(68.0±0.3在6次運作中)。

Faster R-CNN 解析

表3:PASCAL VOC 2012測試集檢測結果。檢測器是Fast R-CNN和VGG16。訓練資料:“07”:VOC 2007 trainval,“07++12”: VOC 2007 trainval+test和VOC 2012 trainval的并集。對RPN,用于Fast R-CNN訓練時的建議框是2k。

Faster R-CNN 解析

表4中我們總結整個目标檢測系統的運作時間。SS需要1~2秒,取決于圖像内容(平均1.51s),采用VGG-16的Fast R-CNN在2k個SS建議框上需要320ms(若是用了SVD在fc層的話隻用223ms[5])。我們采用VGG-16的系統生成建議框和檢測一共隻需要198ms。卷積層共享時,RPN隻用10ms來計算附加的幾層。由于建議框較少(300),我們的區域計算花費也很低。我們的系統采用ZF網絡時的幀率為17fps。

表4: K40 GPU上的用時(ms),除了SS建議框是在CPU中進行評價的。“區域方面”包括NMS,pooling,fc和softmax。請參閱我們釋出的代碼運作時間的分析。

Faster R-CNN 解析

IoU召回率的分析。接下來,我們計算建議框與GT框在不同的IoU比例時的召回率。值得注意的是,該IoU召回率度量标準與最終的檢測準确率隻是松散[9, 8, 1]相關的。更适合用這個度量标準來診斷建議框方法,而不是對其進行評估。

在圖2中,我們展示使用300,1k,和2k個建議框的結果。我們将SS和EB作比較,并且這N個建議框是基于用這些方法生成的按置信度排名的前N個。該圖顯示,當建議框數量由2k下降到300時,RPN方法的表現很好。這就解釋了使用少到300個建議框時,為什麼RPN有良好的最終檢測mAP。正如我們前面分析的,這個屬性主要是歸因于RPN的cls項。當建議框變少時,SS和EB的召回率下降的速度快于RPN。

Faster R-CNN 解析

圖2:PASCAL VOC 2007測試集上的召回率 vs. IoU重疊率

**單級的檢測vs. 兩級的建議框+檢測。**OverFeat論文[18]提出在卷積特征映射的滑動視窗上使用回歸和分類的檢測方法。OverFeat是一個單級的,類特定的檢測流程,我們的是一個兩級的,由類無關的建議框方法和類特定的檢測組成的級聯方法。在OverFeat中,區域方面的特征來自一個滑動視窗,對應一個尺度金字塔的一個長寬比。這些特征被用于同時确定物體的位置和類别。在RPN中,特征都來自相對于anchor的方形(3*3)滑動視窗和預測建議框,是不同的尺度和長寬比。雖然這兩種方法都使用滑動視窗,區域建議任務隻是RPN + Fast R-CNN的第一級——檢測器緻力于改進建議框。在我們級聯方法的第二級,區域一級的特征自适應地從建議框進行pooling[7, 5],更如實地覆寫區域的特征。我們相信這些特征帶來更準确的檢測。

為了比較單級和兩級系統,我們通過單級的Fast R-CNN模拟OverFeat系統(因而也規避實作細節的其他差異)。在這個系統中,“建議框”是稠密滑動的,有3個尺度(128,256,512)和3個長寬比(1:1,1:2,2:1)。Fast R-CNN被訓練來從這些滑動視窗預測特定類的得分和回歸盒的位置。由于OverFeat系統采用多尺度的特征,我們也用由5個尺度中提取的卷積特征來評價。我們使用[7,5]中一樣的5個尺度。

表5比較了兩級系統和兩個單級系統的變體。使用ZF模型,單級系統具有53.9%的mAP。這比兩級系統(58.7%)低4.8%。這個實驗證明級聯區域建議方法和目标檢測的有效性。類似的觀察報告在[5,13]中,在兩篇論文中用滑動視窗取代SS區域建議都導緻了約6%的下降。我們還注意到,單級系統比較慢,因為它有相當多的建議框要處理。

表5:單級檢測vs.兩級建議+檢測。檢測結果都是在PASCAL VOC2007測試集使用ZF模型和Fast R-CNN。RPN使用非共享的特征。

Faster R-CNN 解析

5.總結

我們對高效和準确的區域建議的生成提出了區域建議建議網絡(RPN)。通過與其後的檢測網絡共享卷積特征,區域建議的步驟幾乎是無損耗的。我們的方法使一個一緻的,基于深度學習的目标檢測系統以5-17 fps的速度運作。學到的RPN也改善了區域建議的品質,進而改善整個目标檢測的準确性。

表6:Fast R-CNN檢測器和VGG16在PASCAL VOC 2007測試集的結果。對于RPN,Fast R-CNN訓練時的建議框是2k個。RPN*表示非共享特征的版本。*

Faster R-CNN 解析

表7:Fast R-CNN檢測器和VGG16在PASCAL VOC 2012測試集的結果。對于RPN,Fast R-CNN訓練時的建議框是2k個。

Faster R-CNN 解析
Faster R-CNN 解析
Faster R-CNN 解析
Faster R-CNN 解析
Faster R-CNN 解析
Faster R-CNN 解析
Faster R-CNN 解析

圖3:對最終的檢測結果使用具有共享特征的RPN + FastR-CNN在PASCAL VOC 2007測試集上的例子。模型是VGG16,訓練資料是07 + 12trainval。我們的方法檢測的對象具有範圍廣泛的尺度和長寬比。每個輸出框與一個類别标簽和一個範圍在[0,1]的softmax得分相關聯。顯示這些圖像的得分門檻值是0.6。取得這些結果的運作時間是每幅圖像198ms,包括所有步驟。

引用

[1] N. Chavali, H. Agrawal, A. Mahendru, and D. Batra. Object-Proposal Evaluation Protocol is ’Gameable’. arXiv: 1505.05836, 2015.

[2] J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. In CVPR, 2015.

[3] D. Erhan, C. Szegedy, A. Toshev, and D. Anguelov. Scalable object detection using deep neural networks. In CVPR, 2014.

[4] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2007 (VOC2007) Results, 2007.

[5] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015. 

[6] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.

[7] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV. 2014.

[8] J. Hosang, R. Benenson, P. Doll´ar, and B. Schiele. What makes for effective detection proposals? arXiv:1502.05082, 2015.

[9] J. Hosang, R. Benenson, and B. Schiele. How good are detection proposals, really? In BMVC, 2014.

[10] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv:1408.5093, 2014.

[11] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.

[12] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard,W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural computation, 1989.

[13] K. Lenc and A. Vedaldi. R-CNN minus R. arXiv:1506.06981, 2015. 

[14] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015.

[15] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In ICML, 2010.

[16] S. Ren, K. He, R. Girshick, X. Zhang, and J. Sun. Object detection networks on convolutional feature maps. arXiv:1504.06066, 2015.

[17] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. arXiv:1409.0575, 2014.

[18] 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.

[19] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.

[20] C. Szegedy, S. Reed, D. Erhan, and D. Anguelov. Scalable, high-quality object detection. arXiv:1412.1441v2, 2015.

[21] C. Szegedy, A. Toshev, and D. Erhan. Deep neural networks for object detection. In NIPS, 2013.

[22] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A.W. Smeulders. Selective search for object recognition. IJCV, 2013.

[23] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional neural networks. In ECCV, 2014.

[24] C. L. Zitnick and P. Doll´ar. Edge boxes: Locating object proposals from edges. In ECCV, 2014.

繼續閱讀