物体检测碎片知识

归一化系数

faster rcnn

L ( { p i } , { t i } ) = 1 N c l s ( L c l s ( p i , p i ∗ ) ) + λ 1 N r e g ( L r e g ( t i , t i ∗ ) ) L(\{p_{i}\},\{t_{i}\}) = \frac{_{1}}{N_{cls}}(L_{cls}(p_{i},p_{i}^{*})) + \lambda \frac{_{1}}{N_{reg}}(L_{reg}(t_{i},t_{i}^{*})) L({pi},{ti})=Ncls1(Lcls(pi,pi))+λNreg1(Lreg(ti,ti))
其中呢, N c l s N_{cls} Ncls代表了batchsize的大小;而 N r e g N_{reg} Nreg则是anchor位置的数目,也即输入feature map的pixel数目。而 λ \lambda λ取值为1 - 100时,最终结果相差不大。
值得思考的是

λ \lambda λ0.1110100
mAP(%)67.268.969.969.1
  • faster rcnn每个anchor location重叠使用了9个anchor,也就是 λ = 0.1 \lambda=0.1 λ=0.1时,第二项代表了anchor数目的归一化,实际论文中给出的效果却有些差别。
  • N r e g ! = N p ∗ N_{reg} != N_{p^{*}} Nreg!=Np
R-FCN

L ( s , t x , y , w , h ) = L c l s ( s c ∗ ) + λ [ c ∗ > 0 ] L r e g ( t , t ∗ ) L(s,t_{x,y,w,h})=L_{cls}(s_{c^{*}})+\lambda[c^{*}>0]L_{reg}(t,t^{*}) L(s,tx,y,w,h)=Lcls(sc)+λ[c>0]Lreg(t,t)
c ∗ c^{*} c是类别,背景为0; t ∗ t^{*} t是对应真值的坐标(x,y,w,h)。ROI与GroundTruth的IOU>0.5作为真值。

  • 这里 λ \lambda λ取1,两loss项没有做归一化
  • R-FCN的输出可以是 k 2 ( C + 1 ) 、 k 2 ( 4 ) k^{2}(C+1)、 k^{2}(4) k2(C+1)k2(4)或者 k 2 ( 4 C ) k^{2}(4C) k2(4C),即前一种是两个并行分支,后一种是每一个自带回归框。不管怎么样,这个head是不预测confidence了(two-stage特有的?)
  • 这里的OHEM困难样本挖掘也是和网络结构挺相匹配的,直接取loss中高的作为困难样本B/N,所以逻辑上快了一步

rpn on conv4; k*k=7*7; no hard example mining

R-FCN with ResNet-101 onconv4,stride=16conv5,stride=32conv5,a trous, stride=16
mAP(%) on VOC07 test72.574.076.6
  • 还有一个好玩是实验
methodRoI ouput size(k*k)mAP on VOC 07 (%)
naive Faster R-CNN1*161.7
naive Faster R-CNN7*768.9
ResNet 101 Faster R-CNN7*776.4
ResNet 101 Faster R-CNN
300ROI forward for OHEM;
128ROI for backpropogation
7*779.3
class-specific RPN-67.6
R-FCN (w/o position-sensitivity)1*1fail
R-FCN3*375.5
R-FCN7*776.6
ResNet 101 R-RCN
300ROI forward for OHEM;
128ROI for backpropogation
7*779.5
RetinaNet
  • 使用focal loss,使用了对anchor归一化系数 :被认为是真值的框的个数

结构的发展

two stage的头部结构
  • faster rcnn
    • 是在roipooling之后跟fc层
  • Resnet
    • 在conv4之后接入全卷积的形式,是conv5的head
    • 为保证fully convolution对分类任务的转变不变性,插入了roi pooling层
  • R-FCN
    • 同为全卷积层,但引入了position-sensitive pool,对resnet生成的 k 2 ( C + 1 ) k^{2}(C+1) k2(C+1)维度的特征图分层的取average pooling。在这附近,(C+1)一直作为一个整体出现的,有变化的是取值窗口bin在k x k的窗口上滑动的同时,在input feature的深度维上也滑动。

训练策略

nameepochesstarting lrrate decay policyweight decaymomentumdata augmentationpositive examplenegative ones
yolov2160 epoches 1 0 − 3 10^{−3} 103lr*0.1 at 60,90 epochs0.00050.9similar to SSD
RetinaNet90k batches0.01lr*0.1 at 60,80 batches0.00010.9horizontal image flippingIoU>0.5Iou<0.4
R-FCN30k batches 1 0 − 3 10^{−3} 103{ 1 0 − 3 10^{−3} 103:20k batches; 1 0 − 4 10^{−4} 104:10k batches}0.00050.9IoU>=0.5IoU<0.5
RPN 1 0 − 3 10^{−3} 103{ 1 0 − 3 10^{−3} 103:60k batches; 1 0 − 4 10^{−4} 104:20k batches}0.00050.9IoU>0.7 or highest IoUIoU<0.3
FPN-0.02{0.02:30k batches;0.002:10k batches}0.00010.9*using anchors outside the image when training
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值