這篇文章主要講解了“R-CNN模型是怎樣的”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“R-CNN模型是怎樣的”吧!
目標識別與檢測數據庫: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.)
R-CNN提出以前,各式各樣的目標檢測算法大都基于SIFT和HOG算子,二者都是 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模型檢測的準確率只會有略微的下降。通過一個檢測分析工具,發現只需要通過簡單的邊界框回歸就可以顯著地降低定位錯誤率。
整個檢測系統分為三個部分:
生成獨立分類的候選區域。作者的方法是use selective search to enable a controlled comparison with prior
用CNN,對每個候選區域提出固定長度的特征向量。輸入的圖片固定為227*227,且提前進行mean-subtracted處理。之后用一個5卷積層,2全連接層的CNN來提取4096維特征向量。
用SVM對特征向量進行分類。
一開始,系統先用selective search提取2000個候選區域,并將其warp到277*277大小,進入CNN提取特征,并用SVM分類。最后,再用 greedy non-maximum suppression 把那些高度重疊的框剔除。
R-CNN運行時間很短,這歸功于兩點:1. CNN對于每個分類的參數都是共享的;2. 與其他方法相比,4096維的特征向量算是很小的了。
運行結果是,即使有100k個分類,一張圖在多核CPU上也只要10秒;生成的低維特征圖只占1.5GB。
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方法
作者提交了兩個版本,一個沒有bounding box regression(RCNN),一個有(RCNN BB),結果如下:
簡而言之,就是MAP顯著提高了不少(從35.1%到53.7%),而且運行時間也短。
感謝各位的閱讀,以上就是“R-CNN模型是怎樣的”的內容了,經過本文的學習后,相信大家對R-CNN模型是怎樣的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。