计算机应用   2017, Vol. 37 Issue (12): 3517-3522  DOI: 10.11772/j.issn.1001-9081.2017.12.3517
0

引用本文 

刘盛清, 孙季丰, 余家林, 宋治国. 基于多尺度特征融合Hessian稀疏编码的图像分类算法[J]. 计算机应用, 2017, 37(12): 3517-3522.DOI: 10.11772/j.issn.1001-9081.2017.12.3517.
LIU Shengqing, SUN Jifeng, YU Jialin, SONG Zhiguo. Image classification algorithm based on multi-scale feature fusion and Hessian sparse coding[J]. Journal of Computer Applications, 2017, 37(12): 3517-3522. DOI: 10.11772/j.issn.1001-9081.2017.12.3517.

基金项目

国家自然科学基金资助项目(61202292);广东省自然科学基金资助项目(9151064101000037)

通信作者

刘盛清, 电子邮箱 jxjalsq@qq.com

作者简介

刘盛清(1991-), 男, 江西吉安人, 硕士研究生, 主要研究方向:机器学习、图像分类;
孙季丰(1962-), 男, 广东广州人, 教授, 博士, 主要研究方向:机器学习、模式识别、计算机视觉;
余家林(1989-), 男, 贵州镇远人, 博士研究生, 主要研究方向:机器学习、人体姿态估计;
宋治国(1988-), 男, 湖南湘西人, 博士研究生, 主要研究方向:机器学习、目标跟踪

文章历史

收稿日期:2017-06-05
修回日期:2017-08-05
基于多尺度特征融合Hessian稀疏编码的图像分类算法
刘盛清, 孙季丰, 余家林, 宋治国    
华南理工大学 电子与信息学院, 广州 510641
摘要: 针对传统稀疏编码图像分类算法提取单一类型特征,忽略图像的空间结构信息,特征编码时无法充分利用特征拓扑结构信息的问题,提出了基于多尺度特征融合Hessian稀疏编码的图像分类算法(HSC)。首先,对图像进行空间金字塔多尺度划分;其次,在各个子空间层将方向梯度直方图(HOG)和尺度不变特征转换(SIFT)进行有效的融合;然后,为了充分利用特征的拓扑结构信息,在传统稀疏编码目标函数中引入二阶Hessian能量函数作为正则项;最后,利用支持向量机(SVM)进行分类。在Scene15数据集上的实验结果表明,HSC的准确率比局部约束线性编码(LLC)高了3~5个百分点,比支持区别性字典学习(SDDL)等对比方法高了1~3个百分点;在Caltech101数据集上的耗时实验结果表明,HSC的用时比多核学习稀疏编码(MKLSC)少40%左右。所提HSC可以有效提高图像分类准确率,算法的效率也优于对比算法。
关键词: 图像分类    特征融合    空间金字塔    稀疏编码    支持向量机    
Image classification algorithm based on multi-scale feature fusion and Hessian sparse coding
LIU Shengqing, SUN Jifeng, YU Jialin, SONG Zhiguo     
School of Electronic and Information Engineering, South China University of Technology, Guangzhou Guangdong 510641, China
Abstract: The traditional sparse coding image classification algorithms extract single type features, ignore the spatial structure information of the images, and can not make full use of the feature topological structure information in feature coding. In order to solve the problems, a image classification algorithm based on multi-scale feature fusion and Hessian Sparse Coding (HSC) was proposed. Firstly, the image was divided into sub-regions with multi-scale spatial pyramid. Secondly, the Histogram of Oriented Gradient (HOG) and Scale-Invariant Feature Transform (SIFT) were effectively merged in each subspace layer. Then, in order to make full use of the feature topology information, the second order Hessian energy function was introduced to the traditional sparse coding target function as a regularization term. Finally, Support Vector Machine (SVM) was used to classify the images. The experimental results on dataset Scene15 show that, the accuracy of HSC is 3-5 percentage points higher than that of Locality-constrained Linear Coding (LLC), while it is 1-3 percentage points higher than that of Support Discrimination Dictionary Learning (SDDL) and other comparative methods. Time-consuming experimental results on dataset Caltech101 show that, the time-consuming of HSC is about 40% less than that of the Multiple Kernel Learning Sparse Coding (MKLSC). The proposed HSC can effectively improve the accuracy of image classification, and its efficiency is also better than the contrast algorithms.
Key words: image classification    feature fusion    spatial pyramid    sparse coding    Support Vector Machine (SVM)    
0 引言

近年来,图像分类一直是非常热门的研究方向。譬如,智能交通领域中的车牌检测识别,安防系统中的人脸识别等。由于图像包含了复杂多样的信息,并且存在各种干扰信息,这使得图像分类成为一个具有挑战性的任务。

许多图像分类方法仅提取单一类型的图像特征,而且由于缺乏图像空间结构信息导致分类精度不高。因此较多的研究者提取多特征以充分获取图像信息。文献[1]将图像进行多尺度空间划分,利用多尺度空间多特征学习进行医学图像分类,获得较好的识别率。文献[2]将鲁棒集合统计特征作为最终的特征,用于图像分类,也获得了较满意的准确率,这些提取多特征的方法都要优于采用单一特征的方法,基于此,本文也将提取多特征进行分类。

