faster rcnn 原理解析
阿新 • • 發佈:2019-01-10
faster rcnn 網路結構圖
Faster cnn 大概思路就是,首先是輸入一張影象,然後將影象固定最小邊為600的大小,保證了影象不發生形變,然後經過一個訓練好的網路,比如vgg或者是其他的,得到特徵圖,然後有兩條路,一個是輸入RNP網路,經過一個3*3的卷積,RPN網路也有兩條路,一條是直接經過一個1*1的卷積,啟用函式使用linear,用於迴歸,因為框有4個座標,(dx,dy,dw,dh),其實這裡迴歸的是一種變換,我們假設總共有N種候選框,那麼輸入的卷積通道數就是4A,另外一條是二分了網路,用於區分每個anchor是含有目標還是不含有目標,如果是bg(背景)那麼輸入就是
Anchor的生成
Anchor是這樣的,我麼實現給定不同尺度的框,比如scale ==[128,256,512]長寬比[1;1,1:2,2:1],那麼長寬和長寬比就可以11兩兩組合生成九種框,然後是在特徵圖上沒一個點,把這個點當做是矩形框的中心,生成這九種長寬不同的框。
上圖左邊就是一個特徵圖上的點方法了的anchor,右邊就是特徵圖上一個點。
Faster rcnn 的損失函式
其實他的變換思想就是,現將我們的框的中心點平移到目標框的中心(這裡的目標框其實就是gt,或者是預測框),然後再將我們的長和寬進行伸縮變換,所以前面的叫做平移變換,後面的是伸縮變換。然後我們也可以看出來,我們的迴歸是這樣迴歸的,是讓我們預測的框和anchor直接的變換與真實框與anchor直接的變換的損失最小,損失函式就是smooth函式。
分類函式的損失就是softmax損失,也叫互熵損失,對於RPN的分類是二分類問題,而對於分類層是一個多分類問題。