日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)

發(fā)布時間:2024/9/21 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文出處

感謝作者~

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

Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun

摘要

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

? ? ?

1.引言

? ? ? ? ? ?最近在目標(biāo)檢測中取得的進(jìn)步都是由區(qū)域建議方法(例如[22])和基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)[6]取得的成功來推動的。基于區(qū)域的CNN在[6]中剛提出時在計算上消耗很大,幸好后來這個消耗通過建議框之間共享卷積[7,5]大大降低了。最近的Fast R-CNN[5]用非常深的網(wǎng)絡(luò)[19]實現(xiàn)了近實時檢測的速率,注意它忽略了生成區(qū)域建議框的時間。現(xiàn)在,建議框是最先進(jìn)的檢測系統(tǒng)中的計算瓶頸。?
? ? ? 區(qū)域建議方法典型地依賴于消耗小的特征和經(jīng)濟(jì)的獲取方案。選擇性搜索(Selective Search, SS)[22]是最流行的方法之一,它基于設(shè)計好的低級特征貪心地融合超級像素。與高效檢測網(wǎng)絡(luò)[5]相比,SS要慢一個數(shù)量級,CPU應(yīng)用中大約每個圖像2s。EdgeBoxes[24]在建議框質(zhì)量和速度之間做出了目前最好的權(quán)衡,大約每個圖像0.2s。但無論如何,區(qū)域建議步驟花費了和檢測網(wǎng)絡(luò)差不多的時間。?
Fast R-CNN利用了GPU,而區(qū)域建議方法是在CPU上實現(xiàn)的,這個運行時間的比較是不公平的。一種明顯提速生成建議框的方法是在GPU上實現(xiàn)它,這是一種工程上很有效的解決方案,但這個方法忽略了其后的檢測網(wǎng)絡(luò),因而也錯失了共享計算的重要機(jī)會。?
? ? ? ?本文中,我們改變了算法——用深度網(wǎng)絡(luò)計算建議框——這是一種簡潔有效的解決方案,建議框計算幾乎不會給檢測網(wǎng)絡(luò)的計算帶來消耗。為了這個目的,我們介紹新穎的區(qū)域建議網(wǎng)絡(luò)(Region Proposal Networks, RPN),它與最先進(jìn)的目標(biāo)檢測網(wǎng)絡(luò)[7,5]共享卷積層。在測試時,通過共享卷積,計算建議框的邊際成本是很小的(例如每個圖像10ms)。?
? ? ? ?我們觀察發(fā)現(xiàn),基于區(qū)域的檢測器例如Fast R-CNN使用的卷積(conv)特征映射,同樣可以用于生成區(qū)域建議。我們緊接著這些卷積特征增加兩個額外的卷積層,構(gòu)造RPN:第一個層把每個卷積映射位置編碼為一個短的(例如256-d)特征向量,第二個層在每個卷積映射位置,輸出這個位置上多種尺度和長寬比的k個區(qū)域建議的objectness得分和回歸邊界(k=9是典型值)。?
? ? ? ?我們的RPN是一種全卷積網(wǎng)絡(luò)(fully-convolutional network, FRN)[14],可以針對生成檢測建議框的任務(wù)端到端地訓(xùn)練。為了統(tǒng)一RPN和Fast R-CNN[5]目標(biāo)檢測網(wǎng)絡(luò),我們提出一種簡單的訓(xùn)練方案,即保持建議框固定,微調(diào)區(qū)域建議和微調(diào)目標(biāo)檢測之間交替進(jìn)行。這個方案收斂很快,最后形成可讓兩個任務(wù)共享卷積特征的標(biāo)準(zhǔn)網(wǎng)絡(luò)。?
? ? ? ?我們在PASCAL VOC檢測標(biāo)準(zhǔn)集[4]上評估我們的方法,?fast R-CNN結(jié)合RPN的檢測準(zhǔn)確率超過了作為強大基準(zhǔn)的fast R-CNN結(jié)合SS的方法。同時,我們的方法沒有了SS測試時的計算負(fù)擔(dān),對于生成建議框的有效運行時間只有10毫秒。利用[19]中網(wǎng)絡(luò)非常深的深度模型,我們的檢測方法在GPU上依然有5fps的幀率(包括所有步驟),因此就速度和準(zhǔn)確率(PASCAL VOC 2007上是73.2%mAP,PASCAL VOC 2012上是70.4%)而言,這是一個實用的目標(biāo)檢測系統(tǒng)。