基于视觉特征袋(Bag Of Features,BOF)模型的图像分类算法因取得了不错的准确率而受到了广大研究者的关注。BOF模型通过提取图像局部特征并聚类生成视觉词典进行分类,该方法具有很强的特征平移不变性,却丢失了重要的空间结构信息。鉴于此,文献[3]提出空间金字塔匹配(Spatial Pyramid Matching,SPM)方法,将图像进行多尺度精细划分,在每个子空间进行特征向量计算并汇聚连接进行分类,取得了满意的效果。

稀疏编码(Sparse coding,SC)[4]通过基向量的线性组合来表征图像的输入特征,在基于空间金字塔词袋模型的基础上,文献[5]使用稀疏编码取代传统的硬编码(Vector Quantization,VQ),在很大程度上减小了重构误差,取得不错的效果。但稀疏编码有个严重的缺点,即相似的局部特征描述子经过稀疏编码后可能会在不同的视觉单词上产生响应。随后,文献[6]依据特征的局部性比稀疏性可以更加有效的表征图像的原理,在一个局部流形结构上对局部特征进行局部约束线性编码(Locality-constrained Linear Coding,LLC),通过加入局部线性约束,虽然极大地提高了编码的有效性,但是该方法对编码过程中的近邻数k比较敏感, 随着k 的增大, 编码中的某些负值元素与正值元素的差值绝对值也可能增大, 这使得LLC越来越不稳定;因此,文献[7]在LLC编码模型的目标方程中引入非负约束,该编码方法具有较强的稳定性,但是它把编码中的一些负值全部消除,这无疑损失了很多的特征信息;文献[8]基于稀疏编码,提出Fisher判别字典学习方法(Fisher Discrimination Dictionary Learning,FDDL),将Fisher线性鉴别准则作用在稀疏系数上以增加它的鉴别性,从而增加分类的准确率,但忽略了同类原子和不同类原子间的关系,这降低了字典的判别性能;文献[9]提出支持区别性字典学习(Support Discrimination Dictionary learning,SDDL),计算一个类别中各个图像的联合稀疏系数应用到字典学习中,利用各个图片特征的相关性信息提高分类准确性;文献[10]突破以往的l0l1范数优化,提出利用l2, p矩阵范数进行稀疏约束,但当0<p<1时,矩阵范数只是准范数,并不满足矩阵范数的三角不等式,这限制了算法的部分应用。

文献[11]为了获取特征之间的关联信息,提出多核学习稀疏编码(Multiple Kernel Learning Sparse Coding,MKLSC),使用多个非线性核函数把特征映射到高维空间,使得特征的区分性更强,但是多核有很多冗余信息,而且计算复杂。文献[12]将局部Gabor特征融合进稀疏编码中,成功的应用到多任务的识别研究,但是没有利用特征的空间拓扑结构信息。文献[13]在稀疏编码的基础上提出拉普拉斯稀疏编码(Laplacian Sparse Coding,LSC),在一定程度上解决了这一问题。但由于拉普拉斯正则项会导致函数偏向一个常函数,使得它对特征的局部拓扑结构信息不能有效地利用,导致其对特征泛化能力较弱。文献[14]在对特征进行聚类分析研究时发现二阶Hessian能量函数可以较好地利用特征的局部拓扑结构信息,还可以增强特征的泛化能力。文献[15]提出将二阶Hessian能整合到半监督特征选择框架上,有效地进行了稀疏系数的约束,但是其半监督的学习的方法导致图像标注的准确率不是很高。

现有的基于稀疏编码图像分类算法更多地是利用多特征和特征之间的信息来提高分类准确率,很少研究特征结构的流形空间,因此无法利用特征的局部拓扑结构信息,导致分类能力较弱。基于此,本文提出基于多尺度特征融合Hessian稀疏编码的图像分类算法(image classification algorithm based on multi-scale feature fusion and Hessian Sparse Coding, HSC)。本文主要工作如下:1)为了获得完备的图像信息,对图像进行空间金字塔多尺度划分以引入图像的空间结构信息,同时在各个子空间对方向梯度直方图(Histogram of Oriented Gradient, HOG)特征和尺度不变特征转换(Scale-Invariant Feature Transform, SIFT)特征进行有效的融合,以获取充分的特征信息;2)在传统稀疏编码的目标函数中引入二阶Hessian能量函数作为正则项,克服传统稀疏编码对特征局部拓扑结构保持较差、无法利用特征拓扑结构信息的缺点;3)不同于大多数现有文献将Hessian能量函数用在特征选择和聚类上,本文创新地将Hessian稀疏编码用于图像分类问题。

1 多尺度特征融合 1.1 空间金字塔模型

空间金字塔匹配方法是文献[3]为了解决以往算法中缺少图像空间结构信息而专门提出来的,其核心就是对图像进行多尺度的划分以引入图像的空间结构信息。划分的方式是多样的,通常都是在图像的两个坐标方向进行2的指数倍划分,即2L×2L(L=(0, 1, …, n)),当L=0时,SPM退化为BOF)。本文采用的划分方式如下图 1所示,取L=(0, 1, 2),其中图中三种符号代表三种不同词汇,最下面一行表示每个词汇的直方图统计,首先计算多尺度划分得到的每个子区域的特征向量,然后进行有效的连接用于支持向量机分类。

图 1 SPM模型 Figure 1 the SPM model
1.2 子空间特征串行融合

现有的方法很多是提取单类型特征进行分类,尺度不变特征转换(SIFT)特征对图像旋转、尺度缩放、亮度变化具有保持不变性。计算SIFT特征时先将图像进行4×4的网格划分,再计算每个网格上8个方向的梯度直方图,最终描述子的维数为4×4×8=128维,因良好的描述能力被广泛使用。

