2018,Gabor Convolutional Networks
Abstract
传统滤波器(如Gabor滤波器)的设计主要采用可调控的特性,并赋予特征处理空间变换的能力。然而,这些优秀的特性在目前流行的深度卷积神经网络(DCNNs)中还没有得到很好的探索。在本文中,我们提出了一种新的深度模型,称为Gabor卷积网络(GCNs或Gabor cnn),该模型将Gabor滤波器集成到DCNN中,以增强深度学习特征对方向和尺度变化的抵抗力。通过基于Gabor滤波器操作DCNN的基本元素,即卷积算子,GCNs可以很容易地实现,并且与任何流行的深度学习架构兼容。实验结果表明,该算法对尺度和旋转变化频繁的目标具有较强的识别能力。所提出的GCNs具有更少的可学习网络参数,因此更容易进行端到端的训练。
Introduction
各向异性滤波技术已被广泛应用于提取鲁棒图像表示。其中,基于特定频率和方向的正弦波的Gabor小波在保留空间关系信息的同时,能够表征图像中的空间频率结构,从而能够提取模式的方向相关频率内容。近年来,基于卷积滤波器的深度卷积神经网络(DCNNs)在计算机视觉领域引起了广泛的关注。这种高效的、可扩展的端到端模型拥有从原始图像像素学习强大的特征表示的惊人能力,提高许多计算机视觉任务的性能,如图像分类,对象检测和语义分割。与没有任何学习过程的手工过滤器不同,基于DCNNs的特征提取是一种纯粹的数据驱动技术,可以从数据中学习稳健的表示,但通常以昂贵的训练和复杂的模型参数为代价。此外,几何变换建模的能力主要来自广泛的数据增强、大型模型和手工制作的模块(例如,用于小平移不变性的Max-pooling[2])。因此,如果训练数据不足,DCNN通常无法处理大型未知对象转换。其中一个原因源于滤波器的设计方式[2,36]。
幸运的是,近年来研究人员已经认识到需要增强模型的转换能力,并进行了一些尝试。在[4]中,引入了可变形卷积滤波器来增强DCNN的几何变换建模能力。它允许采样网格自由变形,其偏移量从前面的特征图中学习。然而,可变形滤波是复杂的,并且与最初为目标检测而设计的感兴趣区域(Rol)池化技术有关。在[36]中,提出了主动旋转滤波器(ARFs),使DCNN具有旋转的泛化能力。然而,这样的滤波器旋转方法实际上只适用于小而简单的滤波器,即1x1和3x3滤波器。虽然作者提出了一种基于傅里叶变换的通用滤波器调制方法,但可能是由于其计算复杂性,在[36]中没有实现。此外3D滤波器[13]几乎不被变形滤波器或ARFs修改。在[11]中,通过将低级滤波器(高达4阶的高斯导数)与学习的权重系数相结合,在滤波器函数空间上的正则化可以提高泛化能力,但仅当训练数据集很小时。
在图1中,卷积滤波器[16]的可视化表明滤波器通常是冗余学习的,例如在ImageNet上训练的Alexnet滤波器,并且一些来自浅层的滤波器类似于Gabor滤波器。众所周知,Gabor滤波器的可调控性在传统滤波器设计中被广泛采用,因为Gabor滤波器增强了信号的尺度和方向分解能力,而这在大多数流行的卷积滤波器中被忽略了。一些工作已经探索了针对DCNN的Gabor滤波器。然而,他们没有明确地将Gabor滤波器集成到卷积滤波器中。具体来说,[10]简单地使用Gabor滤波器生成Gabor特征,并将其作为CNN的输入,[23]仅通过Gabor滤波器修复第一或第二卷积层,主要目的是降低CNN的训练复杂度。
在本文中,我们提出使用传统手工制作的Gabor滤波器来调制可学习的卷积滤波器,旨在减少可学习的网络参数的数量,增强学习特征对方向和尺度变化的鲁棒性。具体来说,在每个卷积层中,卷积滤波器通过不同方向和尺度的Gabor滤波器调制,生成卷积Gabor方向滤波器(GoFs),使卷积滤波器具有额外的捕获输出特征图中的空间局部化、方向选择性和空间频率选择性等视觉属性的能力。GoFs是在CNN的基本元素,即卷积滤波器上实现的,因此可以很容易地集成到任何深度架构中。带有GoFs的DCNN(称为GCNs)可以学习更健壮的特征表示,特别是对于具有空间转换的图像。此外,由于GoFs是基于一小组可学习的卷积滤波器生成的,因此所提出的GCNs模型更紧凑,更容易训练。
本文的贡献有两个方面:
1)据我们所知,这是首次在卷积滤波器中加入Gabor滤波器,以提高DCNN对图像变换(如过渡、尺度变化和旋转)的鲁棒性。
2)GCNs改进了广泛使用的DCNNs架构,包括传统的cnn和ResNet[8],在流行基准上获得最先进的结果。
Related Work
Gabor filters
Gabor小波[6]是由Dennis Gabor发明的在信息论应用中作为傅里叶变换的基础的复杂函数。小波的一个重要性质是它的标准差的乘积在时域和频域都是最小的。Gabor滤波器被广泛用于模拟视觉皮层简单细胞的感受野。Gabor小波(核或滤波器)定义如下[30,33]:
where \(k_{u,v}=k_{v}e^{ik_{u}}\), \(k_{v}=(\pi/2)/\sqrt{2}^{v-1}\), \(k_{u}=u\frac{\pi}{U}\), with \(v=0,...,V\) and \(u=0,...,U\) and \(v\) is the frequency and \(u\) is the orientation, and \(\sigma=2\pi\).
Gabor滤波器如[32]所示是有界的,这为其广泛应用提供了基础。在[35,22]中,Gabor小波被用于初始化深层模型或作为输入层。然而,我们采用了一种不同的方法,利用Gabor滤波器来调制学习卷积滤波器。具体来说,我们将CNN的基本元素-卷积滤波器改为GoFs,以加强Gabor滤波器对每个卷积层的影响。因此,将可调控属性继承到DCNN中,以增强特征表示中对尺度和方向变化的鲁棒性。
Learning feature representations
给定丰富且经常冗余的卷积滤波器,数据增强用于实现局部/全局变换不变性[26]。尽管数据增强是有效的,但主要缺点在于学习所有可能的转换通常需要大量的网络参数,这大大增加了训练成本和过拟合的风险。最近,TI-Pooling[17]通过对转换集使用并行网络架构并在顶层之前的输出上应用转换不变池化操作符来缓解这一缺陷。然而,使用内置的数据增强,TI-Pooling需要更多的训练和测试比标准CNN的计算成本要高。
Spatial Transformer Networks
为了获得更强的抗空间变换的鲁棒性,引入了一个新的空间变换框架,称为空间变网络(STN)[12],它使用一个额外的网络模块,可以根据用局部化子cnn估计的变换矩阵来操作特征图。然而,STN并没有提供精确估计复杂变换参数的解决方案。
Oriented Response Networks
通过使用主动旋转滤波器(ARFs)生成方向张量特征映射,定向响应网络(ORN)[36]编码区分结构的层次取向响应。有了这些响应,ORN既可以用来编码方向不变特征表示,也可以用来估计物体的方向。然而,ORN更适合于小尺寸的滤波器,即3x3,基于与TI-Pooling相比的边际性能提升,ORAlign策略无法保证其方向不变性。
Deformable convolutional network
[4]中引入了可变形卷积和可变形Rol池,增强了cnn的变换建模能力,使网络对几何变换具有鲁棒性。然而,可变形滤波器也倾向于在小型滤波器上工作。
Scattering Networks
在小波散射网络[3,24]中,将CNN中的接受场表示为固定基上的加权和,使得新的结构化接受场网络在中小数据集上比非结构化CNN的性能显著提高。与散射网络相比,我们的GCNs是基于Gabor滤波器来改变卷积滤波器道路。
Gabor Convolutional Networks
Gabor卷积网络(GCNs)是使用Gabor定向滤波器(GoFs)的深度卷积神经网络。GoF是一种可调控的滤波器,通过Gabor滤波器组操纵学习到的卷积滤波器来生成增强的特征映射。使用GoF, GCNs不仅可以学习更少的滤波器参数,而且还可以增强深度模型。在接下来的内容中,我们将解决在DCNN中实现GoF的三个问题。首先,我们给出了通过Gabor滤波器获得GoFs的细节。其次,我们描述了使用GoF来生成具有比例和方向信息增强的特征图的卷积。第三,我们展示了如何在反向传播更新阶段学习GoF。
Convolutional Gabor orientation Filters (GoFs)
Gabor滤波器具有\(U\)方向和\(V\)尺度。将方向信息编码到学习滤波器中,同时将尺度信息嵌入到不同的层中,将调控特性融入到GCNs中。由于Gabor滤波器在GoFs中捕获了方向和尺度信息,从而增强了相应的卷积特征。
标准CNN中的卷积滤波器在经过Gabor滤波器调制之前,通过反向传播(BP)算法进行学习,称为学习滤波器。设一个学习滤波器的大小为\(N \times W \times W\),其中\(W \times W\)为2D滤波器的大小(\(N\)个通道)。为了实现方便,选择\(N\)为\(U\),这是将用于调制该学习滤波器的Gabor滤波器的方向数。在给定尺度\(v\)下,通过在学习的滤波器上使用\(U\)个 Gabor滤波器进行调制过程,可以获得GoF。关于滤波器调制的细节如公式2和图2所示。对于\(v\)尺度,我们定义:
where \(C_{i,o}\) is a learned filter, and \(\circ\) is an element-by-element product operation between \(G(u,v)\) and each 2D filter of \(C_{i,o}\).
\(C_{i,u}^{v}\) is the modulated filter of \(C_{i,o}\) by the \(v\)-scale Gabor filter \(G(u,v)\).
Then a GoF is defined as:
因此,第i个GoF \(C_{i}^{v}\)实际上是\(U\)个3D滤波器(如图2,其中\(U = 4\))。在GoF中,\(v\)的值随着层数的增加而增加,这意味着GoF中Gabor滤波器的尺度随着层数的变化而变化。在每个尺度上,GoF的大小为\(U \times N \times W \times W\)。然而,因为Gabor滤波器是给定的,我们只保留\(N \times W \times W\)学习滤波器,这意味着我们可以通过这种调制获得增强的特征,而不增加参数的数量。为了简化对学习过程的描述,下一节省略\(v\)。
GCN convolution
在GCNs中,利用GoFs生成特征图,显著增强了深度特征的尺度和方向信息。GCNs中的输出特征映射\(\hat{F}\)为:
where \(C_{i}\) is the ith GoF and \(F\) is the input feature map as shown in Fig2.
The channels of \(\hat{F}\) are obtained by the following convolution:
where \((n)\) refers to the nth channel of \(F\) and \(C_{i,u}\), and \(\hat{F}_{i,k}\) is the kth orientation response of \(\hat{F}\)
For example as shown in Fig2, let the size of the input feature map be 1x4x32x32, the size of corresponding output will be 1x4x30x30 (channel, orientation channel, H, W) after convoluting with a GoF with 4 Gabor orientations, and if there are 20 such GoFs, the size of the output feature map will be 20x4x30x30 (no padding).
Updating GoF
In the back-propagation (BP) process, only the leaned filter \(C_{i,o}\) needs to be updated. And we have:
where \(L\) is the loss function.
其中L为损失函数。从上面的方程可以看出,BP过程很容易实现,与通常需要相对复杂的程序的ORNs和可变形核有很大的不同。通过只更新学习的卷积滤波器\(C_{i,o}\), GCNs模型更紧凑和高效,也更鲁棒的方向和尺度变化。
Implementation and Experiments
在本节中,我们将详细介绍基于传统DCNN架构的GCNs实现。然后,我们在MNIST数字识别数据集[19,18]上评估GCNs,以及在ORNs中使用的旋转版本MNIST-rot,该版本是通过旋转MNIST数据集中的每个样本以\([0,2\pi]\)之间的随机角度生成的。为了进一步评估GCNs的性能,还提供了SVHN数据集[21]、CIFAR-10和CIFAR100[15]以及100类ImageNet2012[5]子集上的实验。我们在实验中使用了两个GPU平台,NVIDIA GeForce GTX 1070和GeForce GTX TITAN X(2)。
MNIST
对于MNIST数据集,我们从训练集中随机选择10,000个样本进行验证,其余50,000个样本进行训练。训练过程中使用Adadelta优化算法[29],批大小为128,初始学习率为0.001 \((\eta)\),权值衰减为0.00005。学习率每25个周期降低一半。基于5次运行的平均值,我们在200个epoch之后的测试集上报告算法的性能。比较采用最先进的STN [12], TI-Pooling [17], ResNet [8], ORN[36]。其中,由于进行了空间变换,STN对空间变换的鲁棒性优于基线CNN在第一个卷积层之前的层。TI-Pooling采用变换不变池化层得到主方向响应,具有旋转鲁棒特性。ORN通过空间旋转原始卷积核来捕获每个方向的响应。
图3显示了本次实验中使用的CNN、ORN和GCNs (\(U = 4\))的网络结构。对所有模型,我们在卷积层后采用Max-pooling和ReLU,在全连接层(FC)后采用dropout层[9]来避免过拟合。为了与类似模型尺寸的其他cnn进行比较,我们将层的宽度按照ORN中所做的比例减小,即1/8[36]。
我们评估了不同GCNs层的不同尺度(即\(V= 4\), \(V = 1\)),其中较大尺度的Gabor滤波器用于浅层,或在所有层中使用单一尺度。需要注意的是,在接下来的实验中,我们也将\(V = 4\)用于更深层次的网络(ResNet)。如表1所示,在错误率方面,\(V = 4\)的结果要优于在所有层中使用单一尺度(\(V = 1\))且\(U = 4\)时的结果。
我们还测试了不同的方向,如表2所示。结果表明,当\(V = 4\)时,GCNs在3 ~ 6个方向上表现更好,比ORN更灵活。相比之下,ORN除了4像素和8像素旋转外,还通过arfS使用复杂的插值过程。
在表3中,第二列表示每一层的宽度,[28]中也使用了类似的符号。考虑到一个GoF有多个通道(N),我们减小层的宽度(即每层GoF的数量)来减小模型的大小,以方便公平的比较。GCNs的参数大小与通道(N)呈线性关系,与层宽呈二次关系。因此,与CNN相比,GCNs的复杂度降低了(参见表3的第三列)。在第四列中,我们比较了使用GTX 1070的不同方法的训练一个epoch的时间(s),这清楚地表明GCNs比其他最先进的模型更有效。根据错误率,最后两列显示了性能比较。通过与基线cnn的比较,GCNs在3x3内核下获得了更好的性能,但只使用了cnn的1/ 12,1 /4参数。从实验中可以观察到,5x5和7x7核的GCNs在MNIST-rot上的测试误差分别为1.10%和0.42%,优于ORN的测试误差。这可以解释为尺寸越大的核携带的Gabor方向信息越多,从而获得更好的方向响应特征。表3还展示了更大的GCNs模型可以带来更好的性能。此外,在MNIST-rot数据集上,基线CNN模型的性能受旋转影响较大,而ORN和GCNs可以捕获方向特征并获得更好的结果。GCNs再次优于ORN,这证实了Gabor调制确实有帮助获得对旋转变化的鲁棒性。这种改进归功于基于可操纵滤波器的GCNs深度特征表示的增强。相比之下,ORN只主动旋转滤波器,缺乏特征增强过程。
SVHN
街景门牌号(SVHN)数据集[21]是从谷歌街景图像中提取的真实图像数据集。SVHN包含围绕单个角色的类似MNIST的32x32图像,但其中包含大量的挑战,如光照变化、旋转和复杂的背景。该数据集由600000个数字图像组成:73257个数字用于训练,26032个数字用于测试,以及531131个额外的图像。请注意,附加的图像并不是用于本实验中的所有方法。针对这一大规模数据集,我们实现了基于ResNet的GCNs。具体来说,我们用基于GoFs的GCConv层替换了空间卷积层,从而得到了GCN-ResNet。没有使用瓶颈结构,因为1x1内核不传播任何Gabor滤波器信息。ResNet将整个网络分为4个阶段,阶段的宽度(每层卷积核数)分别设置为16、16、32、64。我们对网络深度和宽度进行了适当的调整,以确保我们的GCNs方法具有与VGG[25]和ResNet相似的模型大小。我们用基本block-(c)建立40层和28层GCN-ResNets(图4),使用与ResNet相同的超参数。网络阶段也设置为16-16-32-64。结果列在表4,与VGG模型相比,GCNs的参数尺寸更小,但性能提高了1.2%。在参数大小相似的情况下,GCNResNet比ResNet和ORNs分别获得了更好的结果(1.1%,0.66%),进一步验证了GCNResNet在实际问题中的优越性。
Natural Image Classification
对于自然图像分类任务,我们使用CIFAR数据集,包括CIFAR-10和CIFAR-100[15]。CIFAR数据集由60000张大小为32x32的彩色图像组成,分为10或100类,每个类有6000或600张图像。有50000张训练图片和10000张测试图片。
CIFAR数据集包含各种类别的对象规模和方向变化。与SVHN类似,我们在CIFAR数据集上测试了GCN-ResNet。我们进行了实验,将我们的方法与最先进的方法进行比较网络(即NIN [20],VGG [25]和ResNet [8])。表5显示,在CIFAR-10上与基线ResNet相比,无论参数或内核数量如何,GCNs都能持续提高性能。我们进一步将GCNs与宽残差网络(WRN)[28]进行了比较,当我们的模型大小是WRN的一半时,GCNs再次获得了更好的结果(3.88% vs. 4%的错误率),这表明GCNs在模型效率方面具有显著优势。与CIFAR-10类似,也可以观察到具有相似参数大小的CIFAR-100上的性能改进。
此外,当使用不同的内核大小配置时(从3 x 3到5 x 5,如图4(c)和图4(d))时,模型规模增大,但性能(错误率)从6.34%提高到5.62%。我们注意到,CIFAR10中一些顶级的改进类别是鸟类(比基线ResNet高4.1%)和鹿(3.2%),它们在类别规模变化中表现出显著的变化。这表明,Gabor滤波器调制在CNN中增强了处理尺度变化的能力(见图5)。训练损失与测试误差的收敛曲线如图6所示。
Large Size Image Classification
之前的实验是在具有小尺寸图像的数据集上进行的(例如SVHN数据集为32 x 32)。为了进一步证明所提出的GCNs方法的有效性,我们在ImageNet[5]数据集上评估它。与MNIST、SVHN和CIFAR不同,ImageNet由分辨率更高的图像组成。此外,每张图像通常包含多个属性,这可能对分类精度有很大影响。由于这个实验只是为了验证GCNs在大尺寸图像上的有效性,我们没有使用完整的ImageNet数据集,因为在这样大的规模集上训练深度模型需要大量的时间。或者,我们在这个实验中选择一个100类的ImageNet2012[5]子集。这100个类是从完整的ImageNet数据集中选择的,步骤为10。相似的子集也应用于[14, 1, 27].
对于ImageNet-100实验,我们训练了一个34层4方向通道的GCN,尺度设置与之前的实验相同。基线为ResNet-101模型。GCNs和ResNet都是在120 epoch之后训练的。学习率初始化为0.1和每30次下降1/10。Top-1和Top-5误差被用作评估指标。ResNet在早期收敛性较好。然而,它往往很快就饱和了。GCNs收敛速度略慢,但在后期表现出较好的收敛性能。试验误差曲线如图7所示。与基线相比,当使用更少的参数(35.85M vs. 44.54M)时,我们的GCNs获得了更好的分类性能(即Top-5误差:3.04% vs. 3.16%, Top-1误差:11.46% vs. 11.94%)。
Automatic Modulation Classification
GCNs具有通用性,也可用于自动调制分类(AMC)领域。它有利于通信重构和电磁环境分析,对从信号中获取数字基带信息起着至关重要的作用。我们收集通信信号数据集,根据实际地理环境,使传输的无线信道近似于实际情况。训练集和测试集分别包括11类1100个样本。实验结果表明,当信噪比(SNR)为20 dB时,优于传统的小波+SVM,如86.4% vs 85.2%。
Conclusion
本文提出了一种将Gabor滤波器引入DCNN的端到端深度模型,旨在提高深度特征表征的方向性和可缩放性。本文提出的Gabor卷积网络(GCNs)通过在DCNN的基本元素上引入额外的功能模块,即卷积滤波器,提高了DCNN对旋转和尺度变化的泛化能力。使用流行的体系结构可以很容易地实现GCNs。大量的实验表明,GCNs显著改善了基线,在几个基准测试中获得了最先进的性能。未来的工作将集中在动作识别和图像恢复[34,31]。