2.相關(guān)工作

? ? ? ? ??最近幾篇文章中提出了用深度網(wǎng)絡(luò)定位類確定或類不確定的包圍盒[21, 18, 3, 20]的方法。在OverFeat方法[18]中,訓(xùn)練全連接(fc)層,對假定只有一個目標(biāo)的定位任務(wù)預(yù)測包圍盒坐標(biāo)。fc層再轉(zhuǎn)入卷積層來檢測多個類確定的目標(biāo)。MultiBox方法[3, 20]從最后一個fc層同時預(yù)測多個(如800)包圍盒的網(wǎng)絡(luò)中生成區(qū)域建議,R-CNN[6]就是用的這個。他們的建議框網(wǎng)絡(luò)應(yīng)用于單個圖像或多個大圖像的切割部分(如224x224)[20]。我們在后文中講我們的方法時會更深層次地討論OverFeat和MultiBox。?
? ? ? 卷積的共享計算[18, 7, 2, 5]高效、精確,已經(jīng)在視覺識別方面吸引了越來越多的注意。OverFeat論文[18]從圖像金字塔計算卷積特征,用于分類、定位、檢測。在共享的卷積特征映射上自適應(yīng)大小的pooling(SPP)[7]能有效用于基于區(qū)域的目標(biāo)檢測[7, 16]和語義分割[2]。Fast R-CNN[5]實現(xiàn)了在共享卷積特征上訓(xùn)練的端到端檢測器,顯示出令人驚嘆的準(zhǔn)確率和速度。

? ??

3.區(qū)域建議網(wǎng)絡(luò)

? ?? ? ? 區(qū)域建議網(wǎng)絡(luò)(RPN)將一個圖像(任意大小)作為輸入,輸出矩形目標(biāo)建議框的集合,每個框有一個objectness得分。我們用全卷積網(wǎng)絡(luò)[14]對這個過程構(gòu)建模型,本章會詳細(xì)描述。因為我們的最終目標(biāo)是和Fast R-CNN目標(biāo)檢測網(wǎng)絡(luò)[15]共享計算,所以假設(shè)這兩個網(wǎng)絡(luò)共享一系列卷積層。在實驗中,我們詳細(xì)研究Zeiler和Fergus的模型[23](ZF),它有5個可共享的卷積層,以及Simonyan和Zisserman的模型[19](VGG),它有13個可共享的卷積層。?
? ? ? ?為了生成區(qū)域建議框,我們在最后一個共享的卷積層輸出的卷積特征映射上滑動小網(wǎng)絡(luò),這個網(wǎng)絡(luò)全連接到輸入卷積特征映射的nxn的空間窗口上。每個滑動窗口映射到一個低維向量上(對于ZF是256-d,對于VGG是512-d,每個特征映射的一個滑動窗口對應(yīng)一個數(shù)值)。這個向量輸出給兩個同級的全連接的層——包圍盒回歸層(reg)和包圍盒分類層(cls)。本文中n=3,注意圖像的有效感受野很大(ZF是171像素,VGG是228像素)。圖1(左)以這個小網(wǎng)絡(luò)在某個位置的情況舉了個例子。注意,由于小網(wǎng)絡(luò)是滑動窗口的形式,所以全連接的層(nxn的)被所有空間位置共享(指所有位置用來計算內(nèi)積的nxn的層參數(shù)相同)。這種結(jié)構(gòu)實現(xiàn)為nxn的卷積層,后接兩個同級的1x1的卷積層(分別對應(yīng)reg和cls),ReLU[15]應(yīng)用于nxn卷積層的輸出。