方向梯度直方图(HOG)特征可以很好地描述物体形状,但它不具备旋转和尺度不变性。HOG特征的提取是先将图像每4个单元划成1个块,特征的梯度方向被平均分成9个区间,对单元中所有的像素进行梯度直方图计算,最后将相邻的4个单元里的特征进行连接,得到一个4×9=36维的特征向量。由于SIFT和HOG的计算以及最后的描述子均和梯度直方图有关,它们功能具有互补性,所以将在空间金字塔各个子空间将它们直接进行串行融合,以获取更多的图像信息,弥补单一特征信息缺失、表征不足的缺点。

2 特征编码 2.1 稀疏编码介绍

$ \mathit{\boldsymbol{A}} = [{\mathit{\boldsymbol{x}}_{\rm{1}}}{\rm{, }}{\mathit{x}_2}{\rm{, }}{\mathit{\boldsymbol{x}}_j}{\rm{, }}...{\rm{, }}{\mathit{\boldsymbol{x}}_M}] \in {{\bf{R}}^{D \times M}}$表示一幅图像的所有特征向量集合,其中xj表示提取的局部特征描述子,D表示特征的维数,M表示特征的总个数。由图像底层特征描述子经过聚类得到的N个视觉单词中心的集合设为$ \mathit{\boldsymbol{B}}=[{{\mathit{\boldsymbol{b}}}_{1}}, {{\mathit{\boldsymbol{b}}}_{2}}, {{\mathit{\boldsymbol{b}}}_{i}}, ..., {{\mathit{\boldsymbol{b}}}_{N}}]\in {{\bf{R}}^{D\times N}}$bi表示视觉单词;经过特征编码后得到的图像特征向量的稀疏系数矩阵设为C=[y1, y2, …, yj, …, yM]∈RN×M$ {{\mathit{\boldsymbol{y}}}_{j}}=({{c}_{1j}}, {{c}_{2j}}, ..., {{c}_{Nj}})$表示特征xj编码后得到的稀疏系数,是一个N维列向量。

文献[5]为了减小特征向量的重构误差,在硬编码基础上放松了对视觉单词的约束,利用l1范数来正则化稀疏编码,公式如下所示:

$ {\begin{array}{*{20}{l}} \mathop {{\rm{arg}}\;{\rm{min}}}\limits_\mathit{\boldsymbol{C}} \left\{ {\sum\limits_{j = 1}^M {||{\mathit{\boldsymbol{x}}_j} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_j}|{|^2}} + \lambda |\mathit{\boldsymbol{|}}{\mathit{\boldsymbol{y}}_j}||} \right\}\\ {\rm{s}}{\rm{.t}}.||{\mathit{\boldsymbol{b}}_k}|| \le 1, \forall k = 1, 2, ..., N \end{array}} $ (1)

其中:λ是平衡重构误差与稀疏性的权衡因子,只要系数矩阵C或码本B固定,目标函数便可以转化为凸优化问题,求出近似解。稀疏编码在图像分类上获得不错的性能,具体细节可参考文献[5]。

文献[6]基于特征编码的局部性比稀疏性更加重要的原理,在稀疏编码的基础上进一步改进创新,对底层特征进行局部线性约束稀疏编码,得到下面的公式:

$ \begin{array}{l} \mathop {{\rm{arg}}\;{\rm{min}}}\limits_\mathit{\boldsymbol{C}} \sum\limits_{j = 1}^M {||{\mathit{\boldsymbol{x}}_j} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_j}|{|^2}} + \lambda ||{\mathit{\boldsymbol{d}}_j}\Theta {\mathit{\boldsymbol{y}}_j}|{|^2}\\ {\rm{s}}{\rm{.t}}{\rm{.}}{\mathit{\boldsymbol{e}}^t}{\mathit{\boldsymbol{y}}_j} = 1, \forall j \end{array} $ (2)

其中e表示所有元素都为1的向量,约束条件etyj=1保证特征编码过程中的平移不变性,$ ||{\mathit{\boldsymbol{d}}_j}\Theta {\mathit{\boldsymbol{y}}_j}|{|^2}$用于解决传统稀疏编码的不稳定性,即确保相似的局部特征经过特征编码不会在相近的视觉词汇产生响应,实验证明该方法可以有效的提高分类性能,具体细节可参考文献[6]。

LSC算法[13]也是针对如何在编码过程中更充分地利用局部信息而提出来的,它的核心思想是计算特征的相似性,将计算获得的特征相似度矩阵作为相似特征编码的权值,从而得到拉普拉斯矩阵并应用在图像分类上,具体细节参考文献[13]。

2.2 本文Hessian编码算法

上述一系列稀疏编码方法取得了不错的分类效果,但是,这些方法对特征的局部拓扑结构保持不佳,无法充分利用特征的拓扑结构信息,导致对特征的泛化能力不足[14],仍然有较大的改进空间。几何结构在人的视觉理解中是非常重要的信息,在图像分类中,特征空间的几何结构是不容忽视的信息。基于此,本文提出一种新的图像分类方法,在传统稀疏编码目标函数中引入Hessian二阶能量函数作为正则项,改善对特征的局部拓扑结构保持性,充分利用特征的拓扑结构信息,增强特征的泛化能力,从而提高分类准确性和鲁棒性。

