3.网络整体架构
ORN是使用主动旋转滤波器的深度卷积神经网络。ARF是一种在卷积过程中进行旋转的滤波器,以生成具有多方向通道的特征映射图。因此ARF是一个虚拟的滤波器组,只有一个卷积核实例化进行学习相关参数。有了ARF,ORN具有更少的网络参数而且具有层次分明的方向信息编码。
在采用ARFs的过程中,主要解决三个问题。1.使用两阶段技术手段基于傅里叶变换旋转ARF。2.使用ARFs进行卷积得到具有位置信息以及明确方向编码的特征图。3.解释了ARF是怎样进行反向传播的。
3.1 ARF
ARF分为两个阶段分别是Coordinate Rotation和Orientation Spin。
坐标旋转,通过双线性插值实现坐标旋转。
方向旋转
ARF可以看作二维网格上具有n个方向的点,具有n个方向的点是点(p,q)的均匀采样,可以看作是关于角度的函数,其是一个周期为2π的连续函数。坐标旋转之后,仍需要旋转θ以产生,事实上它是的量化。这种旋转操作可以利用离散傅里叶变换进行高效的处理。
为了顺利处理所有旋转角度,ARF需要相当多的方向通道。在实践中,由于多层池化操作的方向“插值”,我们可以使用有限数量的方向来保证准确性。VGG以及Resnet网络都显示了,小尺寸卷积核的叠加比大尺寸卷积核更加有效。而且用小卷积核和多方向通道,ARF的计算量可以进一步减小,
3.2 Oriented Response Convolution
一个ARF产生了具有N个方向通道的特征图,该特征图明显包含了位置和方向信息。ARF的尺寸为W*W*N,把ARF定义为F,具有N个通道的特征图看作M,则有,输出的特征图依然由N个方向通道组成,第k个通道的计算公式如下
是F顺时针旋转一定角度后得到的,是的第n个方向通道。因此是一个二维的二维卷积核,也对应了3.1中ARF can be virtually viewed as a bank of N filters (N×W ×W ×N)的说法。
3.3 卷积核参数的更新
在反向传播中,根据公式(1)和(2),ARF所有旋转的误差信号与保持一致,最后汇总来更新ARF。
根据公式(6),反向传播只更新一个实质化的卷积核,以便训练表面层次的错误,但方向不同的样例误差被聚集。在低层次特征,这样的聚合来更新参数具有重要意义。如在一幅图像中,存在许多外观相似但方向不同的斑块而这是可以利用的。对于较少的样本,集体更新也是很有帮助的。
3.4 旋转不变特征编码
ORN中的特征图并不是旋转不变的,方向信息只是被编码没有丢弃。当内在的旋转不变特征需要时,我们在ORNs的顶层引入两种策略,ORAlign和ORPooling。简单来说,我们选择一个DCNN结构,该结构特征图的尺寸逐渐缩到1*1*N。N是旋转通道的数量。最后一个ORConv层的特征图有一个图像尺寸的感受野,而且表示了高层水平特征的多方向响应。
第一种策略是ORAlign.表示最后一个ORConv卷积层的第i个特征图,表示了第n个方向。是一个N维张量记录了不同方向的响应。用类似sift的对齐方式实现旋转稳健性,首先计算主要方向(也就是响应最强的方向),因为
第二种策略是ORPooling,通过简单的池化一个到一个数量最大,这种方式较少了特征维度,但是丢失了特征排列信息。