SNIP论文学习

论文:An Analysis of Scale Invariance in Object Detection – SNIP
论文链接:https://arxiv.org/abs/1711.08189
代码链接:http://bit.ly/2yXVg4c

   论文分析COCO数据集,认为目前目标检测算法的难点在于数据集中object的尺寸分布较大,尤其对于小目标的检测效果也有待提高,因此提出Scale Normalization for Image Pyramids (SNIP)算法。

SNIP是CVPR2018 oral,并获得了COCO2017 challenge的Best Student Entry。

small object占总的object比例太小,远不如ImageNet的数据分布来得合理。COCO数据集中,大部分的object面积只有图像面积的1%以下,这说明在COCO数据集中小目标占比要比ImageNet数据集大。另外,从Figure1中的COCO曲线可以看出,第90%的倍数(0.472)差不多是第10%的倍数(0.106)的20倍!这说明在COCO数据集中的object尺寸变化范围非常大。

ImageNet预训练的模型在迁移到样本大小差异较大的COCO中时很可能产生一定的domain-shift偏差。因此作者产生这样的motivation:

    1.现在检测网络为了提高对小目标的效果,都采用upsample的方法,这个真的是必要的吗?我能不能直接用低分辨率的图像不做upsample来训练网络(需要调小strides)?
    2.能不能通过挑选样本的方式来增加网络效果的,比如我upsample调整了大小以后,只用64x64~256x256的ground truth来训练?用所有的gt来训练真的更好吗?

 现在有很多针对小目标的措施和改良:

   1.  使用dilated/strous或者deformable这类特殊的卷积来提高检测器对分辨率的敏感度
   2. 最常用的,upsample来rezie网络输入图像的大小
   3. 使用FPN这种把浅层特征和深层特征融合的,或者最后在预测的时候,使用浅层特征和深层特征一起预测;也有比较直接地在浅层和深层的feature map上直接各自独立做预测的;这个也就是我们常说的尺度问题(scales)


作者通过一系列的探究性实验证明了upsample对小目标物体的检测是有一定效果的。

三种网络:

  • CNN-B使用高分辨率图像训练,分类经过降采样和upsample的图片
  • CNN-S使用低分辨率图像训练,分类经过降采样的图片
  • CNN-B-FT使用高分辨率图像训练,然后在低分辨率图像上fine-tune,分类经过降采样和upsample的图片 

 CNN网络没有尺度不变形,没有把scale这个隐藏变量学习到的机制,只能通过大量参数来强行记忆不同scale的物体。而下面部分谈到的方法也很可能只是治标不治本,关键还是怎么把scale这个隐藏变量抽离出来,甚至可以直接学习;或者直接赋予网络学习scale的能力。

 

1.每个pipe-line的RPN只负责一个scale range的proposal生成。

2.对于大size的feature map,对应的RPN只负责预测被放大的小物体;对于小size的feature map,对应的RPN只负责预测被缩小的大物体;这样的设计保证了每个CNN分支在判别proposal是否为前景时,只需针对最易分类的中等range的proposal进行训练

划分了三个尺度,对应三种不同分辨率的图像。每个分辨率i下的RoI都有其指定范围,如果gt的box大小在这个范围内,就被标记做valid,否则就被标记为invalid。

experiment:

1. 作者使用的是Deformable RFCN detector而不是常见的一般卷积,当然受制于实验自身,需要作出一定的改变
2. 作者使用的网络结构是Dual path networks(DPN)和ResNet-101,由于需要内存很大,为了适应GPU内存,作者对图像进行了采样,具体方法是选取一个1000x1000的包含最多目标的区域作为子图像,然后重复该步骤直到所有目标都被选取
3. 作者为了提升RPN的效果,尝试了使用7个尺度,连接conv4和conv5的输出

结果:

思考:

SNIP相当于开了三个pipe-line,其中包括了三个并行的feature extraction,速度简直不要太慢,显存占用简直不要太大,一般的显卡根本带不动。

accuracy很高,但speed太慢,model太大,没有实用性。

SNIP在没有改进之前,是一个华丽而不实用的算法。所幸SNIPER对其进行了改进

参考blog:

https://blog.csdn.net/u014380165/article/details/80793334

https://blog.csdn.net/qq_21949357/article/details/80031891

https://blog.csdn.net/jningwei/article/details/80332984

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值