圖1:左:區(qū)域建議網(wǎng)絡(luò)(RPN)。右:用RPN建議框在PASCAL VOC 2007測試集上的檢測實例。我們的方法可以在很大范圍的尺度和長寬比中檢測目標(biāo)。

平移不變的anchor

? ? ? ?在每一個滑動窗口的位置,我們同時預(yù)測k個區(qū)域建議,所以reg層有4k個輸出,即k個box的坐標(biāo)編碼。cls層輸出2k個得分,即對每個建議框是目標(biāo)/非目標(biāo)的估計概率(為簡單起見,是用二類的softmax層實現(xiàn)的cls層,還可以用logistic回歸來生成k個得分)。k個建議框被相應(yīng)的k個稱為anchor的box參數(shù)化。每個anchor以當(dāng)前滑動窗口中心為中心,并對應(yīng)一種尺度和長寬比,我們使用3種尺度和3種長寬比,這樣在每一個滑動位置就有k=9個anchor。對于大小為WxH(典型值約2,400)的卷積特征映射,總共有WHk個anchor。我們的方法有一個重要特性,就是平移不變性,對anchor和對計算anchor相應(yīng)的建議框的函數(shù)而言都是這樣。?
? ? ? ?作為比較,MultiBox方法[20]用k-means生成800個anchor,但不具有平移不變性。如果平移了圖像中的目標(biāo),建議框也應(yīng)該平移,也應(yīng)該能用同樣的函數(shù)預(yù)測建議框。此外,因為MultiBox的anchor不具有平移不變性,所以它需要(4+1)x800-d的輸出層,而我們的方法只要(4+2)x9-d的輸出層。我們的建議框?qū)由僖粋€數(shù)量級的參數(shù)(MultiBox用GoogleLeNet[20]需要2700萬vs.RPN用VGG-16需要240萬),這樣在PASCAL VOC這種小數(shù)據(jù)集上出現(xiàn)過擬合的風(fēng)險較小。

學(xué)習(xí)區(qū)域建議的損失函數(shù)

