DCNv1阅读笔记

提出由于卷积网络卷积核的结构固定,导致对图像的建模不精确,对此作者提出了可变性卷积DCN和可变形ROI Pooling,两种方法都是在空间中通过学习偏移量来扩展卷积核的采样空间,并且所增加的资源很少,也可以进行端到端的训练。

如何对于目标的形状、角度等几何变换进行建模,一般来说有两种方法,一是获得大量的监督信息,但这样成本太高;二是通过手工设计,这类的方法以前有很多了,但这种方法泛化能力较差,而且复杂情况下也未必奏效。

卷积神经网络在计算机视觉任务取得了显著的成果,但同样有着上述的问题,卷积结构固定,对目标建模不充分。图像不同位置的结构应当是不同的,但是却用相同结构的卷积进行计算;不管当前位置的图像是什么结构,都使用固定比例的池化层降低特征图分辨率。这种做法是不可取的,尤其是对非刚性目标。

接着作者提出了两个新的模块,DCN 和DCN ROI Pooling.DCN通过学习卷积核中位置的偏移量,改变卷积核的感受野,增加其形变。
在这里插入图片描述
a为正常的卷积,b为学习到偏移量的DCN,cd是b的特殊情况,意思是b能学习到很多情况,不管是尺度和是旋转。
第二个是DCN ROI Pooling,也是为Pooling中的每个块增加偏移量。

对于二维卷积,其操作是这样的:
在这里插入图片描述
如果我们对卷积R的每个位置Pn都用一个 Δ \Delta ΔPn来来学习偏移量的话,那么公式就变为了:
在这里插入图片描述
这时就存在一个问题,学习的偏移量为整数的概率基本为0,那么最终得到位置(原始+偏移)的数值,该怎么确定?
在这里插入图片描述
作者提出双线性插值的方法, p p p为学习到的位置,q是特征图x上的所有位置,使用双线性插值确定 p p p点的数值。我们学习到的偏移量是二维的,有是x方向和y方向。
G ( ⋅ , ⋅ ) G(·,·) G(,)就是双线性插值的公式,自己画图推导一下就明白了。
关于双线形插值及其后像素点对应请看博文:

https://blog.csdn.net/qq_37577735/article/details/80041586#%E5%8D%95%E7%BA%BF%E6%80%A7%E6%8F%92%E5%80%BC%E6%B3%95

讲的非常详细。
效果图如下
在这里插入图片描述
对于N个位置的偏移量,需要2N维向量来保存,因为一个位置有x和y两个方向的偏移需要保存。反向传播公式在附录。
ROI Pooing我最早是在SPP上看到的,当时读论文读的也不仔细。其目的是将提取出的特征图都Pooling到统一大小,好送入之后的分类或者回归branch。
ROI Pooing输入尺寸为 w ∗ h w*h wh的特征图x,左上坐标为 P 0 P_0 P0,通过ROI转换为 k ∗ k k*k kk大小的特征图 y y y y y y x x x的对应关系可以表示为:
在这里插入图片描述
也是双线性插值进行pooling。使用了DCN之后的公式变为了:
在这里插入图片描述
在这里插入图片描述
后面针对R-FCN中的改进我没有看,也是对Faster RCNN的改进,DCN的代码解读请看:

https://zhuanlan.zhihu.com/p/144365785
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值