Hn(xj)=cnj(n=1, 2, …, N),xj是特征描述子,cnj是特征描述子xj在码本bn上投影值,即稀疏系数,M表示特征的总个数,N表示视觉单词中心个数。定义H(xj)如下:

$ \begin{array}{l} H({\mathit{\boldsymbol{x}}_j}) = \left( {{H_1}({\mathit{\boldsymbol{x}}_j}), {H_2}({\mathit{\boldsymbol{x}}_j}), ..., {H_N}({\mathit{\boldsymbol{x}}_j})} \right) = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ({c_{1j}}, {c_{2j}}, ..., {c_{Nj}}) \end{array} $ (3)

选择‖Hn2作为度量Hn(xj)平滑性的函数[14],则Hessian二阶能量函数公式如下:

$ ||{H_n}||_{\bf{S}}^2 = \int_{{\bf{S}}} {||{\nabla _a}{\nabla _b}{H_n}||_{{T_{{\mathit{\boldsymbol{x}}_j}{{\bf{S}}}}} \otimes {T_{{\mathit{\boldsymbol{x}}_i}{{\bf{S}}}}}}^2} {\rm{d}}V({\mathit{\boldsymbol{x}}_j}) $ (4)

其中:S表示流形空间; dV(xj)是体积元; ▽abHnHn的二阶协变导数,TxjSxjS的切空间,欧氏空间的‖▽abHn‖正好是标准坐标中的Hessian正则Frobenius范数[14],所以可以得到如下公式:

$ \begin{array}{l} ||{\nabla _a}{\nabla _b}{H_n}||_{{T_{{{\mathit{\boldsymbol{x}}}_j}{{\bf{S}}}}} \otimes {T_{{{\mathit{\boldsymbol{x}}}_i}{{\bf{S}}}}}}^2 = \sum\limits_{p,q = 1}^v {{{\left( {\frac{{{\partial ^2}{H_n}}}{{\partial {\mathit{\boldsymbol{x}}}_j^p\partial {\mathit{\boldsymbol{x}}}_j^q}}} \right)}^2}} \end{array} $ (5)

Gk(xj)是由xjk个最近邻域的特征点集合组成,找出Gk(xj)包含的特征点对应的TxjM(TxjMRv),假设利用t(tv)个正交基用于估计局部切空间TxjM,由于实际的图像采样不够密集而使得文献[14]假设的理想条件:t等于局部切空间TxjM的维数不成立,所以实验中本文采用文献[14]交叉验证设置的k=3,t=2。式(6)中的P(j)是用于最小二乘法拟合的二阶多项式,使用最小二乘法可以拟合得到Hn关于xj的二阶偏导数[14],又因为Hn(xj)=cnj,所以由式(5)可以得到如下公式:

$ \begin{array}{l} ||{\nabla _a}{\nabla _b}{H_n}|{|^2} \approx \sum\limits_{p, q = 1}^v {{{\left( {\sum\limits_{r = 1}^k {P_{pqr}^{(j)}{c_{nr}}} } \right)}^2}} = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \sum\limits_{r, g = 1}^k {{c_{nr}}{c_{ng}}Q_{rg}^{(j)}} \end{array} $ (6)

其中$ Q_{rg}^{(j)} = \sum\limits_{p, q = 1}^v {P_{pqg}^{(j)}P_{pqr}^{(j)}} $。当式(4)离散求和时,Hessian能函数的最终表达式如下:

$ \begin{array}{l} ||{H_n}||_{{\bf{S}}}^2{\rm{ = }}\sum\limits_{j = 1}^M {\sum\limits_{r, g = 1}^k {{c_{nr}}{c_{ng}}Q_{rg}^{(j)}} } {\rm{= }}\\ \sum\limits_{j = 1}^M {\sum\limits_{r \subset {G_k}({\mathit{\boldsymbol{x}}_j})} {\sum\limits_{g = {G_k}({\mathit{\boldsymbol{x}}_j})} {{c_{ng}}{c_{nr}}Q_{rg}^{(j)}} } } \end{array} $ (7)

把Hessian能函数合并到稀疏编码的标准目标函数中作为正则项,得到Hessian稀疏编码公式如下:

$ \begin{array}{l} \sum\limits_{j = 1}^M {\left( {||{\mathit{\boldsymbol{x}}_j} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_j}|{|^2} + {\lambda _1}||{\mathit{\boldsymbol{y}}_j}||} \right) + {\lambda _2}} \sum\limits_{n = 1}^N {||{H_n}||_{{\bf{S}}}^2} = \\ ||\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{BC}}{\rm{|}}{{\rm{|}}^2} + \sum\limits_{j = 1}^M {{\lambda _1}||{\mathit{\boldsymbol{y}}_j}|| + {\lambda _2}} {\rm{Tr}}(\mathit{\boldsymbol{C}}Q{\mathit{\boldsymbol{C}}^{\rm{T}}}) \end{array} $ (8)

其中:λ1λ2是权重系数;$ Q = \sum\limits_{j = 1}^M {{Q^{(j)}}} $。文献[13]中的拉普拉斯正则化依赖于常量函数且不具有推测能力,使它不能够稳定地保持特征的局部流形结构,编码时不能充分利用特征的拓扑结构信息;而Hessian正则化在测地线函数存在时,不依赖于常量函数且具有线性推测能力,将Hessian正则项引入到稀疏编码的目标函数中要优于拉普拉斯稀疏编码[14]

