Deformable Convolutional Networks

https://arxiv.org/abs/1703.06211

        msra一篇讨论新的卷积结构的文章,主要思路是通过调整卷积的感受野,使卷积过程中的感受野更专注于目标区域,也就是提升了目标区域像素在模型中的贡献比例,感觉是应该很work的,找时间试一下,下面主要是摘录一些文章里的东西。

文章里首先提出了cv中目标很棘手的一个问题:

A key challenge in visual recognition is how to accommodate geometric variations or model geometric transformations in object scale, pose, viewpoint, and part deformation.

并简述了目前的两种解决思路:增强现有训练样本和使用transformation-invariant features and algorithms。当然这两种方法都是不好用的,原因就是增强的方法是固定的,transformation-invariant features也不可能对所有复杂的transform都work。作者认为CNN不好处理large,unknown transformation的主要原因来自于fixed geometric structures of CNN modules,所以就要解决这个问题喽。进一步的,作者将这一问题归于CNN特征提取过程中的感受野问题,即感受野只取决于CNN结构和点的位置,而我们期待的是adaptive determination of scales or receptive field sizes。所以这里作者引入了一个offset层来实现这个adaptive。

这里放一个感受野的对比图,效果还是很直观的

Deformable Convolutional Networks_第1张图片
感受野对比

具体计算offset的layer的设计以及整个网络的改动这里就不写了,论文里写的很清楚,附录里也给了bp的推导,国人写的论文就是好读啊,不会动不动秀个什么【文】的词汇出来。

作者还用了比较大的篇幅来探讨deformable conv的意义以及和其他方法的区别,我觉得这一部分的讨论是很有意义的。作者的观点是改变了spatial sampling location,所以增强了localization capability,尤其是对于non-rigid objects,但这里我没有理解为什么对于non-rigid特别有效。与stn相比,dc在特征提取位置变化上采用了local而不是global的方法,这样对于dense tasks更为有效。从感受野的角度,dc adaptive的调整感受野(但是调整完以后的effective RF是什么样儿呢?)。而与其他的不可变特征相比,dc的不可变性来自于学习的过程,来自于变化提取特征的位置,而不是依赖于prior的hand-craft。

总的来说感觉是很好的思路,另辟蹊径的来解决问题。从感受野的角度来思考和解决问题才是王道吧。

最后是自己的读后感:有时候会感觉卷积是个很不讲道理的过程,一定要卷特定的大小,特定的尺寸。dc用偏移的方法来让卷积过程去关注那些更有意义的点,但是比如一个小的目标,一个3*3卷积下去,右下角的这个部分就应该是空白,那对于这个目标,这个地方的weights是0的话就是最好的,这样的话如果weight不是0的话,偏移到任何地方去都会对最后的结果产生影响。那是不是也可以有一种机制来扔掉卷积过程中的一些部分,就类似于一个卷积过程中的dropout。还是说在训练的过程中已经可以把这些位置置0(应该是不可以吧)。

或者说,卷积的过程中,尝试ingore掉3*3中的一个或多个weight,分别inference,对比不同的loss是否可行呢。

你可能感兴趣的:(Deformable Convolutional Networks)