本文是繼RCNN[1],fast RCNN[2]之后,目標(biāo)檢測界的領(lǐng)軍人物Ross Girshick團(tuán)隊(duì)在2015年的又一力作。簡單網(wǎng)絡(luò)目標(biāo)檢測速度達(dá)到17fps,在PASCAL VOC上準(zhǔn)確率為59.9%;復(fù)雜網(wǎng)絡(luò)達(dá)到5fps,準(zhǔn)確率78.8%。
作者在github上給出了基于matlab和python的源碼。對Region CNN算法不了解的同學(xué),請先參看這兩篇文章:《RCNN算法詳解》,《fast RCNN算法詳解》。
思想
從RCNN到fast RCNN,再到本文的faster RCNN,目標(biāo)檢測的四個基本步驟(候選區(qū)域生成,特征提取,分類,位置精修)終于被統(tǒng)一到一個深度網(wǎng)絡(luò)框架之內(nèi)。所有計(jì)算沒有重復(fù),完全在GPU中完成,大大提高了運(yùn)行速度。
faster RCNN可以簡單地看做“區(qū)域生成網(wǎng)絡(luò)+fast RCNN“的系統(tǒng),用區(qū)域生成網(wǎng)絡(luò)代替fast RCNN中的Selective Search方法。本篇論文著重解決了這個系統(tǒng)中的三個問題:
如何設(shè)計(jì)區(qū)域生成網(wǎng)絡(luò)
如何訓(xùn)練區(qū)域生成網(wǎng)絡(luò)
如何讓區(qū)域生成網(wǎng)絡(luò)和fast RCNN網(wǎng)絡(luò)共享特征提取網(wǎng)絡(luò)
區(qū)域生成網(wǎng)絡(luò):結(jié)構(gòu)
基本設(shè)想是:在提取好的特征圖上,對所有可能的候選框進(jìn)行判別。由于后續(xù)還有位置精修步驟,所以候選框?qū)嶋H比較稀疏。
特征提取
原始特征提取(上圖灰色方框)包含若干層conv+relu,直接套用ImageNet上常見的分類網(wǎng)絡(luò)即可。本文試驗(yàn)了兩種網(wǎng)絡(luò):5層的ZF[3],16層的VGG-16[[^-4]],具體結(jié)構(gòu)不再贅述。
額外添加一個conv+relu層,輸出5139256維特征(feature)。
候選區(qū)域(anchor)
特征可以看做一個尺度5139的256通道圖像,對于該圖像的每一個位置,考慮9個可能的候選窗口:三種面積{ 12 8 2 , 25 6 2 , 51 2 2 } × \{128^2, 256^2, 512^2 \}\times{1282,2562,5122}×三種比例{ 1 : 1 , 1 : 2 , 2 : 1 } \{ 1:1, 1:2, 2:1\}{1:1,1:2,2:1}。這些候選窗口稱為anchors。下圖示出5139個anchor中心,以及9種anchor示例。
在整個faster RCNN算法中,有三種尺度。
原圖尺度:原始輸入的大小。不受任何限制,不影響性能。
歸一化尺度:輸入特征提取網(wǎng)絡(luò)的大小,在測試時設(shè)置,源碼中opts.test_scale=600。anchor在這個尺度上設(shè)定。這個參數(shù)和anchor的相對大小決定了想要檢測的目標(biāo)范圍。
網(wǎng)絡(luò)輸入尺度:輸入特征檢測網(wǎng)絡(luò)的大小,在訓(xùn)練時設(shè)置,源碼中為224*224。
窗口分類和位置精修
分類層(cls_score)輸出每一個位置上,9個anchor屬于前景和背景的概率;窗口回歸層(bbox_pred)輸出每一個位置上,9個anchor對應(yīng)窗口應(yīng)該平移縮放的參數(shù)。
對于每一個位置來說,分類層從256維特征中輸出屬于前景和背景的概率;窗口回歸層從256維特征中輸出4個平移縮放參數(shù)。
就局部來說,這兩層是全連接網(wǎng)絡(luò);就全局來說,由于網(wǎng)絡(luò)在所有位置(共51*39個)的參數(shù)相同,所以實(shí)際用尺寸為1×1的卷積網(wǎng)絡(luò)實(shí)現(xiàn)。
實(shí)際代碼中,將51399個候選位置根據(jù)得分排序,選擇最高的一部分,再經(jīng)過Non-Maximum Suppression獲得2000個候選結(jié)果。之后才送入分類器和回歸器。
所以Faster-RCNN和RCNN, Fast-RCNN一樣,屬于2-stage的檢測算法。
區(qū)域生成網(wǎng)絡(luò):訓(xùn)練
樣本
考察訓(xùn)練集中的每張圖像:
a. 對每個標(biāo)定的真值候選區(qū)域,與其重疊比例最大的anchor記為前景樣本
b. 對a)剩余的anchor,如果其與某個標(biāo)定重疊比例大于0.7,記為前景樣本;如果其與任意一個標(biāo)定的重疊比例都小于0.3,記為背景樣本
c. 對a),b)剩余的anchor,棄去不用。
d. 跨越圖像邊界的anchor棄去不用
代價函數(shù)
同時最小化兩種代價:
a. 分類誤差
b. 前景樣本的窗口位置偏差
具體參看fast RCNN中的“分類與位置調(diào)整”段落。
超參數(shù)
原始特征提取網(wǎng)絡(luò)使用ImageNet的分類樣本初始化,其余新增層隨機(jī)初始化。
每個mini-batch包含從一張圖像中提取的256個anchor,前景背景樣本1:1.
前60K迭代,學(xué)習(xí)率0.001,后20K迭代,學(xué)習(xí)率0.0001。
momentum設(shè)置為0.9,weight decay設(shè)置為0.0005。[4]
共享特征
區(qū)域生成網(wǎng)絡(luò)(RPN)和fast RCNN都需要一個原始特征提取網(wǎng)絡(luò)(下圖灰色方框)。這個網(wǎng)絡(luò)使用ImageNet的分類庫得到初始參數(shù)W 0 W_0W0?,但要如何精調(diào)參數(shù),使其同時滿足兩方的需求呢?本文講解了三種方法。
輪流訓(xùn)練
a. 從W 0 W_0W0?開始,訓(xùn)練RPN。用RPN提取訓(xùn)練集上的候選區(qū)域
b. 從W 0 W_0W0?開始,用候選區(qū)域訓(xùn)練Fast RCNN,參數(shù)記為W 1 W_1W1?
c. 從W 1 W_1W1?開始,訓(xùn)練RPN…
具體操作時,僅執(zhí)行兩次迭代,并在訓(xùn)練時凍結(jié)了部分層。論文中的實(shí)驗(yàn)使用此方法。
如Ross Girshick在ICCV 15年的講座Training R-CNNs of various velocities中所述,采用此方法沒有什么根本原因,主要是因?yàn)椤睂?shí)現(xiàn)問題,以及截稿日期“。
近似聯(lián)合訓(xùn)練
直接在上圖結(jié)構(gòu)上訓(xùn)練。在backward計(jì)算梯度時,把提取的ROI區(qū)域當(dāng)做固定值看待;在backward更新參數(shù)時,來自RPN和來自Fast RCNN的增量合并輸入原始特征提取層。
此方法和前方法效果類似,但能將訓(xùn)練時間減少20%-25%。公布的python代碼中包含此方法。
聯(lián)合訓(xùn)練
直接在上圖結(jié)構(gòu)上訓(xùn)練。但在backward計(jì)算梯度時,要考慮ROI區(qū)域的變化的影響。推導(dǎo)超出本文范疇,請參看15年NIP論文[5]。
實(shí)驗(yàn)
除了開篇提到的基本性能外,還有一些值得注意的結(jié)論
與Selective Search方法(黑)相比,當(dāng)每張圖生成的候選區(qū)域從2000減少到300時,本文RPN方法(紅藍(lán))的召回率下降不大。說明RPN方法的目的性更明確。
使用更大的Microsoft COCO庫[6]訓(xùn)練,直接在PASCAL VOC上測試,準(zhǔn)確率提升6%。說明faster RCNN遷移性良好,沒有over fitting。
Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2014. ??
Girshick, Ross. “Fast r-cnn.” Proceedings of the IEEE International Conference on Computer Vision. 2015. ??
M. D. Zeiler and R. Fergus, “Visualizing and understanding convolutional neural networks,” in European Conference on Computer Vision (ECCV), 2014. ??
learning rate-控制增量和梯度之間的關(guān)系;momentum-保持前次迭代的增量;weight decay-每次迭代縮小參數(shù),相當(dāng)于正則化。 ??
Jaderberg et al. “Spatial Transformer Networks”
NIPS 2015 ??
30萬+圖像,80類檢測庫。
責(zé)任編輯:xj
-
目標(biāo)檢測
+關(guān)注
關(guān)注
0文章
209瀏覽量
15605 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5500瀏覽量
121111
發(fā)布評論請先 登錄
相關(guān)推薦
評論