2.2.1 Hessian稀疏编码的字典学习

当固定C时,式(8)可以改写成如下所示的最小平方问题:

$ \mathop {{\rm{min}}}\limits_\mathit{\boldsymbol{B}} ||\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{BC}}|{|^2}\\ {\rm{s}}{\rm{.t}}.||{\mathit{\boldsymbol{b}}_i}|{|^2} \le c, i = 1, 2, ..., k $ (9)

上述问题有很多成熟经典的解法,比如梯度下降迭代,本文采用比梯度下降迭代更有效的拉格朗日对偶法[4]进行字典的求解,具体步骤流程可以参考文献[4]。

2.2.2 最优Hessian稀疏系数求解

为求得式(8)的最小值,可以把码本B固定,得到Hessian稀疏编码系数的目标函数如下所示:

$ \mathop {{\rm{min}}}\limits_\mathit{\boldsymbol{C}} \left\{ {\sum\limits_{j = 1}^M {\left( {||{\mathit{\boldsymbol{x}}_j} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_j}{\rm{|}}{{\rm{|}}^2} + {\lambda _1}||{\mathit{\boldsymbol{y}}_j}||} \right)} + {\lambda _2}{\rm{Tr}}(\mathit{\boldsymbol{C}}Q{\mathit{\boldsymbol{C}}^{\rm{T}}})} \right\} $ (10)

其中$ {\rm{Tr}}(\mathit{\boldsymbol{C}}Q{\mathit{\boldsymbol{C}}^{\rm{T}}}){\rm{ = }}\sum\limits_{i, j = 1}^M {{\mathit{\boldsymbol{y}}_{^\mathit{i}}^{\rm{T}}}{\mathit{\boldsymbol{y}}_j}{Q_{_{ij}}}} $,则式(10)写成:

$ \mathop {{\rm{min}}}\limits_\mathit{\boldsymbol{C}} \left\{ {\sum\limits_{j = 1}^M {\left( {||{\mathit{\boldsymbol{x}}_j} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_j}{\rm{|}}{{\rm{|}}^2} + {\lambda _1}||{\mathit{\boldsymbol{y}}_j}||} \right)} + {\kern 1pt} {\kern 1pt} {\kern 1pt} {\lambda _2}\sum\limits_{i, j = 1}^M {{\mathit{\boldsymbol{y}}_{^\mathit{i}}^{\rm{T}}}{\mathit{\boldsymbol{y}}_j}{Q_{_{ij}}}} } \right\} $ (11)

固定yj,更新yi,又可以写成:

$ \begin{array}{l} \mathop {{\rm{min}}}\limits_\mathit{\boldsymbol{C}} \left\{||{\mathit{\boldsymbol{x}}_i} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_i}{\rm{|}}{{\rm{|}}^2} + {\lambda _1}\sum\limits_{j = 1}^N {||{c_{ji}}||} \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} + {\kern 1pt} {\kern 1pt} {\lambda _2}{\mathit{\boldsymbol{y}}_{^\mathit{i}}^{\rm{T}}}{\mathit{\boldsymbol{y}}_i}{Q_{ii}} + {\mathit{\boldsymbol{y}}_{^\mathit{i}}^{\rm{T}}}{\mathit{\boldsymbol{W}}_i}\right\} \end{array} $ (12)

其中:$ {\mathit{\boldsymbol{W}}_i} = 2{\lambda _2}\left( {\sum\limits_{i \ne j} {{\mathit{\boldsymbol{y}}_j}{Q_{ij}}} } \right)$cjiyi的第j个分量。对式(12)求yi的一阶偏导数和二阶偏导数:

$ \left\{ \begin{array}{l} {f_1}{|_{{{\mathit{\boldsymbol{y}}}_i}}} = \frac{{\partial ||{\mathit{\boldsymbol{x}}_i} - {\mathit{\boldsymbol{B}}}{{\mathit{\boldsymbol{y}}}_i}{\rm{|}}{{\rm{|}}^2} + {\lambda _2}{\mathit{\boldsymbol{y}}_{^\mathit{i}}^{\rm{T}}}{{\mathit{\boldsymbol{y}}}_i}{Q_{ii}} + {\mathit{\boldsymbol{y}}_{^\mathit{i}}^{\rm{T}}}{{\mathit{\boldsymbol{W}}}_i}}}{{\partial {{\mathit{\boldsymbol{y}}}_i}}}\\ {f_2}{|_{{{\mathit{\boldsymbol{y}}}_i}}} = 2\left( {{{\mathit{\boldsymbol{B}}}^\rm{T}}{\mathit{\boldsymbol{B}}} + {\lambda _2}{Q_{ii}}{\mathit{\boldsymbol{I}}}} \right) \end{array} \right. $ (13)

其中:I是单位矩阵。至此可以利用经典的特征符号搜索算法求解Hessian稀疏编码的最优稀疏系数,因算法经典熟知,文章篇幅有限,具体的求解步骤在这里不详细展开,可以参考文献[4]。本文Hessian稀疏编码详细算法流程如下:

算法1   Hessian稀疏编码算法。

1) 初始化A:随机抽样。

2) 初始化B:随机生成N个基向量。

3) Repeat。

