目標檢測 R-CNN 論文筆記(Rich feature hierarchies for accurate object detection and semantic segmentation)

目標檢測 R-CNN 論文筆記(Rich feature hierarchies for accurate object detection and semantic segmentation)


如果對目標識別與檢測尚不瞭解,建議先看看CS231的相關課程(課程16與17):http://study.163.com/course/courseMain.htm?courseId=1003223001

摘要

目標識別與檢測數據庫:PASCAL VOC在12年以前一直進展緩慢,一些新提出的優化方法只是把之前的方法線性地結合在一起。Ross Girshick提出的R-CNN直接將識別準確率提高了30%。作者主要利用兩個因素:一個是CNN可以應用於區域候選,以便定位和分割物體;另一個是當標記的訓練數據很少時,輔助任務的預訓練加以fine-tuning,可以顯著提高性能。(when labeled training data is scarce, supervised pre-training for an auxiliary task, followed by domain-specific fine-tuning, yields a significant performance boost.)

1. 介紹

  • R-CNN提出以前,各式各樣的目標檢測算法大都基於SIFTHOG算子,二者都是 blockwise orientation histograms,我們可以大致地將它們與哺乳動物視覺聯繫起來。但大腦的識別過程應該是多層傳遞的,因此識別程序也應該有一個多層結構。基於此,Fukushima 提出了“neocognitron”方法,Lecun 也提出了“missing algorithm”
  • 鑑於13年CNN的火爆,作者認爲:CNN在圖像分類上的結果也可以擴展應用到PASCAL VOC的挑戰上。爲了達成目標,需要解決兩個問題:

    • 用深度網絡定位目標。目標檢測首先需要定位物體(localization)。定位的實現方式一般爲滑動窗檢測(用窗口截取圖像的一部分,每次都做一個定位迴歸),但對於較大感受野和步長的CNN是一個不小的挑戰。
    • 用小容量的標記數據訓練大容量的網絡。解決方式上面其實已經說了,就是在ILSVRC這個大的輔助訓練集上進行監督訓練,接着在PASCAL上domain-specific fine-tuning。
  • 另外,作者的系統也十分有效:The only class-specific computations are a reasonably small matrix-vector product and greedy non-maximum suppression。

  • 作者還發現,即使去除94%的參數,CNN模型檢測的準確率只會有略微的下降。通過一個檢測分析工具,發現只需要通過簡單的邊界框迴歸就可以顯著地降低定位錯誤率。

2. R-CNN模型介紹

2.1 模型設計

  • 整個檢測系統分爲三個部分:

    • 生成獨立分類的候選區域。作者的方法是use selective search to enable a controlled comparison with prior
    • 用CNN,對每個候選區域提出固定長度的特徵向量。輸入的圖片固定爲227*227,且提前進行mean-subtracted處理。之後用一個5卷積層,2全連接層的CNN來提取4096維特徵向量。
    • 用SVM對特徵向量進行分類。

2.2 Test-time detection

  • 一開始,系統先用selective search提取2000個候選區域,並將其warp到277*277大小,進入CNN提取特徵,並用SVM分類。最後,再用 greedy non-maximum suppression 把那些高度重疊的框剔除。
  • R-CNN運行時間很短,這歸功於兩點:1. CNN對於每個分類的參數都是共享的;2. 與其他方法相比,4096維的特徵向量算是很小的了。
  • 運行結果是,即使有100k個分類,一張圖在多核CPU上也只要10秒;生成的低維特徵圖只佔1.5GB。

2.3 Training

  • Supervised pre-training:先將CNN在ILSVRC 2012上進行預訓練(with image-level annotations (i.e., no bounding box labels)),框架採用的是Caffe。由於訓練過程的簡單化,作者不小心就達到了ILSVRC最低錯誤率;
  • Domain-specific fine-tuning:微調過程,以0.001的學習速率進行SGD訓練。對某個分類只要IOU>0.5就視該邊框爲正值。每次SGD迭代都採樣38個正邊框和96個背景。
  • Object category classifiers:對某個分類,高IOU和IOU都很好區分,但IOU處於中值時則很難定義生成的候選框是否包含了該物體。作者設定了一個閾值0.3,低於它的一律視爲背景(負數)。另外,每個分類都優化一個SVM。由於負樣本很多,因此還採用了hard negative mining方法

2.4 Results on PASCAL VOC 2010-12

  • 作者提交了兩個版本,一個沒有bounding box regression(RCNN),一個有(RCNN BB),結果如下:
  • 簡而言之,就是MAP顯著提高了不少(從35.1%到53.7%),而且運行時間也短。
    image_1bdbccocb1fio1ul9lvq1989oj39.png-109.7kB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章