Deformable Convolution Network (可变形卷积)

Deformable Convolution Network (可变形卷积)


论文arxiv地址
笔者只将自己对于论文的理解和细节方面分享,不是论文翻译,以供交流学习,欢迎大家留言讨论。

摘要

CNN网络在训练完成之后,模型固定,对于有特殊几何形变的目标的感应能力不高。简单理解就是如果训练集中只出现直立站着的人,那么训练出的网络在预测的时候,能特定的感应出站着的人,而不能灵敏的感应到躺着或者趴着的人。可以简单理解是存在一种泛化性问题。对此提出可变形卷积和可变形RoI池化,应对这种带有特殊形变的问题。网络对于复杂的视觉任务有不错的效果,比如目标检测和语义分割。

简介

针对摘要中的问题,可行的解决方法有两种,一个是数据强化,另一个是采用对形变不敏感的特征提取方法,主要是人工特征提取的方法。数据强化的弊端,一是会带来更多的训练量(计算资源消耗),二是更多的可能形态需要更复杂的网络进行训练。而且用这两种方法解决的形变都是在预想范围内的,是有限的。但是实际出现的形变有时候是想像不到的,不可能让网络对每一种形变训练。
于是从卷积本身出发,在卷积过程中增加一个偏置量,用来强化卷积对于所有可能形变的建模能力。

可变形卷积原理

Deformable Convolution Network (可变形卷积)

普通3x3的卷积的采样点如a图所示,加上一个偏置量之后得到b图中的深色点,就是变形后的采样点。
偏置的计算是通过卷积实现的
Deformable Convolution Network (可变形卷积)
对特征图分出一个分支进行卷积操作,通道数扩充到原来的两倍,卷积之后的结果称之为偏置场。对于原来的featuremap而言,每一个通道都会对应到偏置场上的两个通道,分别表示在x和y方向上的偏置。论文后面的可视化图中可以看出,偏置之后,所有采样点都不同程度的向这个类的中心聚拢。
卷积的时候,先对应到偏置场上,找到采样点的偏置量,对应到偏置后的采样点。采样点的值的计算方法与Mask-RCNN中的方法一样,取最近的四个采样点,采用双线性差值的方法计算。具体在文中公式部分。对于公式部分不懂得可以留言。
Deformable Convolution Network (可变形卷积)

可变形RoI池化和PSRoI池化

采样点的计算和前面可变形卷积一样,区别只在偏置量的计算方法上。PoI偏置采用全连接的方法,PSRoI还是采用卷积的方法。熟悉原始PSRoI池化和RoI池化的话理解起来很简单。
Deformable Convolution Network (可变形卷积)
Deformable Convolution Network (可变形卷积)