目标检测总结:Deformable Convolutional Networks

本文深入探讨了可变形卷积网络(Deformable Convolutional Networks,DCN),包括可变形卷积和可变形RoIPooling的概念。可变形卷积通过学习位置偏移量,自适应地调整感受野,提高特征映射的准确性。而可变形RoIPooling则允许RoI子区域根据目标形状动态偏移。实验结果显示,这些技术能有效提升目标检测算法的性能。
摘要由CSDN通过智能技术生成

目标检测总结:Deformable Convolutional Networks


  文章的出发点是几何形变和几何变化的建模一种是卷积神经网络的难点,之前常见的解决方法有两个:1运用数据增强的方法构建包含各种变化的数据集,2使用具有形变不变性的特征和算法(比如SIFT等)。但这两个方法对未知的形变无法处理,并且如果已知的形变过于复杂,SIFT也是无法应付的,为了解决这个问题,作者提出了 可变形卷积可变形roipooling。这两种方法都是基于一个平行网络学习一个偏移量,使卷积核在采样点发生偏移,集中于我们感兴趣的区域和目标。

Deformable Convolution

CNN中卷积和特征映射都是3D的,但可变形卷积和RoIPooling都是在2D的空间域上进行的,通道维度上的操作保持不变。如下图所示,a为传统卷积操作的时候一个卷积核大小,b、c、d为加入了偏移量的可变形卷积。
在这里插入图片描述
首先介绍一下可变形卷积是怎么操作的。对于传统的卷积,下式中的R定义了1个3×3的卷积核。
在这里插入图片描述
那么传统的卷积的映射可以由下式表示:
在这里插入图片描述
其中Pn枚举了R中的位置。
在可变形卷积中,卷积的映射是由下式表示的:
在这里插入图片描述
也就是说可变形卷积在原本卷积的基础上加了一个偏移量,需要注意的是,这个偏移量是位置的偏移量,通俗一点讲,某个点位于原图的(0,0)位置,有了偏移量之后,可能位于(1.1,2.3)的位置。注意偏移量可能是浮点的小数。由于偏移得到的位置可能是小数,所以上式的特征值需要通过双线性插值的方法来计算。
刚才解释了可变形卷积的计算时通过对位置的偏移得到的,那么偏移量是怎么得到的呢?
在这里插入图片描述
如上图所示,偏移量是通过对原始特征层进行卷积得到的。比如输入特征层是w×h×c,先对输入的特征层进行卷积操作,得到w×h×2c的offset field。这里的w和h和原始特征层的w和h是一致的,offset field里面的值是输入特征层对应位置的偏移量,偏移量有x和y两个方向,所以offset field的channel数是2c。offset field里的偏移量是卷积得到的,可能是浮点数,所以接下来需要通过双向性插值计算偏移位置的特征值。在偏移量的学习中,梯度是通过双线性插值来进行反向传播的。

Deformable RoIPooling

在这里插入图片描述
理解了可变形卷积之后,Deformable RoIPooling就比较好理解了。原始的RoIPooling在操作过程中是将RoI划分为k×k个子区域。而Deformable RoIPooling的偏移量其实就是子区域的偏移,也就是说k×k个子区域不在紧挨在一起,而是每一个都有一个偏移,偏移量有k×k个。与可变形卷积不同的是,Deformable RoIPooling的偏移量是通过全连接层得到的。
在这里插入图片描述
在这里插入图片描述
另外,论文中还提到了Deformable position-sensitive RoIPooling,这个结构主要是针对R-FCN网络。论文中这一部分我没有细看,感兴趣的可以参考这篇博客

DCN的效果

在这里插入图片描述
上图表明DCN可以根据目标自适应的调整感受野尺度和形状
在这里插入图片描述
在这里插入图片描述
上图表明Deformable RoIPooling也会根据目标的形状调整子区域的位置
在这里插入图片描述
另外作者表明,加入可变形卷积和池化的目标检测算法结果都有提升。算法好不好,主要还是看疗效。
另外作者在论文中将deformable convolutional networks和之前很多相关的工作做了对比,有时间再补这一部分内容。感兴趣的话可以参考博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值