文章转自同一作者的微信公众号:【机器学习炼丹术】
首先理解:
论文中作者最大的贡献为:
这个核心贡献在于,为什么卷积过程中卷积核一定要是正方形的?我的检测目标各种形状都有,为什么卷积核一定要是正方形的呢?
因此,这里的卷积核不再是正方形了,而是可以通过梯度下降更新的参数了:
a图就是最基本的卷积核,b就是可变卷积的卷积核,c和d是可变卷积的特殊情况。听起来不难吧,原理确实非常的简单。
上图是表示可变卷积过程的。大概看一眼这个图,不难发现这种结构似乎和SEnet有点类似。在下一篇的代码实战中再考虑如何实现这个过程把。
泛泛地说的话,就是这个特征图,再额外的经过一个卷积层,生成一个offset的结果,然后把这个offset和这个特征图融合。
论文中提到,在特征提取网络的后面3层使用可变卷积的效果比较好。
上图是在实际任务中,deformable convnets学习到的采样点,我认为这是一种非常有意思的可解释性的体现。
上表中最后三行体现了这个可变卷积的效果,确实是不错,确实有一定提升,那么这种可变卷积对与参数量的影响大吗?
可以看到,这个参数的影戏那个微乎其微,运行时间也基本差不多。我决定等我复现了这个可变卷积之后,我在以后的模型中都要用这个试试能不能有提升。(奇怪的奇技淫巧又增加了)。
大概就这么多,从理论上看,这个deformable convolution不难,关键是如何实现,希望我在复现的过程上不会太坎坷。
参考文章:
图像处理论文详解 | Deformable Convolutional Networks | CVPR | 2017
原文:https://www.cnblogs.com/PythonLearner/p/14157773.html