可变卷积原理总结

文章讨论了传统CNN在处理几何变换时的局限性,如固定位置采样导致的特征提取不完整。为解决这一问题,引入了可变卷积(DeformableConvolution),允许卷积核形状自适应调整,以更好地捕获不同尺度和形状的对象特征。DCN1通过添加偏移量来改变卷积采样点,而DCN2进一步引入了采样点权重,可以忽略不感兴趣的区域。这种方法被应用于文本检测等任务,提高了特征提取的效率和准确性。
摘要由CSDN通过智能技术生成

1 背景

传统的CNN存在固定几何形状的缺陷: 卷积单元在固定位置对输入特征图进行采样池化层以固定比率降低空间分辨率;一个ROI(感兴趣区域)池化层将一个ROI分割成固定的空间单元;缺乏处理几何变换的内部机制等。
上述缺陷会引起下列问题

  1. 同一CNN层中所有激活单元的感受野大小是相同的,这对于在空间位置上编码语义的高级CNN层是不需要的
  2. 对于具有精细定位的视觉识别的实际问题,不同的位置对象可能具有不同尺度或形状。因此,固定位置进行采样很难提取完整的对象特征。尺度或感受野大小的自适应确定是可取的。
    为了解决上面的问题,提出了可变卷积,在文本检测DBNet等文章中使用。
    在这里插入图片描述
    上图左侧是传统的CNN提取特征,由于固定位置进行下采样,很难将羊的位置全部覆盖进行下采样,即没有完整提取羊的特征。
    右侧是可形变卷积,由于卷积的形状自适应,进行的下采样卷积核形状不定,可以覆盖整个羊,从而提取到完整羊的特征。

2 可变卷积 DCN1

在这里插入图片描述
其中图(a)是传统CNN,(b)©(d)是可变形卷积。

2.1 传统卷积

假设图(a)中虚线框是一个特征图F,9个绿色点构成了一个卷积核,那么该点的值应该是:
在这里插入图片描述
其中在这里插入图片描述是卷积核在位置i的值,而(x,y)是卷积核该位置对应图像中一点的坐标。

2.2 可变卷积

可变卷积的计算与传统CNN的类似,只是多了一个偏移量
在这里插入图片描述
该偏移量使得参与计算的点发生变化。如图(b)中,卷积核遍历到了9个绿色点的位置,但是参与计算的是通过9个绿色点和偏移量得到的蓝色点。相当于在控制卷积核的形状。
那么偏移量是如何生成的呢
将输入特征图通过一个卷积核,输出为大小为原特征图大小,out_channlel为2,代表x和y方向山的偏移量。然后提取ROI区域得到卷积核上在该次采样时的偏移量,如下图所示:
在这里插入图片描述

了解上面的东西后,再总结一下DCN 1的过程
在这里插入图片描述
本质上,我们利用的卷积核还是按照传统CNN一样遍历。但是遍历到某个位置后,由于偏量,我的结果是另外位置和卷积核参数的计算结果。
如上图,我们卷积核遍历到了绿色的位置。但是偏量使得我们真正参与计算的是蓝色的点。

3 可变卷积 DCN 2

DCN 2在DCN 1的基础上添加了一个采样点权重在这里插入图片描述在这里插入图片描述
这个采样点的区域我们不感兴趣,则把权重学习为0即可。

4 参考文章

https://paddlepedia.readthedocs.io/en/latest/tutorials/CNN/convolution_operator/Deformable_Convolution.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白三点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值