4)   固定B,式(8)改写成如下目标函数:

   $ \begin{array}{l} \mathop {{\rm{min}}}\limits_\mathit{\boldsymbol{C}} \left\{ {\sum\limits_{j = 1}^M {\left( {||{\mathit{\boldsymbol{x}}_j} - \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{y}}_j}{\rm{|}}{{\rm{|}}^2} + {\lambda _1}||{\mathit{\boldsymbol{y}}_j}||} \right)} + {\lambda _2}{\rm{Tr}}(\mathit{\boldsymbol{C}}Q{\mathit{\boldsymbol{C}}^{\rm{T}}})} \right\}\\ {\rm{s}}{\rm{.t}}{\rm{.|}}|{\mathit{\boldsymbol{b}}_i}|{|^2} \le c, i = 1, 2, ..., k \end{array}$

   用特征符号搜索法[4]求稀疏系数矩阵C

5)    固定C,式(8)改写成如下目标函数:

   $ \begin{array}{l} \mathop {{\rm{min}}}\limits_\mathit{B} ||\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{BC}}|{|^2}\\ {\rm{s}}{\rm{.t}}.||{\mathit{\boldsymbol{b}}_i}|{|^2} \le c, i = 1, 2, ..., k \end{array}$

   利用拉格朗日对偶法[4]求基向量集合B

6) Until超过最大迭代次数或者达到收敛条件。

3 实验结果与分析

本文在两个具有挑战性的数据集上进行实验来验证所提算法的有效性和算法效率。

3.1 实验数据集

Scene15包含15个场景类别,每个类别包含200至400张图片,共4 485幅图像,包括城市、建筑等,各个场景差别很大。Caltech101包含101物体类别,还有一个背景类,每个类包含31至800张图片不等,总共9 144幅图像,类内差别很大,包含的物体丰富多样,数量更大,很有挑战性。

3.2 实验设置

实验中将图像转为灰度图并归一化为不超过300×300像素,每次训练从每个类别中随机挑选n幅图像,剩下的作为测试集。Scene15实验中n分别取30、60、100;Caltech101实验中n设为15、20、25、30;取同一数据集上的10次实验平均值作为本文的最终实验结果。

SIFT特征提取以8像素为步长,块大小设为16×16,HOG特征提取也是以8像素为步长,块大小设为16×16。空间金字塔划为3层,文献[14]根据交叉验证认为λ1在0.1~0.4,λ2在0.2~0.5比较合适,本文取:λ1=0.15,λ2=0.3,k=3。基向量的大小设为1 024,采用最大值池化方法。支持向量机采用LIBSVM工具包libsvm3.20。本实验所用计算机配置为Intel Core i5, 2.50 GHz CPU, 8 GB内存,软件环境为Windows 7下的Matlab R2012a。

3.3 实验结果分析 3.3.1 Scene15实验结果及分析

本文主要是对传统稀疏编码进行改进,加入Hessian正则项,得到HSC,从而利用特征空间的拓扑信息,提升字典学习和特征编码的有效性,提高分类的准确率。本文将所提算法与以下经典的方法进行比较:文献[6]局部约束线性编码(LLC)是在稀疏编码的基础上进行局部特征的线性约束,从而提升分类准确率;文献[8]基于稀疏字典学习,提出基于稀疏编码的fisher判别字典学习方法(FDDL),将Fisher线性鉴别准则作用在稀疏系数上,以增强字典的鉴别性,从而提高分类的准确率;文献[9]也是在稀疏编码的基础上,提出支持区别性字典学习(SDDL),通过计算一个类别中各个图像的联合稀疏系数,应用到字典学习中,利用各个图片特征的相关性信息来提高分类准确率;文献[11]为了获取特征更多的信息,提出多核学习稀疏编码(MKLSC),使用多个非线性核把特征映射到高维空间,使得特征区分性更强,分类准确率也得到提高。这些方法都是改进传统稀疏编码来提高分类准确性,所以选择这些经典的方法作为本文算法的比较对象。

在Scene15数据集上,取10次实验的平均值作为本文的实验准确率,对比结果如表 1所示。

表 1 Scene15数据集上的分类准确率  % Table 1 Classification accuracy on dataset Scene15  %

表 1可以看出,随着训练样本的增加,五种算法的分类准确率也逐步提高。在训练样本数为30和60时,HSC取得的分类准确率都是最高的,比LLC分别高2.83个百分点、5.4个百分点,LLC只是在传统稀疏编码的基础上进行局部的线性约束,并没有有效地利用特征的更多信息; 另外HSC比FDDL和MKLSC高1个百分点左右。在训练样本为30时,SDDL获得的准确率比HSC取得的准确率低0.52个百分点; 虽然在训练样本为100时,SDDL的准确率比HSC的准确率高0.08个百分点,但是在训练样本为60时,SDDL的准确率比HSC低0.39个百分点。所以HSC的多特征提取能获得更多的图像信息,Hessian正则项使得编码后的特征能更好地描述图像,因此图像分类的准确率也得到提高。综合分析,本文方法HSC的分类性能是这五种算法中最好的。

3.3.2 Caltech101实验结果及分析

该数据集图像数量较大,由于从整个数据集上提取的特征数目庞大,全部用于字典学习耗费时间太长,本次实验中,特征抽样和基向量个数的取值和经典方法LLC、FDLL一样。采集200 000个抽样特征进行码本的生成,基向量个数设为1 024,本文方法HSC与LLC、FDDL、SDDL和MKLSC的实验对比结果如表 2所示。

表 2 Caltech101数据集上的分类准确率  % Table 2 Classification accuracy on dataset Caltech101  %

