基于多尺度局部特征编码与多通道特征融合的图像场景分类
2019-09-09顾广华
秦 芳,顾广华,*
(1. 燕山大学 信息科学与工程学院,河北 秦皇岛 066004;2.燕山大学 河北省信息传输与信号处理重点实验室,河北 秦皇岛 066004)
0 引言
场景分类是计算机视觉和模式识别的重要分支,它广泛应用于图像检索、目标检测和行为识别等多个领域[1]。场景由多个基本单元组成,这些单元排列在无规律的布局中。场景图像具有较大的类内差异和类间相似性,当人眼看到一幅场景图像时可迅速做出判断,但对于机器来说难度很大。因此,让计算机正确理解视觉场景对于研究者来说一直是一个具有挑战性的问题。在过去的几十年中,研究者们提出了许多用于图像场景分类的方法,其中最著名的是“词袋”(Bag of words, BOW)模型[2]。BOW模型使用聚类方法产生视觉码本,通过量化局部特征构建“视觉词”的出现频率来表示图像,取得了不错的分类效果,但由于BOW模型没考虑图像的空间信息而影响了分类准确性。因此,一些研究者提出了一系列基于BOW模型的方法来提高获取局部空间信息的能力。如概率潜在语义分析(Probabilistic Latent Semantic Analysis, pLSA)模型[3]和贝叶斯等级模型[4],都改善了分类效果。特别值得关注的是Lazebnik等提出空间金字塔匹配(Spatial Pyramid Matching,SPM)模型[5],它通过将图像分割成越来越精细的子区域,并计算每个子区域内局部特征的直方图来提升分类性能。然而,上述这些基于BOW的方法的性能强烈依赖于底层特征,例如,尺度不变特征变换(Scale Invariant Feature Transform, SIFT)或方向梯度直方图(Histogram of Oriented Gradient, HOG)以及纹理特征。由于场景图像的复杂性,这些底层特征无法有效实现精确分类。近年来,深度学习的方法不仅在语音识别、目标识别和检测、自然语言处理等[6-7]经典问题上取得了巨大的成功,在许多其他实际应用中也取得了飞跃性的突破,引起了学术界和工业界的极大兴趣。
深层卷积神经网络(Convolutional Neural Networks, CNN)[8]是深度学习的一个流行分支,是一个由卷积、池化和全连接层组成的多层架构,在视觉识别任务尤其是图像分类领域取得了巨大成功。最大的突破之一是在ImageNet(包含1 000多个类别的图像)大型视觉识别挑战(ImageNet Large Scale Visual Recognition Challenge , ILSVRC)[9]中,CNN的识别精度比所有基于底层特征的方法高出约10%。目前,很多最近的工作[10-15]已经证明,基于诸如ImageNet、Places等大型数据集进行预训练的深层CNN的中间特征的学习,可以有效地转移到其他有限的训练数据识别任务中去。
然而,CNN特征是一种全局图像表示,更多的获取了图像的高频信息,且缺少几何不变性。因为原始像素在卷积网络中的局部邻域内被多次滤波和池化,图像的局部空间信息已经消失在聚类背景中,从而降低了分类和判别能力。为解决该问题,本文进行了三方面的工作:1)使用局部约束线性编码(Locality constrained linear coding, LLC)方法编码多尺度图像块的深度卷积层特征;2)提取原始图像的第一个全连接层的全局CNN特征;3)将深度卷积层的多尺度编码特征与原始图像在全连接层的全局CNN特征实现多通道融合。
1 多尺度局部特征编码
针对底层特征无法实现有效分类的问题以及CNN特征的缺点,本文通过滑动窗提取多尺度图像块,并获得其深度卷积层CNN特征,使用K-means聚类方法将提取的特征量化为视觉码本,基于通用码本,使用LLC方法进行编码获取图像的局部空间信息,以弥补底层特征与高层语义之间的差距,同时使用原始图像的全连接层特征来有效表征场景图像的语义信息,全局空间信息仍然被保留,并将来自于深度卷积层的中层编码特征与来自全连接层的全局CNN特征进行多通道融合,实现全局信息与局部信息的互补,从而获得更加准确的图像表征。其原理框图如图1所示。
图1 多尺度局部特征编码与多通道特征融合的原理框图
Fig.1 Multi-scale local feature coding and multi-channel feature fusion of the block diagram
1.1 获取多尺度图像块的CNN特征
本文实验证明使用较大尺寸的图像作为卷积神经网络的输入比相对较小的尺寸更有优势,采用多尺度图像块的卷积层特征进行编码来获取图像的局部空间信息的方法需要的特征数目不能过少。因此,首先将图像调整为256×256的大小并转化为灰度图,将其用作原始图像。然后,使用长度分别为128像素和64像素的滑动窗以16像素步长对图像进行采样,提取尺度分别为128×128、64×64的图像块,使用预训练的卷积神经网络(VGG-F)提取图像块的CNN特征。该网络架构由5个卷积层和3个全连接层组成,第1个、第2个和第5个卷积层后带有池化层,如图2所示。
图2 预训练的卷积神经网络架构示意图
Fig.2 Pre-trained convolution neural network architecture diagram
卷积层即一组滤波器进行工作,其中包括滤波器的可学习权重以产生输入图像的卷积信息,通过卷积运算,使原信号特征增强,并且降低噪音。池化层通过局部非线性运算来减小输入层的空间尺寸,减少计算量的同时保持图像旋转不变性。全连接采用softmax全连接,得到的激活值即卷积神经网络提取到的图片特征。
1.2 特征编码
使用预训练的卷积神经网络获得多尺度局部图像块的深度卷积层特征之后,对于训练集的每一类图像块特征使用K-means聚类算法来生成具有M个聚类簇的类码本,依次得到所有类图像的类码本后,进行类码本的级联得到最终的通用码本。基于获得的通用码本,采用局部约束线性编码LLC[16]来获得图像的视觉描述符。LLC编码用于减少重构误差,利用局部约束将每个描述子投影到它的局部坐标系中,并且投影坐标通过特征各维最大池化整合来产生最终的图像表示。其目标函数为
s.t.1Tci=1,∀i
(1)
式中加号前的一项最小化是为了减少量化误差,加号后的一项则是做出假设约束。其中,X表示从图像中提取的一组D维局部描述符,X=[x1,x2,…,xN]∈RD×N,码本B具有M个元素B=[b1,b2,…,bM]∈RD×N,di表示可以为每个基本向量分配不同自由度的局部适配器,并且分配的自由度与输入描述符xi的相似性成比例。即
di=exp(dist(xi,B)/σ),
(2)
dist(xi,B)=[dist(xi,bi),…,dist(xi,bM)],
(3)
其中dist(xi,bj)表示xi与bj之间的欧式距离。σ用于调整局部适配器的权重衰减率。约束1Tci=1满足LLC编码的旋转不变性要求。
2 多通道特征融合
图像场景分类与其他分类任务不同,因为场景图像具有较大的类内差异和类间相似性。一些场景图像中含有许多复杂的目标,且其对类别的判断十分重要。例如,图3中的示例图像来自于15类场景数据集中的“bedroom”和“kitchen”类,这两类图像中都含有多个目标,但是能够识别“bedroom”类场景的判别性信息来自于图中占据面积接近三分之一的床,而识别“kitchen”类的重要部分是图中的“电饭煲”、“灶台”等局部信息,由此可知,局部信息对于场景图像的分类至关重要。此外,对于场景图像来说,图像的全局信息是实现分类判别的基础,无论是室内场景中的横向布局,抑或是室外场景的纵向结构,或者人造场景的全局结构,都是实现准确分类的前提。因此,融合全局结构信息与局部空间信息对于提高图像场景分类准确性十分重要。卷积神经网络的全连接层输出的特征表示高层语义信息,丢失了目标的详细信息和场景类别的空间信息。深度卷积层特征已被证明更适合于描述对象本身以及图像中对象之间的空间关系[17]。本文通过获取局部图像块的深度卷积层特征并进行编码,捕获图像中目标的局部信息。将来自于深度卷积层的多尺度编码特征与来自全连接层的全局CNN特征进行多通道融合。具体而言,获得编码特征与全局CNN特征后,将这两种特征等比例加权级联,实现图像全局与局部信息的融合,获得更高效的图像表示。即
ffinal=[w1·f1,w2·f2],
(4)
其中,w1=w2=0.5,f1表示多尺度图像块卷积层的编码特征,f2表示图像的全连接层的CNN特征,用最终的融合特征表示来训练分类器进行预测。
图3 场景类示例图像
Fig.3 Scene class example image
3 实验结果与分析
本文针对所提出的问题在两个常用场景类数据集上进行了评估,实验分为3个部分:第一部分比较了单个通道特征与多通道融合特征的分类精度;第二部分探究了聚类码本的不同大小对于分类结果的影响;第三部分探究了图像块不同尺度对于分类结果的影响。最后,根据三部分实验所获得的最优参数在两个通用场景数据集上进行了分类判别实验。
3.1 数据集
1) Lazebnik等的15类场景数据集(15-category)。该数据集共包含4 486张灰度图像,用于每个类别的图像数量范围为200~400。对于每个类别,随机选取80幅图像用于训练,20幅图像测试。最终分类精度取10次实验的平均值。
2) SUN397数据集是Xiao等[18]提出的场景识别数据集,包含397个场景类别,是当前最大的场景类别数据集。包含室内和室外场景图像,每个类别至少包含100幅图像。为了降低计算量,本文从中选出15个类别的图像组成一个新的数据集SUN397-15,其中包括“ball_pit”, “ocean”, “bamboo_forest”, “electrical_substation”, “wave”, “bow_window_outdoor”, “subway_interior”, “sky”, “bullring”, “pagoda”, “ice_skating_rink_indoor”, “skatepark”, “shower”, “train_station_platform”, “rock_arch”。对该场景数据集同样选取80幅图像用于训练,20幅图像用于测试。最终的分类精度取10次实验的平均值。
3.2 多通道对比
将深度卷积层的多尺度编码特征与全连接层的全局CNN特征进行多通道融合,实现图像的高效表征。为了验证多通道融合特征的优越性,在实验中对两个数据集的图像分别提取不同通道的CNN特征,进行分类判别,分类精度如表1所示。表1中Channel1表示最后一个卷积层的CNN特征,Channel2表示第一个全连接层的CNN特征,Channel3表示第二个全连接层的CNN特征。
由表1可见,在两个数据集上使用单通道特征进行分类判别时,第一个全连接层的识别精度均高于其他单通道特征的识别精度。当使用多通道融合特征进行分类比较时,可以发现在SUN397-15数据集上,最后一个卷积层与第一个全连接层的双通道融合特征的识别精度最好,而在15-category数据集上,最后一个卷积层与第一个全连接层的双通道融合特征与两个全连接层的融合特征的识别精度相当。由于卷积神经网络是通过一系列滤波器与输入图像进行卷积、池化来层层抽象,最后一个卷积层还含有图像的部分局部信息,而到达全连接层时,获取的已经是图像的高层语义信息。因此,本文为了弥补局部信息的缺失,采用图像块最后一个深度卷积层的特征进行编码,同时,与第一个全连接层的全局语义信息进行多通道融合,来更有效的表征图像。
表1 多通道特征的分类结果比较Tab.1 Classification results comparison of multi-channel
3.3 码本大小的选择
K-means聚类的缺点之一是对K值的选择敏感,因此本文中选择K=10,K=50,K=100,K=150这四种不同大小的类码本执行聚类,依次得到每个类别的视觉码本,再将所有类码本级联获得通用码本。基于该码本,使用LLC编码方法获得多尺度局部图像块的编码特征,并进一步将其与原始图像的第一个全连接层的全局CNN特征级联,实现多通道融合,在15-category数据集上比较了分类准确性,分类结果如表2所示。
表2 不同大小类码本的分类结果比较Tab.2 Classification results comparison of different size codebook
由表2可见,随着类码本的增大,编码特征和融合特征的分类精度在15-category数据集上均为先增加后减小。且当类码本大小为K=100时,编码特征和融合特征都可以获得最好的分类精度。对于LLC编码来说,在一定范围内,类码本越大,编码特征的分类效果越好。但码本过大,编码特征会过于稀疏,反而影响分类效果。且在一幅实际场景图像中,包含的视觉目标也是有限的。因此,在本文的实验中,选择K=100作为类码本的大小,采用K-means聚类来构建视觉通用码本。
3.4 多尺度对比
实验中选择不同尺度的滑动窗进行局部图像块采样,获取其深度卷积层特征并进行LLC编码,分别对不同尺度图像块的编码特征进行分类判别。进一步将编码特征与原图在第一个全连接层的全局特征相融合,在15-category数据集上比较了分类精度,结果取10次实验的平均值,分类结果如表3所示。表3中Scale1表示采样64×64的图像块,Scale2表示采样128×128的图像块,Scale1+Scale2表示采样两个不同尺度的局部图像块。
表3 多尺度编码特征与融合特征的分类结果比较Tab.3 Classification results comparison of multi-scale coding features and fusion features
由表3可知,当使用多尺度图像块的深度卷积层特征进行LLC编码时,其分类精度比单尺度图像块的编码特征高,且较大尺度图像块编码特征的分类效果比较小尺度好。进一步将局部图像块的编码特征与第一个全连接层的全局CNN特征进行多通道融合,使用两个尺度的图像块编码特征得到的融合特征相比两个单尺度融合特征的分类精度都高。多尺度融合特征比多尺度编码特征的分类精度提高了3.1%,这进一步说明了多通道融合的有效性。因此,本文在最终的分类判别实验中,采用多尺度多通道融合特征来表征图像。
3.5 分类判别
如前所述,本文采用多尺度局部图像块的深度卷积层特征进行LLC编码,获得编码特征,进而与原始图像的第一个全连接层的全局CNN特征实现多通道融合,以获得整合了局部与全局信息的有效图像表示。将编码特征与融合特征在SUN397-15和15-category两个数据集上进行实验比较,识别精度取10次实验的平均值,分类结果如表4所示。同时,为了更好地验证本文方法的有效性,将原始图像的第一个全连接层的CNN特征进行分类判别,作为比较的基准。表4中CNN1表示原始图像CNN特征的分类精度,LLC1表示使用LLC编码获得的多尺度局部图像块的编码特征的分类精度,LLC1+CNN1表示多通道融合后的分类精度。
表4 两个数据集上的实验结果Tab.4 Experimental results on both datasets
由表4可见,使用LLC方法获得多尺度局部图像块的深度卷积层编码特征,与原始图像在第一个全连接层的全局CNN特征进行多通道融合,基于融合特征做分类判别时,在SUN397-15数据集上的分类精度达到98.0%,相比原始图像的全局CNN特征的分类精度提高了1.5%。在15-category数据集上的分类精度达到92.9%,相比原始图像CNN特征的识别精度提高了4.5%。由此可以看出本文将局部与全局信息融合的方法对于场景图像的分类判别是有效的。
此外,针对15类场景数据集,本文与其他场景分类方法[5,19-22]也进行了实验对比,结果如表5所示。将多尺度局部图像块的编码特征整合到全局CNN特征中的多通道融合方法,相比表5中的其他方法在分类精度上都有所提高,不仅比传统的使用SPM方法进行场景识别的分类精度提高了11.5%,而且达到了与文献[22]中相当的分类效果,但本文使用的网络结构比文献[22]简单,且算法复杂度更低。由此表明,整合局部信息对于使用深度特征进行场景分类十分有效。
4 结论
本文为了克服CNN特征无法有效表征图像局部信息的缺点,通过将多尺度局部图像块的深度卷积层特征进行LLC编码,并将编码特征与原始图像的全连接层CNN特征进行多通道融合,从而获得整合了局部结构信息与全局空间信息的有效图像表示。在两个典型数据集上的实验结果,表明了本文所提出的场景分类方法的优越性。同时,也验证了多尺度图像块的编码特征优于单尺度图像块的编码特征,且多通道融合特征优于单通道CNN特征。
表5 15-category数据集上不同分类方法比较Tab.5 Comparison of different classification methods on the 15-category dataset