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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Faster RCNN算法详解

發布時間:2024/9/21 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Faster RCNN算法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal networks.” Advances in Neural Information Processing Systems. 2015.

本文是繼RCNN[1],fast RCNN[2]之后,目標檢測界的領軍人物Ross Girshick團隊在2015年的又一力作。簡單網絡目標檢測速度達到17fps,在PASCAL VOC上準確率為59.9%;復雜網絡達到5fps,準確率78.8%。

作者在github上給出了基于matlab和python的源碼。對Region CNN算法不了解的同學,請先參看這兩篇文章:《RCNN算法詳解》,《fast RCNN算法詳解》。

思想

從RCNN到fast RCNN,再到本文的faster RCNN,目標檢測的四個基本步驟(候選區域生成,特征提取,分類,位置精修)終于被統一到一個深度網絡框架之內。所有計算沒有重復,完全在GPU中完成,大大提高了運行速度。?

faster RCNN可以簡單地看做“區域生成網絡+fast RCNN“的系統,用區域生成網絡代替fast RCNN中的Selective Search方法。本篇論文著重解決了這個系統中的三個問題:?
1. 如何設計區域生成網絡?
2. 如何訓練區域生成網絡?
3. 如何讓區域生成網絡和fast RCNN網絡共享特征提取網絡

區域生成網絡:結構

基本設想是:在提取好的特征圖上,對所有可能的候選框進行判別。由于后續還有位置精修步驟,所以候選框實際比較稀疏。?

特征提取

原始特征提取(上圖灰色方框)包含若干層conv+relu,直接套用ImageNet上常見的分類網絡即可。本文試驗了兩種網絡:5層的ZF[3],16層的VGG-16[4],具體結構不再贅述。?
額外添加一個conv+relu層,輸出51*39*256維特征(feature)。

候選區域(anchor)

特征可以看做一個尺度51*39的256通道圖像,對于該圖像的每一個位置,考慮9個可能的候選窗口:三種面積{1282,2562,5122}×三種比例{1:1,1:2,2:1}。這些候選窗口稱為anchors。下圖示出51*39個anchor中心,以及9種anchor示例。?

在整個faster RCNN算法中,有三種尺度。?
原圖尺度:原始輸入的大小。不受任何限制,不影響性能。?
歸一化尺度:輸入特征提取網絡的大小,在測試時設置,源碼中opts.test_scale=600。anchor在這個尺度上設定。這個參數和anchor的相對大小決定了想要檢測的目標范圍。?
網絡輸入尺度:輸入特征檢測網絡的大小,在訓練時設置,源碼中為224*224。

窗口分類和位置精修

分類層(cls_score)輸出每一個位置上,9個anchor屬于前景和背景的概率;窗口回歸層(bbox_pred)輸出每一個位置上,9個anchor對應窗口應該平移縮放的參數。?
對于每一個位置來說,分類層從256維特征中輸出屬于前景和背景的概率;窗口回歸層從256維特征中輸出4個平移縮放參數。

就局部來說,這兩層是全連接網絡;就全局來說,由于網絡在所有位置(共51*39個)的參數相同,所以實際用尺寸為1×1的卷積網絡實現。

需要注意的是:并沒有顯式地提取任何候選窗口,完全使用網絡自身完成判斷和修正。

區域生成網絡:訓練

樣本

考察訓練集中的每張圖像:?
a. 對每個標定的真值候選區域,與其重疊比例最大的anchor記為前景樣本?
b. 對a)剩余的anchor,如果其與某個標定重疊比例大于0.7,記為前景樣本;如果其與任意一個標定的重疊比例都小于0.3,記為背景樣本?
c. 對a),b)剩余的anchor,棄去不用。?
d. 跨越圖像邊界的anchor棄去不用

代價函數

同時最小化兩種代價:?
a. 分類誤差?
b. 前景樣本的窗口位置偏差?
具體參看fast RCNN中的“分類與位置調整”段落。

超參數

原始特征提取網絡使用ImageNet的分類樣本初始化,其余新增層隨機初始化。?
每個mini-batch包含從一張圖像中提取的256個anchor,前景背景樣本1:1.?
前60K迭代,學習率0.001,后20K迭代,學習率0.0001。?
momentum設置為0.9,weight decay設置為0.0005。[5]

共享特征

區域生成網絡(RPN)和fast RCNN都需要一個原始特征提取網絡(下圖灰色方框)。這個網絡使用ImageNet的分類庫得到初始參數W0,但要如何精調參數,使其同時滿足兩方的需求呢?本文講解了三種方法。?

輪流訓練

a. 從W0開始,訓練RPN。用RPN提取訓練集上的候選區域?
b. 從W0開始,用候選區域訓練Fast RCNN,參數記為W1?
c. 從W1開始,訓練RPN…?
具體操作時,僅執行兩次迭代,并在訓練時凍結了部分層。論文中的實驗使用此方法。?
如Ross Girshick在ICCV 15年的講座Training R-CNNs of various velocities中所述,采用此方法沒有什么根本原因,主要是因為”實現問題,以及截稿日期“。

近似聯合訓練

直接在上圖結構上訓練。在backward計算梯度時,把提取的ROI區域當做固定值看待;在backward更新參數時,來自RPN和來自Fast RCNN的增量合并輸入原始特征提取層。?
此方法和前方法效果類似,但能將訓練時間減少20%-25%。公布的python代碼中包含此方法。

聯合訓練

直接在上圖結構上訓練。但在backward計算梯度時,要考慮ROI區域的變化的影響。推導超出本文范疇,請參看15年NIP論文[6]。

實驗

除了開篇提到的基本性能外,還有一些值得注意的結論

  • 與Selective Search方法(黑)相比,當每張圖生成的候選區域從2000減少到300時,本文RPN方法(紅藍)的召回率下降不大。說明RPN方法的目的性更明確。?

  • 使用更大的Microsoft COCO庫[7]訓練,直接在PASCAL VOC上測試,準確率提升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.??
  • K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” in International Conference on Learning Representations (ICLR), 2015.??
  • learning rate-控制增量和梯度之間的關系;momentum-保持前次迭代的增量;weight decay-每次迭代縮小參數,相當于正則化。??
  • Jaderberg et al. “Spatial Transformer Networks”?
    NIPS 2015??
  • 30萬+圖像,80類檢測庫。參看http://mscoco.org/。??
  • 總結

    以上是生活随笔為你收集整理的Faster RCNN算法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。