表 2可以看出,随着训练样本的增加,五种算法的分类准确率也逐步提高。在训练样本15时,LLC获得的准确率是最低的65.43%,HSC获得的准确率是最高的66.54%,比LLC的准确率提高了1.11个百分点。在训练样本为20和25时,HSC都取得了最高的准确率,其中在训练样本为20时,HSC比SDDL获得的准确率高了0.51个百分点。在训练样本为30时,虽然SDDL获得的准确率是最高的73.58%,但是只比HSC高0.07个百分点。其中,在训练样本为30时,LLC获得的准确率比FDDL和MKLSC的都高,分析原因可能是:实验是从每类类别的图像中随机抽取训练样本数进行训练,余下的作为测试样本,那么每个算法抽取的图片是不一样的,每一次实验结果都是在一个区间之内波动,这就会造成准确率存在一定的随机性。另外,在Caltech101数据集上,五种算法的分类准确率相差不是很大,原因可能是这个数据集类别多,数据量较大,而且这次实验中,从每类类别中抽取的训练样本数差只有5,这导致了各个算法能有效利用的图像信息可能不会相差太大,所以分类准确率也就没有相差很大。

3.3.3 Caltech101数据集上的耗时对比实验

分类准确率固然是算法分类性能的一个重要标准, 但整个实验消耗的时间也是一个重要的衡量标准,特别是在分类准确率相差不是很大的时候,整个算法的运算时间更能体现一个方法的性能是否优越,所以本文的耗时实验选择在Caltech101上进行。由于该数据集一共有102类,有9 144张图片,数量较大,如果从整个数据集上提取特征进行字典学习的话,耗费时间太长,所以和经典方法LLC,FDLL一样,采集200 000个抽样特征进行码本的生成,然后从每个类别中随机抽取训练样本进行训练,余下的图片作为测试样本,以整个算法运行的时间作为实验结果, 如表 3所示。

表 3 耗时对比实验结果  h Table 3 Experimental results of time-consuming comparison  h

表 3可以看出,随着训练样本的增加,计算量的增加,五种算法法消耗的时间也都逐步增加。仔细分析还可以发现,随着训练样本的增加,五种算法与前一次实验耗费的时间差值也逐步增大。比如,MKLSC在训练样本为20消耗的时间比样本为15时多了0.66 h,但是在训练样本为30时时间消耗比样本数为25多了1.12 h。这主要是因为训练样本越多,相应的测试样本也就越少,计算机的计算量也增大,CPU负荷越来越重,内存消耗也就越多,整个计算机的性能也会下降,导致算法消耗的时间会越来越多。局部约束线性编码(LLC)耗费的时间是最少的,因为它是在稀疏编码的基础上,仅增加了特征局部线性约束,寻找特征的k近邻特征点,使用线性SVM作为分类器,所以时间消耗少。本文算法HSC消耗的时间是第二少,但是分类准确率比LLC高。FDDL消耗的时间比HSC花费的时间多,但比SDDL和MKLSC花费的少。FDDL是在稀疏编码时加入Fisher判别准则,和本文算法加入Hessian正则项的思路类似的,计算量也比较接近,所以和本文算法耗费的时间相差没有很大。SDDL不仅仅是对单一图像进行稀疏编码计算,它还利用了一个类别的余下图像,计算得到一个复合判别准则进行相似性判别,而不是直接使用欧氏距离,这导致该算法的计算量巨大,所以耗费的时间也是较多的。MKLSC消耗的时间是最多的,它是使用非线性核进行的特征空间的高维映射,不仅要计算每个核的参数,还要对各个核参数进行统一计算,因此多核学习稀疏编码计算量最大,该算法运行时间最长,HSC的用时比MKLSC少40%左右。所以综合准确率和耗时分析,本文提出的算法HSC是分类性能最好的。

3.3.4 多尺度划分对分类准确性的影响

本文分析了空间金字塔各个层次L对分类性能的影响,实验L分别取0、1、2、3,即图像被划分成1×1、2×2、4×4、8×8。在Scene15数据集上进行实验,结果如图 2所示。

图 2 空间金字塔各层的分类能力 Figure 2 Classification ability of each layer in spacial pyramid

图 2可以看出,当没有加入空间信息(L=0)即传统的词袋模型时,本文提出的算法分类能力很差,因为它只训练得到一个全局词典,即使在训练样本为100,准确性也大约只有70%。且从图 2分析可知,空间金字塔第1层、第2层、第3层总体上分类能力是差不多的,其中第2层的分类性能是最好的。这主要是因为只划分1层时,字典训练只得到4个视觉词典导致获取空间结构信息不足进而影响分类性能,划分有3层时,性能有时还低于第1层,可能是由于划分太细,导致块太小而没有明显的区分信息,编码时同样不能很好表征图像,这也说明了不是划分的层数越大越好。

图 2只研究了单层对于分类性能的影响,而我们往往是进行多层特征向量计算,然后将各层特征向量连接用于分类,本次实验研究的层数分别为L=(0)、L=(0, 1)、L=(0, 1, 2)、L=(0, 1, 2, 3)。比如当L=(0, 1, 2),每层的子区域数目分别为1×1、2×2、4×4,然后将每层子区域使用最大池化算法[3]拼接起来获得该层的编码,最后在层与层之间同样使用拼接操作,这样就得到每幅图像的最后编码向量表示,即21×1 024维的向量,实验结果如图 3所示。图 3对比图 2可以发现,当训练样本为100时,将各层的特征向量连接用于分类的最高准确率比仅使用单层最高准确率提高了7个百分点左右,这表明连接各层的特征向量可以明显地提升分类性能。当取L=(0, 1, 2)和L=(0, 1, 2, 3)时,算法的分类性能大致相当,但是L=3时图像一共划分成85个子区域,整个图像划分过细,导致整个分类过程编码计算复杂,程序运行时间长。所以本文算法在应用空间金字塔划分时,取L=(0, 1, 2)是最好的选择,既能有效地提高准确率,又不会因为图像划分过细,导致算法运行时间过长。

