2020,Transformation-invariant Gabor convolutional networks
Introduction
深度卷积神经网络(DCNNs)在字符识别、目标检测、人脸识别和语义分割等各个领域都取得了一系列突破。然而,由于缺乏为空间几何变换设计的特定模块,学习到的特征对空间几何变换的鲁棒性不够。虽然最大池化层[2]使dcnn具有处理尺度变化和适度旋转的能力,但如果没有变换编码机制,则无法完全解决大旋转和尺度变换的问题[15].
开发了许多最先进的方法来将转换不变性编码为dcnn,可以大致分为两类:转换输入特征映射和转换滤波器。在[10]中,在空间变压器网络中引入局部化网络来预测变换参数。然后使用预测的转换参数产生转换后的输出。[22]在训练过程中引入特征图随机变换,提高CNN模型的变换不变性。在[6]中,引入了复杂的可变形卷积和可变形Rol池,提高了dcnn的变换建模能力。但模型参数和计算复杂度增加。在[25]中,CNN滤波器被替换为复杂的圆形谐波来提供方向信息。
但与Gabor[9]等人工设计的滤波器相比,dcnn在没有先验信息和领域知识的情况下,盲目地从数据中学习特征。因此,基于dcnns的数据驱动特征提取方法通常需要巨大的训练成本和复杂的模型参数。第一层滤波器的可视化显示,卷积滤波器是冗余学习的,并且与Gabor核[18]显著相似。事实上,在dcnn被应用于计算机视觉任务之前,已经有了大量的数据基于条件gabor的算法已广泛应用于手写字符识别、语音识别[4]和人脸识别[1,3]。考虑到传统手工制作的Gabor内核可以提取具有代表性的特征,将Gabor内核与dcnn结合起来以实现高性能和显著的计算节省是很自然的。一些工作[5,11,24]通过简单地使用Gabor特征作为CNN的输入,将Gabor和dcnn结合起来。有研究人员用固定或可学习的Gabor内核取代了CNN的前两层,以降低计算成本,实现更好的网络初始化[4,19]。然而,它们都没有利用Gabor滤波器的空间局部性和方向选择性特性来设计处理几何变换的模块。
为了提高dcnn在旋转和尺度变化下的性能,本文提出了一种新的Gabor卷积层(GCL)模块。更确切地说,在一个GCL中,首先将输入的特征映射转换为几个Gabor特征。然后,将所有Gabor特征输入到一组可学习的卷积核中,并合并生成对空间变换具有鲁棒性的输出特征。与传统的卷积层相比,GCL在Gabor先验信息的指导下,可以很容易地捕获鲁棒特征并学习有效的表示。同时,gcl很容易集成到任何深度架构中。基于GCLs的dcnn被称为变换不变Gabor卷积网络(TI-GCNs),可以在不增加模型参数的情况下增强学习模型对变换的鲁棒性。综上所述,本文的贡献有:
- 提出了一种新的网络模块GCL,将尺度和方向信息编码到dcnn中,提高了dcnn对平移、尺度变化和旋转等空间变换的鲁棒性。gcl可以很容易地部署到任何CNN架构。
- TI-GCNs通过组合多个不同尺度和方向的Gabor滤波器,可以在较少参数的情况下获得更好的性能。MNIST[17]、SVHN[21]和CIFAR[13]与基线网络相比,TI-GCNs在各种基准上的性能更好,这表明TI-GCNs能够提高分类性能并增强对转换的鲁棒性。
Related works
Gabor filters
略
Transformation invariant feature learning
深度卷积神经网络可以学习表达性特征,并对适度过渡、尺度变化和小旋转具有鲁棒性[27]。[15]研究了CNN表示对输入图像转换的等值方差和等价性,最近的一些工作试图将转换不变性编码到深度学习模型中。
Data augmentation
数据增强[8]可以通过创建修改版本的图像来扩展训练数据集。虽然数据增强效果很好,但是针对不同版本的原始数据分别学习特征表示需要更多的网络参数和更高的训练成本。
TI-POOLING
通过使用并行网络架构,[14]在全连接层之前应用变换不变池化算子,学习的网络参数数量比数据增强少。这种拓扑只使用最具代表性的实例进行学习,并限制了学习特征的冗余。然而,由于向前传递多次,随着网络的深入,计算复杂度显著增加。
Harmonic networks
谐波网络[25]通过将常规CNN滤波器替换为圆形谐波,为每个receptive field patch返回一个最大的方向和响应,表现出patch-wise平移和360-rotation的等效方差。与基准cnn相比,模型参数和计算成本都有所增加。
Gabor convolutional networks
为了增强学习特征对方向变化的鲁棒性,Gabor滤波器通过元素对元素积运算集成到GCNs[18]的可学习权重中。然而,与dcnn中的二维卷积滤波器相比,GCNs中的学习核是三维的,用于编码方向通道,这实际上增加了参数的数量。
我们在本文中提出的框架与现有的工作完全不同。我们没有设计新的复杂的卷积核,而是基于Gabor特征构造了一个新的卷积层模块来代替传统的卷积层。我们的工作细节将在下一节中描述。
Transformation-invariant Gabor convolutional networks
变换不变Gabor卷积网络(TIGCNs)是一种深度卷积神经网络,它用Gabor卷积层(GCLs)取代dcnn中的卷积层。GCL是Gabor先验知识和参数学习的有效结合。与GCLs集成的dcnn可以很容易地学习鲁棒的特征表示,以增强对尺度变化和方向变化的抵抗力。
在接下来的内容中,我们描述了GCL的组成部分,以及如何将GCL合并到dcnn中,以增强对过渡、尺度变化和旋转的鲁棒性。首先,我们描述了GCL的原理和拓扑结构。其次,我们展示了在反向传播阶段更新协协cl的参数是多么方便。第三,我们阐述了如何在基线CNN的基础上构建TI-GCNs。
Gabor convolutional layer
在本节中,我们描述了GCL的公式,这是TI-GCNs学习鲁棒特征表示的关键模块。协变机理分为三个部分,如图1所示。首先,使用不同的Gabor核提取显示方向和尺度选择性的Gabor特征。然后将Gabor特征输入到并行权值共享卷积模块中学习更多具有代表性的特征,再通过变换池化模块获得鲁棒的变换不变特征。GCL可细分为旋转不变Gabor卷积层(RI-GCL)、尺度不变Gabor卷积层(SI-GCL)和变换不变Gabor卷积层(TI-GCL)。下面将详细介绍这三个组件。
Gabor extraction module (GEM)
为了利用Gabor核的空间局域性、尺度和方向选择性,将Gabor特征和输入特征映射与Gabor核族的卷积作为参数学习的先验信息。Gabor特征定义如下[16]:
where \(*\) denotes the convolution operator, \(I(z)\) means the gray level distribution of an image, and \(O_{u,v}(z)\) is the convolution result corresponding to the Gabor kernel at orientation \(u\) and scale \(v\).
Therefore, the output feature map of the Gabor extraction module (GEM) \(\hat{F}_{gem}\) can be defined as:
where \(\hat{F}_{in}^{(n)}\) denotes the nth channel of the input feature map \(\hat{F}_{in}\), \(\hat{F}_{gem}^{(n)}\) denotes the nth channel of the output feature map \(\hat{F}_{gem}\), and \(G={\psi_{u,v}(z):u\in{0,...,U-1},v\in{0,...,V-1}}\). Thus, the number of Gabor kernels is \(M=U\times V\).
Let the size of the input feature map be \(C_{in}\times W\times W\) is the size of the input feature and \(C_{in}\) refers to the channel, the size of the output feature map is \(C_{in}\times M\times W\times W\). The output feature of the GEM can be seen as \(M\) Gabor features and the size of each Gabor feature is \(C_{in}\times W\times W\).
Weight-sharing convolution module (WCM)
权值共享卷积模块(WCM)是由几个相互共享权值的并行卷积层组成的。为保证每个Gabor特征都经过一个卷积层,得到相应的输出特征图,选择卷积层数为\(M\),每个卷积层的输出特征图\(\hat{F}_{wcm}^{(i)}\)表示为:
where \(\hat{F}_{gem}^{(i)}\) denotes the ith Gabor feature, \(i\in{1,...,M}\),and \(C\) is the learned weight of the convolutional layers (All convolutional layers share the same weights), and the size of \(\hat{F}_{wcm}\) will be \(C_{out}\times M \times W \times W\)
Transformation pooling module (TPM)
受max pooling[2]的启发,提出将变换池化模块(TPM)应用于WCM的输出特征上,以获得变换不变特征。我们没有单独处理WCM的所有输出特征,而是通过使用元素最大值来选择“规范”特征表示。
其中\(\hat{F}_{tpm}\)表示TPM的输出特征映射,也表示GCL的输出。因此,输出特征的大小为\(C_{out}\times M \times W \times W\)。
综上所述,GCL实现了输入特征映射的“规范”特征表示,增强了对转换的鲁棒性,并保持了与标准卷积层相同的输出大小。
GCL parameters setting
针对不同计算机视觉任务对变换鲁棒性的要求不同的问题,提出了三种基于Gabor核的算法不同的特征。具体来说,我们通过在GEM中选择尺度相同但方向不同的Gabor核来构建RIGCL。同样地,可以通过选择方向相同但尺度不同的Gabor核来构建SI-GCL。选用不同取向、不同尺度的Gabor核来设计TI-GCL。
Parameters updating
GCL的正演计算分为三个阶段,而反向传播(BP)过程很容易实现。GEM和TPM中不需要更新参数,只需要更新WCM中学习到的滤波器C。由于TPM在每个空间位置取M个特征的最大值,TPM的BP过程就类似于空间最大池化的BP过程。总之,对标准卷积层的传统BP算法稍加修改,即可简单地计算出协变梯度。
Easy integration
TI-GCNs可以很容易地基于任何深度学习架构构建,只需用gcl取代传统的卷积层。图2说明了如何基于相同的基线CNN结构构建不同的TI-GCNs。
Experiments
在本节中,我们给出了基于TI-GCNs的不同计算机视觉数据集的实验结果。在章节4.1中,我们在MNIST手写数据集[17]、MNIST-rot[27]和MNIST-scale[23]上进行了实验。结果表明,TI-GCLs在提高分类性能和增强对变换的鲁棒性方面具有优势。然后,在Street View House Numbers (SVHN)数据集[21]上实现基于ResNet网络架构的实验,进一步评估章节4.2中TI-GCNs的性能。为了展示我们的网络的泛化能力,在章节4.3中,TI-GCNs应用于CIFAR-10和CIFAR-100[13]上进行自然图像分类任务。我们基于Pytorch和NVIDIA GeForce GTX 1080Ti运行我们的实验。
MNIST
MNIST and MNIST-rot
原始MNIST数据集是验证新引入算法性能的一个非常典型的数据集。MNIST数据集中的每个样本在[0,2π]之间随机旋转,以产生MNIST-rot,以测试人为引入的变化。对于每个数据集,我们从训练集中随机选择50,000个样本进行训练,其余10,000个样本进行验证。通过六次交叉验证选择的最佳模型应用于测试集。对于这两个数据集,我们使用[27]中描述的相同拓扑结构,它由四个卷积层组成。对于全连接层,我们使用具有动量、128批大小和0.5dropout的SGD执行训练过程。我们首先评估了TI-GCNs在mist -rot上的三种构造方法,其中第一层、前两层和所有卷积层分别被gcl取代。表1的实验结果表明,直接从图像中提取Gabor特征可以获得最好的性能。在CNN的开头放置额外的转换模块是学习健壮特性[22]的更强大的方法,所以在接下来的实验中,我们只需要替换基线cnn中的第一个卷积层来构建TI-GCNs我们选择4颗相同尺度、不同方向的Gabor粒进行初步试验(M = U = 4, V = 1)。最终结果如表2所示。先进的STN [10], TI-Pooling [14], ORNs [27], RI-LBCNN [26],和GCNs[18]进行比较。其中,STN构建空间转换层,获得转换鲁棒特征。TI-Pooling通过内置的数据增强层和变换不变池化层得到主方向响应。orn和RI-LBCNN由更具表现力的过滤器构建,用于编码旋转不变特征。在卷积滤波器中加入Gabor滤波器来改进dcnn对GCNs图像变换的鲁棒性。
在表2中,第二列表示每个卷积层的宽度,在[18,26]中也使用了类似的表示法。由于Gabor滤波器提供了空间和方向选择性,我们可以减小层的宽度以降低计算复杂度。第4列列出了原始MNIST数据集上一个epoch的训练时间,这表明TI-GCNs的效率。第五列和第六列分别描述了原始MNIST和MNIST-rot的错误率。最后一列描述了旋转引起的误差增加。与基线cnn相比,TI-GCNs在原始数据集上的网络参数显著减少,从而获得了更好的性能。此外,在mist -rot数据集上,TIGCNs优于orn, RI-LBCNN和GCNs,这表明将Gabor滤波器纳入dcnn确实有助于增强对旋转的鲁棒性。从表2的最后一列可以观察到,TI-GCNs中旋转引起的错误率增加比其他最先进的模型要低得多。显然,我们可以通过增加TI-GCNs模型参数来降低错误率。总之,TI-GCNs通过结合Gabor特征增强了特征表示,Gabor特征对旋转具有鲁棒性,因此性能更好。
基于5 × 5核的TI-GCNs实验进一步验证了Gabor核的取向数对网络性能的影响。表3的结果表明,当使用4-8个方向时,增加方向数可以提高网络性能。但是,当方向数超过12时,分类误差会增大。产生这种现象的原因是学习旋转不变特征需要足够的方向信息,而过多的方向信息会使网络冗余。
MNIST-scale
我们使用了一个有三个卷积层的架构,都是7 × 7滤波器,这与[20]的架构相同。在SI-GCL中选择3或5尺度的Gabor核,分别构建相应的TI-GCN3和TI-GCN5。我们报告了我们的算法在测试集上的性能,基于表4中5次运行的平均值,与之前发表的相同数据集上的结果进行比较。
实验结果表明,TI-GCN3在mist尺度上的测试误差为1.81%,优于Scale等变3层CNN[20]和SI-CNN[12]。mist尺度上的结果表明,基于不同尺度的Gabor滤波器对特征进行池化引入健壮的特征表示。TI-GCNs可以在不增加参数的情况下增强对尺度变化的鲁棒性量。
Street view house numbers
街景门牌号(SVHN)数据集[21]是一个从谷歌街景图像中的门牌号获得的真实图像数据集。SVHN包含超过600,000个类似mist的32x32数字图像,以单个字符为中心。我们使用73,257位数字进行训练,26032位数字进行测试,以识别自然场景图像中的数字和数字。
具体来说,我们将第一个卷积层替换为TI-GCL来构建基于ResNet的TI-GCN,从而得到TIResGCN。我们构建了TI-ResGCN-56和TI-ResGCN-110来比较VGG、ResNet、orn和GCNs的性能。表5所示的结果进一步反映了TI-GCNs在实际问题中使用时的优越性能。从结果可以看出,TI-ResGCNs的性能优于基线ResNets,这证明了GCL是传统卷积层的有效替代方案。表5还显示TI-ResGCNs在参数更少的情况下比之前最先进的ORN性能高出0.26%。
Natural image classification
为了进一步验证我们的框架是否能够处理自然图像分类任务中的旋转变化和尺度变化,我们在CIFAR数据集上评估了TI-GCNs[13]。CIFAR-10和CIFAR-100数据集包括从10个类和100个类中绘制的60,000张32 × 32彩色图像分为50,000张训练图像和10,000张测试图像。
用于CIFAR-100的TI-ResGCNs是基于“瓶颈”构建块构建的。使用ResNet、orn和GCNs的实验进行比较和分析。如表6所示,在CIFAR-10上,参数更少的TI-ResGCN-56 (5.83% 0.85M)优于基线更大的ResNet110 (6.43% 1.73M),验证了TI-GCNs可以提取出更具代表性的特征。TI-ResGCNs在CIFAR-100上的表现也很出色。TI-ResGCNs在CIFAR-100上的准确率达到76.97%,高于最先进的方法orn和GCNs,进一步证明了我们的模型在处理真实空间变换方面的强大能力。
Conclusion
我们提出了一种传统卷积层的替代方案,以增强模型对缩放变化和旋转变化的鲁棒性。本文提出的变换不变Gabor卷积网络(TI-GCNs)在不增加模型参数和计算复杂度的情况下优于基线DCNNs。实验结果表明,TI-GCNs可以提高dcnn在多个真实分类任务中的性能。