從RCNN到Fast-RCNN再到Faster-RCNN

簡述RCNN系列:

RCNN通過SS算法挑選候選框,然後將這些候選框統一尺寸放入預訓練的CNN中,最後通過全連接層提取固定維度的特徵向量,將特徵向量送入多個SVM分類器,用SVM進行分類(之所以不用softmax是因爲微調時需要大量的負樣本,如果使用softmax Map會變低,而SVM使用hard negative mining挑選負樣本,更具代表性,可以通過負樣本更好的修正位置),對分類結果中的每一類使用非極大值抑制的算法,去除重疊建議框,最後通過bounding box迴歸。

Fast RCNN 任意尺寸輸入放進CNN網絡中進行特徵提取,在特徵圖上用SS搜索獲取候選框(特徵圖映射原圖),選取候選框後,將這些特徵圖輸入ROI池化層(簡單的SSP-Net,意思就是把特徵圖劃分爲規定的塊數,每一個塊輸出一個值,最後輸出固定大小的特徵圖)
然後輸入進全連接層(SVD分解,提取的候選框數量有2k,每個候選框都要進入全連接層進行計算),輸入進softmax(不用SVM是因爲現在獲得的特徵向量不需要暫存磁盤)並進行bounding box 迴歸,通過NMS得到最終的迴歸框。迴歸函數smooth L1損失函數,對離羣、異常點更魯棒。

Faster RCNN 基本思想是Fast RCNN+RPN
任意尺寸輸入共享卷積層進行特徵提取,將此時的特徵圖分別輸入RPG網絡和之後的卷積層;輸入RPN確定候選區域,而輸入之後卷積層的特徵圖用於產生更高維度的特徵圖,將RPN網絡的輸出和高維度特徵圖相結合輸入ROI池化層,處理後輸入全連接層,使用softmax分類,bounding box迴歸。
RPN網絡:RPN網絡對於共享卷積層輸出的特徵圖,首先在每個單元產生9個anchor,每個單元可以映射回原圖像,對比ground truth,最後做分類損失和迴歸損失
(實際上是用3*3的滑動窗口,padding =2 stride=1,然後經過一個卷積層將每個窗口的9個anchor都編碼成256維的向量,然後再經過一個卷積層輸出2x9個分類得分(前景或背景),4x9個迴歸得分(平移縮放係數),對得分區域做NMS,獲得前N(300)的得分窗口作爲候選區域。
RPN的優勢:多維度更低、尺度多長寬比


RCNN

http://blog.csdn.net/wopawn/article/details/52133338
https://www.cnblogs.com/gongxijun/p/7071509.html


SSP-Net

http://blog.csdn.net/u011534057/article/details/51219959


Fast RCNN

http://blog.csdn.net/wopawn/article/details/52463853


Faster RCNN

http://blog.csdn.net/shenxiaolu1984/article/details/51152614

RPN的理解

損失函數

爲了訓練RPN,我們給每個anchor分配一個二進制的標籤(是不是目標)。我們分配正標籤給兩類anchor:(i)與某個ground truth(GT)包圍盒有最高的IoU(Intersection-over-Union,交集並集之比)重疊的anchor(也許不到0.7)(ii)與任意GT包圍盒有大於0.7的IoU交疊的anchor。注意到一個GT包圍盒可能分配正標籤給多個anchor。我們分配負標籤給與所有GT包圍盒的IoU比率都低於0.3的anchor。非正非負的anchor對訓練目標沒有任何作用。
有了這些定義,我們遵循Fast R-CNN[5]中的多任務損失,最小化目標函數。我們對一個圖像的損失函數定義爲
這裏寫圖片描述

這裏,i是一個mini-batch中anchor的索引,Pi是anchor i是目標的預測概率。如果anchor爲正,GT標籤Pi* 就是1,如果anchor爲負,Pi* 就是0。ti是一個向量,表示預測的包圍盒的4個參數化座標,ti* 是與正anchor對應的GT包圍盒的座標向量。分類損失Lcls是兩個類別(目標vs.非目標)的對數損失這裏寫圖片描述。對於迴歸損失,我們用這裏寫圖片描述 來計算,其中R是[5]中定義的魯棒的損失函數(smooth L1)。
這裏寫圖片描述

Pi* Lreg這一項意味着只有正anchor(Pi* =1)纔有迴歸損失,其他情況就沒有(Pi* =0)。cls層和reg層的輸出分別由{pi}和{ti}組成,這兩項分別由Ncls和Nreg以及一個平衡權重λ歸一化(早期實現及公開的代碼中,λ=10,cls項的歸一化值爲mini-batch的大小,即Ncls=256,reg項的歸一化值爲anchor位置的數量,即Nreg~2,400,這樣cls和reg項差不多是等權重的。
對於迴歸,我們學習[6]採用4個座標:

這裏寫圖片描述
x,y,w,h指的是包圍盒中心的(x, y)座標、寬、高。變量x,xa,x*分別指預測的包圍盒、anchor的包圍盒、GT的包圍盒(對y,w,h也是一樣)的x座標。可以理解爲從anchor包圍盒到附近的GT包圍盒的包圍盒迴歸。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章