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]:
\[\Psi_{u, v}(z)=\frac{\left\|k_{u, v}\right\|^2}{\sigma^2} e^{-\left(\left\|k_{u, v}\right\|^2\|z\|^2 / 2 \sigma^2\right)}\left[e^{i k_{u, v} z}-e^{-\sigma^2 / 2}\right] \]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\)尺度,我们定义:
\[C_{i,u}^{v}=C_{i,o}\circ G(u,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}\)为:
\[\hat{F}=GConv(F,C_{i}) \]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:
\[\delta=\frac{\partial L}{\partial C_{i, 0}}=\sum_{u=1}^U \frac{\partial L}{\partial C_{i, u}} \circ G(u, v) \]\[C_{i,o}=C_{i,o}-\eta\delta \]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)。