? ? ? ? 為了訓(xùn)練RPN,我們給每個anchor分配一個二進(jìn)制的標(biāo)簽(是不是目標(biāo))。我們分配正標(biāo)簽給兩類anchor:(i)與某個groundtruth(GT)包圍盒有最高的IoU(Intersection-over-Union,交集并集之比)重疊的anchor(也許不到0.7),(ii)與任意GT包圍盒有大于0.7的IoU交疊的anchor。注意到一個GT包圍盒可能分配正標(biāo)簽給多個anchor。我們分配負(fù)標(biāo)簽給與所有GT包圍盒的IoU比率都低于0.3的anchor。非正非負(fù)的anchor對訓(xùn)練目標(biāo)沒有任何作用。?
? ? ? 有了這些定義,我們遵循Fast R-CNN[5]中的多任務(wù)損失,最小化目標(biāo)函數(shù)。我們對一個圖像的損失函數(shù)定義為?
? 這里,i是一個mini-batch中anchor的索引,Pi是anchor i是目標(biāo)的預(yù)測概率。如果anchor為正,GT標(biāo)簽Pi*就是1,如果anchor為負(fù),Pi*就是0。ti是一個向量,表示預(yù)測的包圍盒的4個參數(shù)化坐標(biāo),ti*是與正anchor對應(yīng)的GT包圍盒的坐標(biāo)向量。分類損失*Lcls是兩個類別(目標(biāo)vs.非目標(biāo))的對數(shù)損失。對于回歸損失*,我們用?來計算,其中R是[5]中定義的魯棒的損失函數(shù)(smooth L1)。?
? Pi* Lreg這一項意味著只有正anchor(Pi* =1)才有回歸損失,其他情況就沒有(Pi*=0)。cls層和reg層的輸出分別由{pi}和{ti}組成,這兩項分別由Ncls和Nreg以及一個平衡權(quán)重λ歸一化(早期實現(xiàn)及公開的代碼中,λ=10,cls項的歸一化值為mini-batch的大小,即Ncls=256,reg項的歸一化值為anchor位置的數(shù)量,即Nreg~2,400,這樣cls和reg項差不多是等權(quán)重的。?
對于回歸,我們學(xué)習(xí)[6]采用4個坐標(biāo):?
?
x,y,w,h指的是包圍盒中心的(x,y)坐標(biāo)、寬、高。變量x,xa,x*分別指預(yù)測的包圍盒、anchor的包圍盒、GT的包圍盒(對y,w,h也是一樣)的x坐標(biāo)。可以理解為從anchor包圍盒到附近的GT包圍盒的包圍盒回歸。?
無論如何,我們用了一種與之前的基于特征映射的方法[7, 5]不同的方法實現(xiàn)了包圍盒算法。在[7, 5]中,包圍盒回歸在從任意大小的區(qū)域中pooling到的特征上執(zhí)行,回歸權(quán)重是所有不

?

? ? ?同大小的區(qū)域共享的。在我們的方法中,用于回歸的特征在特征映射中具有相同的空間大小(nxn)。考慮到各種不同的大小,需要學(xué)習(xí)一系列k個包圍盒回歸量。每一個回歸量對應(yīng)于一個尺度和長寬比,k個回歸量之間不共享權(quán)重。因此,即使特征具有固定的尺寸/尺度,預(yù)測各種尺寸的包圍盒仍然是可能的。

優(yōu)化

? ? ? ? RPN很自然地實現(xiàn)為全卷積網(wǎng)絡(luò)[14],通過反向傳播和隨機(jī)梯度下降(SGD)[12]端到端訓(xùn)練。我們遵循[5]中的“image-centric”采樣策略訓(xùn)練這個網(wǎng)絡(luò)。每個mini-batch由包含了許多正負(fù)樣本的單個圖像組成。我們可以優(yōu)化所有anchor的損失函數(shù),但是這會偏向于負(fù)樣本,因為它們是主要的。因此,我們隨機(jī)地在一個圖像中采樣256個anchor,計算mini-batch的損失函數(shù),其中采樣的正負(fù)anchor的比例是1:1。如果一個圖像中的正樣本數(shù)小于128,我們就用負(fù)樣本填補這個mini-batch。?
? ? ? ? 我們通過從零均值標(biāo)準(zhǔn)差為0.01的高斯分布中獲取的權(quán)重來隨機(jī)初始化所有新層(最后一個卷積層其后的層),所有其他層(即共享的卷積層)是通過對ImageNet分類[17]預(yù)訓(xùn)練的模型來初始化的,這也是標(biāo)準(zhǔn)慣例[6]。我們調(diào)整ZF網(wǎng)絡(luò)的所有層,以及conv3_1,并為VGG網(wǎng)絡(luò)做準(zhǔn)備,以節(jié)約內(nèi)存[5]。我們在PASCAL數(shù)據(jù)集上對于60k個mini-batch用的學(xué)習(xí)率為0.001,對于下一20k個mini-batch用的學(xué)習(xí)率是0.0001。動量是0.9,權(quán)重衰減為0.0005[11]。我們的實現(xiàn)使用了Caffe[10]。

區(qū)域建議與目標(biāo)檢測共享卷積特征

? ? ? ? 迄今為止,我們已經(jīng)描述了如何為生成區(qū)域建議訓(xùn)練網(wǎng)絡(luò),而沒有考慮基于區(qū)域的目標(biāo)檢測CNN如何利用這些建議框。對于檢測網(wǎng)絡(luò),我們采用Fast R-CNN[5],現(xiàn)在描述一種算法,學(xué)習(xí)由RPN和Fast R-CNN之間共享的卷積層。?
RPN和Fast R-CNN都是獨立訓(xùn)練的,要用不同方式修改它們的卷積層。因此我們需要開發(fā)一種允許兩個網(wǎng)絡(luò)間共享卷積層的技術(shù),而不是分別學(xué)習(xí)兩個網(wǎng)絡(luò)。注意到這不是僅僅定義一個包含了RPN和Fast R-CNN的單獨網(wǎng)絡(luò),然后用反向傳播聯(lián)合優(yōu)化它那么簡單。原因是Fast R-CNN訓(xùn)練依賴于固定的目標(biāo)建議框,而且并不清楚當(dāng)同時改變建議機(jī)制時,學(xué)習(xí)Fast R-CNN會不會收斂。雖然這種聯(lián)合優(yōu)化在未來工作中是個有意思的問題,我們開發(fā)了一種實用的4步訓(xùn)練算法,通過交替優(yōu)化來學(xué)習(xí)共享的特征。?
? ? ?第一步,我們依上述訓(xùn)練RPN,該網(wǎng)絡(luò)用ImageNet預(yù)訓(xùn)練的模型初始化,并端到端微調(diào)用于區(qū)域建議任務(wù)。第二步,我們利用第一步的RPN生成的建議框,由Fast R-CNN訓(xùn)練一個單獨的檢測網(wǎng)絡(luò),這個檢測網(wǎng)絡(luò)同樣是由ImageNet預(yù)訓(xùn)練的模型初始化的,這時候兩個網(wǎng)絡(luò)還沒有共享卷積層。第三步,我們用檢測網(wǎng)絡(luò)初始化RPN訓(xùn)練,但我們固定共享的卷積層,并且只微調(diào)RPN獨有的層,現(xiàn)在兩個網(wǎng)絡(luò)共享卷積層了。第四步,保持共享的卷積層固定,微調(diào)Fast R-CNN的fc層。這樣,兩個網(wǎng)絡(luò)共享相同的卷積層,構(gòu)成一個統(tǒng)一的網(wǎng)絡(luò)。

實現(xiàn)細(xì)節(jié)

? ? ? ? 我們訓(xùn)練、測試區(qū)域建議和目標(biāo)檢測網(wǎng)絡(luò)都是在單一尺度的圖像上[7, 5]。我們縮放圖像,讓它們的短邊s=600像素[5]。多尺度特征提取可能提高準(zhǔn)確率但是不利于速度與準(zhǔn)確率之間的權(quán)衡[5]。我們也注意到ZF和VGG網(wǎng)絡(luò),對縮放后的圖像在最后一個卷積層的總步長為16像素,這樣相當(dāng)于一個典型的PASCAL圖像(~500x375)上大約10個像素(600/16=375/10)。即使是這樣大的步長也取得了好結(jié)果,盡管若步長小點準(zhǔn)確率可能得到進(jìn)一步提高。?
對于anchor,我們用3個簡單的尺度,包圍盒面積為128x128,256x256,512x512,和3個簡單的長寬比,1:1,1:2,2:1。注意到,在預(yù)測大建議框時,我們的算法考慮了使用大于基本感受野的anchor包圍盒。這些預(yù)不是不可能——只要看得見目標(biāo)的中間部分,還是能大致推斷出這個目標(biāo)的范圍。通過這個設(shè)計,我們的解決方案不需要多尺度特征或者多尺度滑動窗口來預(yù)測大的區(qū)域,節(jié)省了相當(dāng)多的運行時間。圖1(右)顯示了我們的算法處理多種尺度和長寬比的能力。下表是用ZF網(wǎng)絡(luò)對每個anchor學(xué)到的平均建議框大小(s=600)。


?

? ? ? ?跨越圖像邊界的anchor包圍盒要小心處理。在訓(xùn)練中,我們忽略所有跨越圖像邊界的anchor,這樣它們不會對損失有影響。對于一個典型的1000x600的圖像,差不多總共有20k(~60x40x9)anchor。忽略了跨越邊界的anchor以后,每個圖像只剩下6k個anchor需要訓(xùn)練了。如果跨越邊界的異常值在訓(xùn)練時不忽略,就會帶來又大又困難的修正誤差項,訓(xùn)練也不會收斂。在測試時,我們還是應(yīng)用全卷積的RPN到整個圖像中,這可能生成跨越邊界的建議框,我們將其裁剪到圖像邊緣位置。?
? ? ? ?有些RPN建議框和其他建議框大量重疊,為了減少冗余,我們基于建議區(qū)域的cls得分,對其采用非極大值抑制(non-maximum suppression, NMS)。我們固定對NMS的IoU閾值為0.7,這樣每個圖像只剩2k個建議區(qū)域。正如下面展示的,NMS不會影響最終的檢測準(zhǔn)確率,但是大幅地減少了建議框的數(shù)量。NMS之后,我們用建議區(qū)域中的top-N個來檢測。在下文中,我們用2k個RPN建議框訓(xùn)練Fast R-CNN,但是在測試時會對不同數(shù)量的建議框進(jìn)行評價。


4.實驗

? ??我們在PASCAL VOC2007檢測基準(zhǔn)[4]上綜合評價我們的方法。此數(shù)據(jù)集包括20個目標(biāo)類別,大約5k個trainval圖像和5k個test圖像。我們還對少數(shù)模型提供PASCAL VOC2012基準(zhǔn)上的結(jié)果。對于ImageNet預(yù)訓(xùn)練網(wǎng)絡(luò),我們用“fast”版本的ZF網(wǎng)絡(luò)[23],有5個卷積層和3個?fc層,公開的VGG-16模型[19],有13個卷積層和3個fc層。我們主要評估檢測的平均精度(mean Average Precision,mAP),因為這是對目標(biāo)檢測的實際度量標(biāo)準(zhǔn)(而不是側(cè)重于目標(biāo)建議框的代理度量)。?
? ? 表1(上)顯示了使用各種區(qū)域建議的方法訓(xùn)練和測試時FastR-CNN的結(jié)果。這些結(jié)果使用的是ZF網(wǎng)絡(luò)。對于選擇性搜索(SS)[22],我們用“fast”模式生成了2k個左右的SS建議框。對于EdgeBoxes(EB)[24],我們把默認(rèn)的EB設(shè)置調(diào)整為0.7IoU生成建議框。SS的mAP為58.7%,EB的mAP為58.6%。RPN與Fast R-CNN實現(xiàn)了有競爭力的結(jié)果,當(dāng)使用300個建議框時的mAP就有59.9%(對于RPN,建議框數(shù)量,如300,是一個圖像產(chǎn)生建議框的最大數(shù)量。RPN可能產(chǎn)生更少的建議框,這樣建議框的平均數(shù)量也更少了)。使用RPN實現(xiàn)了一個比用SS或EB更快的檢測系統(tǒng),因為有共享的卷積計算;建議框較少,也減少了區(qū)域方面的fc消耗。接下來,我們考慮RPN的幾種消融,然后展示使用非常深的網(wǎng)絡(luò)時,建議框質(zhì)量的提高。
??

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


?

?

? ? ?消融試驗。為了研究RPN作為建議框方法的表現(xiàn),我們進(jìn)行了多次消融研究。首先,我們展示了RPN和Fast R-CNN檢測網(wǎng)絡(luò)之間共享卷積層的影響。要做到這一點,我們在4步訓(xùn)練過程中的第二步后停下來。使用分離的網(wǎng)絡(luò)時的結(jié)果稍微降低為58.7%(RPN+ ZF,非共享,表1)。我們觀察到,這是因為在第三步中,當(dāng)調(diào)整過的檢測器特征用于微調(diào)RPN時,建議框質(zhì)量得到提高。?
? ? ?接下來,我們理清了RPN在訓(xùn)練Fast R-CNN檢測網(wǎng)絡(luò)上的影響。為此,我們用2k個SS建議框和ZF網(wǎng)絡(luò)訓(xùn)練了一個Fast R-CNN模型。我們固定這個檢測器,通過改變測試時使用的建議區(qū)域,評估檢測的mAP。在這些消融實驗中,RPN不與檢測器共享特征。?
? ? 在測試時用300個RPN建議框替換SS,mAP為56.8%。mAP的損失是訓(xùn)練/測試建議框之間的不一致所致。該結(jié)果作為以下比較的基準(zhǔn)。?
? ? ?有些奇怪的是,在測試時使用排名最高的100個建議框時,RPN仍然會取得有競爭力的結(jié)果(55.1%),表明這種高低排名的RPN建議框是準(zhǔn)確的。另一種極端情況,使用排名最高的6k個RPN建議框(沒有NMS)取得具有可比性的mAP(55.2%),這表明NMS不會降低檢測mAP,反而可以減少誤報。?
? ? ?接下來,我們通過在測試時分別移除RPN的cls和reg中的一個,研究它們輸出的作用。當(dāng)在測試時(因此沒有用NMS/排名)移除cls層,我們從沒有計算得分的區(qū)域隨機(jī)抽取N個建議框。N =1k?時mAP幾乎沒有變化(55.8%),但當(dāng)N=100則大大降低為44.6%。這表明,cls得分是排名最高的建議框準(zhǔn)確的原因。?
? ? ?另一方面,當(dāng)在測試時移除reg層(這樣的建議框就直接是anchor框了),mAP下降到52.1%。這表明,高品質(zhì)的建議框主要歸功于回歸后的位置。單是anchor框不足以精確檢測。?
? ? ?我們還評估更強大的網(wǎng)絡(luò)對RPN的建議框質(zhì)量的作用。我們使用VGG-16訓(xùn)練RPN,并仍然使用上述SS+ZF檢測器。mAP從56.8%(使用RPN+ZF)提高到59.2%(使用RPN+VGG)。這是一個滿意的結(jié)果,因為它表明,RPN+VGG的建議框質(zhì)量比RPN+ZF的更好。由于RPN+ZF的建議框是可與SS競爭的(訓(xùn)練和測試一致使用時都是58.7%),我們可以預(yù)期RPN+VGG比SS好。下面的實驗證明這一假說。?
? ? ?VGG-16的檢測準(zhǔn)確率與運行時間。表2展示了VGG-16對建議框和檢測的結(jié)果。使用RPN+VGG,Fast R-CNN對不共享特征的結(jié)果是68.5%,比SS基準(zhǔn)略高。如上所示,這是因為由RPN+VGG產(chǎn)生的建議框比SS更準(zhǔn)確。不像預(yù)先定義的SS,RPN是實時訓(xùn)練的,能從更好的網(wǎng)絡(luò)獲益。對特征共享的變型,結(jié)果是69.9%——比強大的SS基準(zhǔn)更好,建議框幾乎無損耗。我們跟隨[5],在PASCAL VOC2007 trainval和2012 trainval的并集上進(jìn)一步訓(xùn)練RPN,mAP是73.2%。跟[5]一樣在VOC 2007 trainval+test和VOC2012 trainval的并集上訓(xùn)練時,我們的方法在PASCAL VOC 2012測試集上(表3)有70.4%的mAP。

? ??

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


?

表3:PASCAL VOC 2012測試集檢測結(jié)果。檢測器是Fast R-CNN和VGG16。訓(xùn)練數(shù)據(jù):“07”:VOC 2007 trainval,“07++12”:?VOC 2007 trainval+test和VOC 2012 trainval的并集。對RPN,用于Fast R-CNN訓(xùn)練時的建議框是2k。


?

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

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


?

?

? ? ? ?IoU召回率的分析。接下來,我們計算建議框與GT框在不同的IoU比例時的召回率。值得注意的是,該IoU召回率度量標(biāo)準(zhǔn)與最終的檢測準(zhǔn)確率只是松散[9, 8, 1]相關(guān)的。更適合用這個度量標(biāo)準(zhǔn)來診斷建議框方法,而不是對其進(jìn)行評估。?
? ? ? ?在圖2中,我們展示使用300,1k,和2k個建議框的結(jié)果。我們將SS和EB作比較,并且這N個建議框是基于用這些方法生成的按置信度排名的前N個。該圖顯示,當(dāng)建議框數(shù)量由2k下降到300時,RPN方法的表現(xiàn)很好。這就解釋了使用少到300個建議框時,為什么RPN有良好的最終檢測mAP。正如我們前面分析的,這個屬性主要是歸因于RPN的cls項。當(dāng)建議框變少時,SS和EB的召回率下降的速度快于RPN。

?

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

? ? ? ? **單級的檢測vs.兩級的建議框+檢測。**OverFeat論文[18]提出在卷積特征映射的滑動窗口上使用回歸和分類的檢測方法。OverFeat是一個單級的,類特定的檢測流程,我們的是一個兩級的,由類無關(guān)的建議框方法和類特定的檢測組成的級聯(lián)方法。在OverFeat中,區(qū)域方面的特征來自一個滑動窗口,對應(yīng)一個尺度金字塔的一個長寬比。這些特征被用于同時確定物體的位置和類別。在RPN中,特征都來自相對于anchor的方形(3*3)滑動窗口和預(yù)測建議框,是不同的尺度和長寬比。雖然這兩種方法都使用滑動窗口,區(qū)域建議任務(wù)只是RPN + Fast R-CNN的第一級——檢測器致力于改進(jìn)建議框。在我們級聯(lián)方法的第二級,區(qū)域一級的特征自適應(yīng)地從建議框進(jìn)行pooling[7, 5],更如實地覆蓋區(qū)域的特征。我們相信這些特征帶來更準(zhǔn)確的檢測。?
? ? ? ? 為了比較單級和兩級系統(tǒng),我們通過單級的Fast R-CNN模擬OverFeat系統(tǒng)(因而也規(guī)避實現(xiàn)細(xì)節(jié)的其他差異)。在這個系統(tǒng)中,“建議框”是稠密滑動的,有3個尺度(128,256,512)和3個長寬比(1:1,1:2,2:1)。Fast R-CNN被訓(xùn)練來從這些滑動窗口預(yù)測特定類的得分和回歸盒的位置。由于OverFeat系統(tǒng)采用多尺度的特征,我們也用由5個尺度中提取的卷積特征來評價。我們使用[7,5]中一樣的5個尺度。?
? ? ? ? ? 表5比較了兩級系統(tǒng)和兩個單級系統(tǒng)的變體。使用ZF模型,單級系統(tǒng)具有53.9%的mAP。這比兩級系統(tǒng)(58.7%)低4.8%。這個實驗證明級聯(lián)區(qū)域建議方法和目標(biāo)檢測的有效性。類似的觀察報告在[5,13]中,在兩篇論文中用滑動窗口取代SS區(qū)域建議都導(dǎo)致了約6%的下降。我們還注意到,單級系統(tǒng)比較慢,因為它有相當(dāng)多的建議框要處理。

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


?

5.總結(jié)

? ? ? ?我們對高效和準(zhǔn)確的區(qū)域建議的生成提出了區(qū)域建議建議網(wǎng)絡(luò)(RPN)。通過與其后的檢測網(wǎng)絡(luò)共享卷積特征,區(qū)域建議的步驟幾乎是無損耗的。我們的方法使一個一致的,基于深度學(xué)習(xí)的目標(biāo)檢測系統(tǒng)以5-17 fps的速度運行。學(xué)到的RPN也改善了區(qū)域建議的質(zhì)量,進(jìn)而改善整個目標(biāo)檢測的準(zhǔn)確性。

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


?

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


總結(jié)

以上是生活随笔為你收集整理的Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。