论文--R-FCN
?
R-FCN:? Object Detection via Region-based Fully Convolutional Networks
?
R-FCN 的網(wǎng)絡(luò)結(jié)構(gòu):
?
不同于之前的fast/faster R-CNN的region-based,paper中的new network是shared, fully convolutional 的網(wǎng)絡(luò)結(jié)構(gòu)。
Paper是奔著節(jié)約計算的角度,因?yàn)閞-cnn 系列的網(wǎng)絡(luò)結(jié)構(gòu)分為兩部分,一部分是Shared Conv層,另一部分是針對region proposal的Conv+FC層,fast RCNN和faster RCNN做的工作是延長Shared Conv,縮小非共享的后面部分。
R-FCN做的是將regional proposal后面的Conv基本轉(zhuǎn)移到Shared Conv部分。 減少Conv計算。
?
隨著網(wǎng)絡(luò)深度的增加,網(wǎng)絡(luò)對location的敏感度也越來越低,這就是 translation-invariance。
?
?
?
1, structure
本paper做的跟faster RCNN的區(qū)別是:將Conv5層ROI-pooling之后的pooled feature maps ,不要再針對每一個ROI之后再進(jìn)行Conv計算了。而是,將Conv5層進(jìn)行fully convolutional layer, 得到 K^2*(c+1) x w x h的feature maps, 然后對該feature map 進(jìn)行position-sensitive pooling 得到 k x k x (c+1) 大小的score map,之后做 average pooling (voting)得到 (c+1)的vector就可以放進(jìn) softmax判斷了,所以,feature map后面的不涉及到Conv層,計算量很小。
?
2, position-sensitive score maps
Position-sensitive score maps: 對最后一層Conv層得到的feature maps,對于每一個wxh 大小的RoI rectangle,一個bin的大小是 w/k * h/k , 最后產(chǎn)生 k^2 個bin,對于 (i,j)個bin,產(chǎn)生score maps的操作公式是:
?
?
上面所說的是針對category,而針對bounding boxes,類似,直接將C+1變?yōu)?即可, bounding box t = (tx, ty, tw, th)
?
3, training:
對于每一個ROI,loss是 cross-entropy loss和box regression loss的總和
?
Training method在本算法中可以很容易采用online hard example mining (OHEM), 對于一張image的N個proposals,選擇loss最大的B個proposal進(jìn)行backpropagation,因?yàn)閜er-RoI的計算量極小可以忽略。
?
R-FCN的特點(diǎn):
(1), 所有可以學(xué)習(xí)的參數(shù)都是都是 convolutional 且針對 fully feature maps
(2), RoI-pooling之后的score maps之后的計算沒有參數(shù)
(3),R-FCN的最后一個Conv層,其channel數(shù)跟 類別數(shù)C和 spatial grid describing relative positions K 相關(guān),
?
總結(jié):
(1), R-FCN可以說是faster-RCNN的一個再次升級
(2), 但是R-FCN的position-sensitive scores maps看起來適用性有限,paper也只給出了resnet101的版本而沒有vgg或者googlenet作為baseline。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhang-yd/p/6568137.html
總結(jié)
- 上一篇: 201521123091 《Java程序
- 下一篇: poj 2892---Tunnel W