图 3 联合各层的分类能力 Figure 3 Classification ability of multi-layer
4 结语

针对传统稀疏编码图像分类算法提取单一类型特征,缺乏图像空间结构信息和特征拓扑结构信息的问题,本文首先对图像进行空间金字塔多尺度划分,并在各个子空间对HOG和SIFT特征进行融合;然后,在传统稀疏编码的目标函数中引入二阶Hessian能量函数作为正则项,以利用特征拓扑结构信息。实验结果表明,本文算法相比几个对比的经典算法有更高的分类准确率; 同时也对本文算法的效率进行了实验分析,结果表明本文算法的效率优于对比算法。本文还深入研究了空间金字塔多尺度划分对分类性能的影响,可以用于指导划分方式的选取。本文算法没有研究各个图像特征之间的联系,这也是一个今后值得研究的方向,且大规模的数据集分类仍是一个很有挑战的问题,下一步将考虑进行深度学习的分类研究。

参考文献(References)
[1] 李博, 曹鹏, 栗伟, 等. 基于尺度空间中多特征融合的医学影像分类[J]. 计算机应用, 2013, 33(4): 1108-1111, 1114. (LI B, CAO P, LI W, et al. Medical image classification based on scale space multi-feature fusion[J]. Journal of Computer Applications, 2013, 33(4): 1108-1111, 1114.)
[2] 王澍, 吕学强, 张凯, 等. 基于快速鲁棒特征集合统计特征的图像分类方法[J]. 计算机应用, 2015, 35(1): 224-230. (WANG P, LYU X Q, ZHANG K, et al. Image classification approach based on statistical features of speed up robust feature set[J]. Journal of Computer Applications, 2015, 35(1): 224-230. DOI:10.11772/j.issn.1001-9081.2015.01.0224)
[3] LAZEBNIK S, SCHMID C, PONCE J. Beyond bags of features:spatial pyramid matching for recognizing natural scene categories[C]//CVPR 2006:Proceeding of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2006:2169-2178.
[4] LEE H, BATTLE H, RAINA R, et al. Efficient sparse coding algorithms[C]//Proceedings of the 2006 Annual Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2006:801-808.
[5] YANG J C, YU K, GONG Y H, et al. Linear spatial pyramid matching using sparse coding for image classification[C]//CVPR 2009:Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2009:1794-1801.
[6] WANG J J, YANG J C, YU K, et al. Locality-constrained linear coding for image classification[C]//CVPR 2010:Proceedings of the 2010 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2010:3360-3367.
[7] 刘培娜, 刘国军, 郭茂祖, 等. 非负局部约束线性编码图像分类算法[J]. 自动化学报, 2015, 41(7): 1235-1243. (LIU P N, LIU G J, GUO M Z, et al. Image classification based on non-negative locality-constrained linear coding[J]. Acta Automatica Sinica, 2015, 41(7): 1235-1243.)
[8] YANG M, ZHANG L, FENG X C, et al. Sparse representation based Fisher discrimination dictionary learning for image classification[J]. International Journal of Computer Vision, 2014, 109(3): 209-232. DOI:10.1007/s11263-014-0722-8
[9] LIU Y, CHEN W, CHEN Q C, et al. Support discrimination dictionary learning for image classification[C]//ECCV 2016:Proceedings of the 2016 European Conference on Computer Vision, LNCS 9906. Berlin:Springer, 2016:375-390.
[10] WANG L P, CHEN S C. Joint representation classification for collective face recognition[J]. Pattern Recognition, 2017, 63(5): 182-192.
[11] SHRIVASTAVA A, PATEL V M, CHELLAPPA R. Multiple kernel learning for sparse representation-based classification[J]. IEEE Transactions on Image Processing, 2014, 23(7): 3013-3024. DOI:10.1109/TIP.2014.2324290
[12] FANG L Y, LI S T. Face recognition by exploiting local Gabor features with multitask adaptive sparse representation[J]. IEEE Transactions on Instrumentation and Measurement, 2015, 64(10): 2605-2615. DOI:10.1109/TIM.2015.2427893
[13] GAO S H, TSANG I W H, CHIA L T, et al. Local features are not lonely-Laplacian sparse coding for image classification[C]//CVPR 2010:Proceeding of the 2010 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2010:3555-3561.
[14] KIM K I, STEINKE F, HEIN M. Semi-supervised regression using Hessian energy with an application to semi-supervised dimensionality reduction[C]//Proceedings of the 2009 Annual Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2009:979-987.
[15] 史彩娟, 阮秋琦, 刘健, 等. 基于Hessian半监督特征选择的网络图像标注[J]. 计算机应用研究, 2015, 32(2): 606-608, 618. (SHI C J, RUAN Q Q, LIU J, et al. Web image annotation based on Hessian semi-supervised feature selection[J]. Application Research of Computers, 2015, 32(2): 606-608, 618.)