近年来,稀疏表示理论在模式识别、计算机视觉等领域引起了学者们广泛的关注和研究,并在人脸识别、图像去噪和图像分类等方向有很多成功的应用。稀疏表示来源于信号处理中的压缩感知理论,其核心在于用一个过完备字典中的少量基向量(字典原子)来尽可能精确地重建原始信号。在稀疏表示的基础上,字典学习方法通过对输入的数据集学习一个自适应的字典,可以得到原始数据集精确的特征表示,对字典加以鉴别性约束,使得学习的字典能更好地进行分类。
在机器学习、计算机视觉、模式识别等领域,许多实际问题中数据往往包含多个视图,对同一个数据可以从多种不同的方式和角度对其进行描述,例如人脸图像可以从颜色特征、轮廓特征、纹理特征等方面进行描述,这种对同一数据的不同描述构成了数据的多个视图(multi-view)。由于不同视图的特征往往处于不同的特征空间,拥有不同的属性,因此对所有视图特征采取同一学习方法的模型显然不能充分利用数据中的多视图信息[1]。为了解决此问题,许多的多视图学习方法被提出[2]。相比单视图学习,多视图学习可以综合各个视图蕴含的信息,来发挥视图之间的相互作用,优势互补,协同学习。
字典学习近年来在图像分类领域有着非常广泛的应用。Yang等[3]提出了MetaFace的字典学习方法,通过对每一类样本学习一个判别字典,可以用更少的原子达到较高的识别率。Mairal等[4]结合逻辑回归模型提出了一种任务驱动的字典学习(Task-Driven Dictionary Learning, TDDL)方法,减小不同任务的稀疏编码代价。Wang等[5]从最大化边界的角度提出了最大边界的字典学习(Maximum-Margin Dictionary Learning, MMDL)的方法。Jiang等[6]提出了一种类别一致的K奇异值分解(Lable Consistent K Singular Value Decomposition, LC-KSVD)的字典学习方法,通过引入一个二分类类别标签稀疏编码矩阵,使得同一类别的样本具有相似的稀疏编码。Yang等[7]利用Fisher准则学习结构化的字典(Fisher Discrimination Dictionary Learning, FDDL)。Gu等[8]提出了同时学习一个合成字典和一个解析字典(Dictionary Pair Learning, DPL)的方法,稀疏表示系数不再使用l0或l1范数约束,在取得较好的识别效果的同时,大大较低了时间复杂度。程晓雅等[9]提出了一种基于特征化字典的低秩表示的人脸识别(Characterized Dictionary-based Low-Rank Representation classification for face recognition, LRR-CD)方法,通过建立新的类内差异字典,同时对全局特征块集和类内差异字典进行最小低秩优化,构建具有高判别度和高效性的重构系数。但是这些字典学习的方法往往没有考虑不同特征之间的变化差异,通常是利用图像的某个单一特征或者将多个特征拼接融合成一个特征向量,没有考虑不同视图特征对分类的不同影响,从而未能充分利用图像集中包含的多视图特征信息。另外一方面,大多数字典学习的方法直接使用图像的原始特征,但是由于角度、光照、遮挡等因素的影响,在原始特征空间中,通常同类内也存在很大的差异性,并且包含着一些噪声信息,使得学习到的字典的鉴别性减弱,影响识别率。
针对上述问题,本文提出了一种基于多视图特征投影与合成解析字典学习(Multi-view Feature Projection and Synthesis-analysis Dictionary Learning, MFPSDL)的图像分类方法,首先提取不同的图像特征,本文采取的4种特征,分别是颜色直方图特征(Hue Saturation Value, HSV)、纹理Gabor特征、局部二值模式(Local Binary Pattern, LBP)纹理特征、卷积神经网络(Convolutional Neural Network, CNN)深度特征,根据提取到的图像不同视图特征,对每个视图特征同时进行特征投影和合成解析字典学习,特征投影能保证在新的特征空间中,同类样本差异性减小,异类样本差异性增大,对合成解析字典加以约束,使得同类样本的稀疏表示系数更相似,因此学习到的合成解析字典具有判别性。最后考虑到在某些视图特征下,测试样本的正确类别对应的残差可能不是最小的,如果将各视图特征下的残差进行相加,然后使用残差最小的分类准则进行分类,可能导致错误的分类结果,因此采用更加合理的Borda加权投票的方式进行分类。
1 字典学习假设有N类样本,每张图像的特征都可以转换为列矢量,列矢量的维度为dim, 则训练样本矩阵可以表示为X=[X1, X2, …, XN],Xi表示X的第i类样本,并且Xi∈Rdim×Ni,Ni表示第i类样本的个数。同样字典可以表示为D=[D1, D2, …, DN],Di表示第i类子字典。训练样本X可以表示为字典D中若干字典原子的线性组合:X≈DG,其中:G为训练样本在字典D学习下的稀疏表示系数。大多数字典学习的方法可以表示成如下形式:
$ \mathop {{\rm{min}}}\limits_{{\boldsymbol{D}},{\boldsymbol{G}}} ||{\boldsymbol{X}} - {\boldsymbol{DG}}||_F^2 + \lambda ||{\boldsymbol{G}}|{|_p} + {E_{{\rm{discriminant}}}}{\rm{(}}{\boldsymbol{D}},{\boldsymbol{G}},{\boldsymbol{Y}}{\rm{)}} $ | (1) |
其中:λ表示正则化系数;Y是训练样本X的类别矩阵;‖X-DG‖F2是为了确保学习到的字典D对训练样本X的重构能力;‖G‖p表示G的lp范数,是对系数G的稀疏性约束;Ediscriminant(D, G, Y)是鉴别约束项,使得学习的字典D具有鉴别性。
分类阶段主要采取的是残差最小的准则,即分别计算各类的残差,将测试样本划分为残差最小的那一类。给定测试样本y,分类如式(2) 所示:
$ identity{\rm{(}}{\boldsymbol{y}}{\rm{)}} = {\rm{arg}}\mathop {{\rm{min}}}\limits_i {\rm{\{ }}{e_i}{\rm{\} }}\\ $ | (2) |
其中gi(i=1, 2, …, N)为测试样本y在子字典Di下的稀疏表示系数。
大多数字典学习的方法由于对稀疏系数采用l0或l1范数约束,而Zhang等[10]验证了基于l0或l1范数的字典学习方法的迭代优化问题的时间复杂性比较高。DPL方法学习一对合成字典D和解析字典P,将稀疏系数G解析成G=PX,并且对稀疏表示系数不再采取l0或l1范数约束,大大提高了算法的效率,并且保持相当高的识别性能。合成解析字典的模型如下:
$ \mathop {{\rm{min}}}\limits_{{\boldsymbol{P}},{\boldsymbol{D}}} \left\| {{\boldsymbol{X}} - {\boldsymbol{DPX}}} \right\|_F^2 + {E_{{\rm{discriminant}}}}\left( {{\boldsymbol{D}},{\boldsymbol{P}},{\boldsymbol{X}},{\boldsymbol{Y}}} \right) $ | (3) |
其中:解析字典P用于对稀疏表示系数解析编码,而合成字典D用于对样本进行重构;Ediscriminant(D, P, X, Y)是对D和P的鉴别约束项,以确保学习到的鉴别字典对D和P能更好地用于分类。
2 本文分类算法由于传统字典学习的方法忽略了不同视图特征对分类的不同影响,未能充分利用数据中所蕴含的多视图特征信息,通常只是利用图像的某个单一的特征或者将几个特征简单地拼接融合,并且使用的原始特征存在类内差异性,影响图像分类的效果。本文提出的MFPSDL方法,分别对同一图像的每个视图特征同时学习特征投影和鉴别性的合成解析字典,并对每个视图特征赋予不同的分类权重,最后通过Borda加权投票的方式进行分类。MFPSDL方法的思路如图 1所示。
本文选择从颜色特征、纹理特征、深度特征等不同的视图特征来对图像进行描述。选择的4种特征分别是HSV颜色直方图特征、Gabor纹理特征、LBP纹理特征、CNN深度特征。
HSV颜色直方图特征是一种常见的颜色特征,它的三个分量分别代表色彩(Hue)、饱和度(Saturation)和值(Value),相比RGB特征,HSV特征更接近于人们对颜色的主观认识。
由于Gabor小波[11]与人类视觉系统中简单细胞的视觉刺激响应非常相似,并且Gabor小波对于图像的边缘敏感,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,因此Gabor特征具有良好的空间局部性和方向选择性,而且对光照、姿态具有一定的鲁棒性,因此在人脸识别、图像分类中使用广泛。
局部二值模式LBP是一种用来描述图像局部纹理特征的算子[12],具有计算简单、旋转不变性和灰度不变性等显著的优点。LBP已经成功应用于人脸检测、唇语识别、表情检测等领域。
深度学习[13]是机器学习研究中的一个新的领域,其动机在于建立能够模拟人脑的神经网络结构,它模仿人脑的机制来解释数据,并能发现和刻画数据内部复杂的结构特征。深度学习应用于图像识别不但大大提升了准确性,而且避免了人工特征抽取的时间消耗[14]。
2.2 多视图特征投影与合成解析字典学习训练样本的类别数为N,则第k个视图特征下训练样本表示为Xk=[Xk, 1, Xk, 2, …, Xk, N],Xk, i表示第k个视图特征的第i类的训练样本,本文中k=1, 2, 3, 4。为了降低原始特征空间中同类样本之间的差异和充分考虑图像的不同视图特征对分类的不同影响,MFPSDL通过在不同的视图特征下,同时学习特征投影和鉴别性的合成解析字典,每个视图的原始特征投影到新的特征空间,在新的特征空间中,训练样本被合成解析字典鉴别性表示。第k个视图特征下的训练样本Xk对应的特征投影矩阵表示为Wk,对应的合成字典表示为Dk=[Dk, 1, Dk, 2, …, Dk, N],对应的解析字典表示为Pk=[Pk, 1, Pk, 2, …, Pk, N],其中Dk, i和Pk, i表示第i类训练样本对应的子字典。解析字典P对稀疏表示系数解析编码,而合成字典D用于重构样本。第k个视图特征对应的目标函数表示为:
$ \mathop {{\rm{min}}}\limits_{{{\boldsymbol{W}}_k},{{\boldsymbol{D}}_k},{{\boldsymbol{P}}_k}} {E_k} = {E_{k,1}} + {\lambda _1}{E_{k,2}} + {\lambda _2}{E_{k,3}}\\ {\rm{ }} = \sum\limits_{i = 1}^N {{\rm{(|}}|} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}||_F^2 + {\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} ||_F^2{\rm{)}} + \\ {\rm{ }}{\lambda _1}{\rm{(}}\sum\limits_{i = 1}^N {||} {{\boldsymbol{W}}_k}{\rm{(}}{{\boldsymbol{X}}_{k,i}} - \overline{\overline {{{\boldsymbol{X}}_{k,i}}}} {\rm{)}}||_F^2 - {\eta _2}\sum\limits_{{\rm{(}}p,q{\rm{)}} \in {Dif}} {||{W_k}} {\rm{(}}\overline{\overline {{{\boldsymbol{x}}_{k,p}}}} - \overline{\overline {{{\boldsymbol{x}}_{k,q}}}} {\rm{)}}||_F^2{\rm{)}} + \\ {\rm{ }}{\lambda _2}\sum\limits_{i = 1}^N {\sum\limits_{m \ne n} {||{{\boldsymbol{P}}_{k,i}}} } {{\boldsymbol{W}}_k}{\boldsymbol{X}}_{k,i}^m - {{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{\boldsymbol{X}}_{k,i}^n||_F^2\\ $ | (4) |
其中:第一项Ek, 1是字典表示项,要求在新的投影特征空间中,第i类样本WkXk, i能被对应的第i类子合成解析字典Dk, i和Pk, i表示。同时对Pk, i进行约束,使得每一类对应的子解析字典Pk, i只能解析编码与其类别对应的样本WkXk, i的稀疏表示系数,而不能解析编码其他类的样本WkXk, j(j≠i)的稀疏表示系数,所以要求Pk, iWk
第二项Ek, 2对投影矩阵Wk约束,参考Fisher准则的思想,要求在新的投影特征空间中,同类样本向中心收敛,不同类样本中心之间发散。其中:
第三项Ek, 3是鉴别性约束项,使得同类样本的稀疏表示系数差异小,即第i类样本中的第m个样本WkXk, im和第n个样本WkXk, in的稀疏表示系数Pk, iWkXk, im和Pk, iWkXk, in相似。
其中第二项Ek, 2可以简化为Ek, 2=‖WkRk‖F2-η2‖WkSk‖F2,Rk由类内差异性矩阵变换而成,Sk由类间差异性矩阵变换而成,同理也Ek, 3也可以转换成
$ \mathop {{\rm{min}}}\limits_{{{\boldsymbol{W}}_k},{{\boldsymbol{D}}_k},{{\boldsymbol{P}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}||_F^2 + {\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} ||_F^2 + \\ {\rm{ }}{\lambda _2}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}}||_F^2{\rm{)}} + {\lambda _1}||{{\boldsymbol{W}}_k}{{\boldsymbol{R}}_k}||_F^2 - {\lambda _1}{\eta _2}||{{\boldsymbol{W}}_k}{{\boldsymbol{S}}_k}||_F^2\\ $ | (5) |
式(5) 是一个非凸的问题,可以通过固定其中两项,求另外一项的方法求解。求解之前初始化合成字典Dk和解析字典Pk为Frobenius范数约束下的随机矩阵。
1) 固定Dk和Pk,更新Wk。引入松弛变量Ak,Bk和Ck,式(5) 中与Wk有关的目标函数式变为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{W}}_k},{{\boldsymbol{A}}_k},{{\boldsymbol{B}}_k},{{\boldsymbol{C}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{A}}_{k,i}}||_F^2 + {\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{B}}_{k,i}}||_F^2 + {\lambda _2}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{C}}_{k,i}}||_F^2 + \\ {\rm{ }}{\alpha _1}||{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{A}}_{k,i}}||_F^2 + {\alpha _2}||{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} - {{\boldsymbol{B}}_{k,i}}||_F^2 + {\alpha _3}||{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}} - {{\boldsymbol{C}}_{k,i}}||_F^2{\rm{)}} + \\ {\rm{ }}{\lambda _1}||{{\boldsymbol{W}}_k}{{\boldsymbol{R}}_k}||_F^2 - {\lambda _1}{\eta _2}||{{\boldsymbol{W}}_k}{{\boldsymbol{S}}_k}||_F^2 \end{array} $ | (6) |
其中:α1,α2和α3是常数项,同理也可以通过固定三项然后求剩余的一项的方式来求解式(6)。
a)固定Wk, Bk和Ck,更新Ak。跟Ak有关的目标函数为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{A}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{A}}_{k,i}}||_F^2 + \\ {\alpha _1}||{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{A}}_{k,i}}||_F^2{\rm{)}} \end{array} $ | (7) |
这是一个最小二乘法的问题,对Ak, i进行求偏导,并令偏导为0,可以得到Ak的解析解,其中I表示单位矩阵。
$ {{\boldsymbol{A}}_{k,i}} = {\left( {{\boldsymbol{P}}_{k,i}^{\rm{T}}{\boldsymbol{D}}_{k,i}^{\rm{T}}{{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}} + {\alpha _1}{\boldsymbol{I}}} \right)^{ - 1}}\left( {{\boldsymbol{P}}_{k,i}^{\rm{T}}{\boldsymbol{D}}_{k,i}^{\rm{T}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} + {\alpha _1}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}} \right) $ | (8) |
b)固定Wk, Ak和Ck,更新Bk。跟Bk有关的目标函数为:
$ \mathop {{\rm{min}}}\limits_{{{\boldsymbol{B}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}{\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{B}}_{k,i}}||_F^2 + {\alpha _2}||{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} - {{\boldsymbol{B}}_{k,i}}||_F^2{\rm{)}}} $ | (9) |
对Bk, i进行求偏导,可以得到Bk, i的解析解:
$ {{\boldsymbol{B}}_{k,i}} = {\left( {{\eta _1}{\boldsymbol{P}}_{k,i}^{\rm{T}}{{\boldsymbol{P}}_{k,i}} + {\alpha _2}{\boldsymbol{I}}} \right)^{ - 1}}\left( {{\alpha _2}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} } \right) $ | (10) |
c)固定Wk, Ak和Bk,更新Ck。跟Ck有关的目标函数为:
$ \mathop {{\rm{min}}}\limits_{{{\boldsymbol{C}}_k}} \sum\limits_{i = 1}^N {\rm{(}} {\lambda _2}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{C}}_{k,i}}||_F^2 + {\alpha _3}||{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}} - {{\boldsymbol{C}}_{k,i}}||_F^2{\rm{)}} $ | (11) |
对Ck, i进行求偏导,可以得到Ck, i的解析解:
$ {{\boldsymbol{C}}_{k,i}} = {\left( {{\lambda _2}{\boldsymbol{P}}_{k,i}^{\rm{T}}{{\boldsymbol{P}}_{k,i}} + {\alpha _3}{\boldsymbol{I}}} \right)^{ - 1}}\left( {{\alpha _3}{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}}} \right) $ | (12) |
d)固定Ak, Bk和Ck,更新Wk。跟Wk有关的目标函数为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{W}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{A}}_{k,i}}||_F^2 + {\alpha _1}||{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{A}}_{k,i}}||_F^2 + \\ {\rm{ }}{\alpha _2}||{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} - {{\boldsymbol{B}}_{k,i}}||_F^2 + {\alpha _3}||{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}} - {{\boldsymbol{C}}_{k,i}}||_F^2{\rm{)}} + \\ {\rm{ }}{\lambda _1}||{{\boldsymbol{W}}_k}{{\boldsymbol{R}}_k}||_F^2 - {\lambda _1}{\eta _2}||{{\boldsymbol{W}}_k}{{\boldsymbol{S}}_k}||_F^2 \end{array} $ | (13) |
对Wk进行求偏导,可以得到Wk的解析解:
$ \begin{array}{l} {{\boldsymbol{W}}_k} = \left( {\sum\limits_{i = 1}^N {{\rm{(}}{{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{A}}_{k,i}}{\boldsymbol{X}}_{k,i}^{\rm{T}} + {\alpha _1}{{\boldsymbol{A}}_{k,i}}{\boldsymbol{X}}_{k,i}^{\rm{T}} + {\alpha _2}{{\boldsymbol{B}}_{k,i}}{{\overline {{{\boldsymbol{X}}_{k,i}}} }^{\rm{T}}} + {\alpha _3}{{\boldsymbol{C}}_{k,i}}{\boldsymbol{U}}_{k,i}^{\rm{T}}{\rm{)}}} } \right){\rm{*}}\\ {\left( {\sum\limits_{i = 1}^N {{\rm{ }}\left[ {{\rm{(}}1 + {\alpha _1}{\rm{)}}{{\boldsymbol{X}}_{k,i}}{\boldsymbol{X}}_{k,i}^{\rm{T}} + {\alpha _2}\overline {{{\boldsymbol{X}}_{k,i}}} {{\overline {{{\boldsymbol{X}}_{k,i}}} }^{\rm{T}}} + {\alpha _3}{{\boldsymbol{U}}_{k,i}}{\boldsymbol{U}}_{k,i}^{\rm{T}}} \right] + {\lambda _1}{{\boldsymbol{R}}_k}{\boldsymbol{R}}_k^{\rm T} - {\lambda _1}{\eta _2}{{\boldsymbol{S}}_k}{\boldsymbol{S}}_k^{\rm{T}}} } \right)^{ - 1}} \end{array} $ | (14) |
2) 固定Wk和Dk,更新Pk。式(5) 中与Pk有关的目标函数式变为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{P}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}||_F^2 + \\ \;\;\;\;\;\;{\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} ||_F^2 + {\lambda _2}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}}||_F^2{\rm{)}} \end{array} $ | (15) |
式(15) 是非凸的问题,引入松弛变量Mk和常数项α4,式(15) 转换为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{P}}_k},{{\boldsymbol{M}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{M}}_{k,i}}||_F^2 + {\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} ||_F^2 + \\ {\rm{ }}{\lambda _2}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}}||_F^2 + {\alpha_4}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{M}}_{k,i}}||_F^2{\rm{)}} \end{array} $ | (16) |
a)固定Pk,更新Mk。与Mk有关的目标函数为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{M}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{M}}_{k,i}}||_F^2 + \\ \;\;\;\;\;\;{\alpha _4}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{M}}_{k,i}}||_F^2{\rm{)}} \end{array} $ | (17) |
对Mk, i进行求偏导,可以得到Mk, i的解析解:
$ {{\boldsymbol{M}}_{k,i}} = {\left( {{\boldsymbol{D}}_{k,i}^{\rm{T}}{{\boldsymbol{D}}_{k,i}} + {\alpha _4}{\boldsymbol{I}}} \right)^{ - 1}}\left( {{\boldsymbol{D}}_{k,i}^{\rm{T}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} + {\alpha _4}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}} \right) $ | (18) |
b)固定Mk,更新Pk。与Pk有关的目标函数为:
$ \begin{array}{l} \mathop {{\rm{min}}}\limits_{{{\boldsymbol{P}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}{\eta _1}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} ||_F^2 + {\lambda _2}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}}||_F^2 + } \\ \;\;\;\;\;\;\;{\alpha _4}||{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{M}}_{k,i}}||_F^2 \end{array} $ | (19) |
对Pk, i进行求偏导,可以得到Pk, i的解析解:
$ \begin{array}{l} {{\boldsymbol{P}}_{k,i}} = \left( {{\alpha _4}{{\boldsymbol{M}}_{k,i}}{\boldsymbol{X}}_{k,i}^{\rm{T}}{\boldsymbol{W}}_k^{\rm{T}}} \right)*({\eta _1}{{\boldsymbol{W}}_k}\overline {{{\boldsymbol{X}}_{k,i}}} {\overline {{{\boldsymbol{X}}_{k,i}}} ^{\rm{T}}}{\boldsymbol{W}}_k^{\rm{T}} + \\ \;\;\;\;\;\;\;\;{\lambda _2}{{\boldsymbol{W}}_k}{{\boldsymbol{U}}_{k,i}}{\boldsymbol{U}}_{k,i}^{\rm{T}}{\boldsymbol{W}}_k^{\rm{T}} + {\alpha _4}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}{\boldsymbol{X}}_{k,i}^{\rm{T}}{\boldsymbol{W}}_k^{\rm{T}}{)^{ - 1}} \end{array} $ | (20) |
3) 固定Wk和Pk,更新Dk。式(5) 中与Dk有关的目标函数式变为:
$ \mathop {{\rm{min}}}\limits_{{{\boldsymbol{D}}_k}} \sum\limits_{i = 1}^N {{\rm{(}}||} {{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}||_F^2{\rm{)}}\\ $ | (21) |
参考DPL的做法,采用交替方向乘子法(Alternating Direction Method of Multipliers, ADMM)[15]算法来优化求解Dk, 引入变量Qk和Zk。
$ \left\{ \begin{array}{l} {\boldsymbol{D}}_k^{{\rm{(}}r + 1{\rm{)}}} = {\rm{arg}}\mathop {{\rm{min}}}\limits_{{{\boldsymbol{D}}_k}} \sum\limits_{i = 1}^N {||{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}} - {{\boldsymbol{D}}_{k,i}}{{\boldsymbol{P}}_{k,i}}{{\boldsymbol{W}}_k}{{\boldsymbol{X}}_{k,i}}||_F^2 + \rho ||{{\boldsymbol{D}}_{k,i}} - {\boldsymbol{Q}}_{k,i}^{{\rm{(}}r{\rm{)}}} + {\boldsymbol{Z}}_{k,i}^{{\rm{(}}r{\rm{)}}}||_F^2} \\ {\boldsymbol{Q}}_k^{{\rm{(}}r + 1{\rm{)}}} = {\rm{arg}}\mathop {{\rm{min}}}\limits_{{{\boldsymbol{Q}}_k}} \sum\limits_{i = 1}^N {\rho ||} {\boldsymbol{D}}_{k,i}^{{\rm{(}}r + 1{\rm{)}}} - {{\boldsymbol{Q}}_{k,i}} + {\boldsymbol{Z}}_{k,i}^{{\rm{(}}r{\rm{)}}}||_F^2\\ {\boldsymbol{Z}}_k^{{\rm{(}}r + 1{\rm{)}}} = {\boldsymbol{Z}}_k^{{\rm{(}}r{\rm{)}}} + {\boldsymbol{D}}_{k,i}^{{\rm{(}}r + 1{\rm{)}}} - {\boldsymbol{Q}}_{k,i}^{{\rm{(}}r + 1{\rm{)}}} \end{array} \right. $ | (22) |
考虑到不同视图的特征对分类的影响不同,如果简单地将不同视图特征下的重构残差相加,然后利用残差最小规则分类,这样就忽略了不同视图特征之间的分类差异,因此为每个视图特征赋予不同的分类权重βk,权重βk是基于每个视图特征分类的错误率εk进行计算的。其中εk定义为:
$ {\varepsilon _k} = \frac{{\rm{未正确分类的样本数目}}}{{\rm{所有样本数目}}} $ |
εk的计算采取交叉验证的方式,交叉验证即将训练样本随机分为H个互不相交的同等大小的子集,然后采取H-1个子集的数据训练模型,利用余下的1个子集计算模型的错误率,将这一过程对可能的H种选择重复进行,求取H次错误率的最小值。进行10次实验,每次都是随机将训练样本划分成H等份,然后利用交叉验证求错误率,求取10次错误率的平均值作为εk。
权重βk的计算如式(23),对于分类错误率εk小的视图特征,对应着更大的权重βk,也就是对分类的影响更大。
$ {\beta _k}{\rm{ = }}\frac{1}{2}\ln \left( {\frac{{1 - {\varepsilon _k}}}{{{\varepsilon _k}}}} \right) $ | (23) |
同时在某些视图特征下,不同类之间的残差可能会比较接近,正确类别对应的残差也可能不是最小的,用残差最小规则会导致错误的分类。残差最小规则也可看成是一种投票分类的方法,残差最小对应的类别,得票数为1,而其他类别得票数为0。Borda投票的思想是将残差从小到大排序,对于残差最小对应的类,得票数为N,残差第二小的对应的类,得票数为N-1,以此类推,直到残差最大的类得票数为1。定义Vk, i表示第k个视图特征下第i类的得票数,则第i类加权投票的结果为:
$ {V_i} = \sum\limits_{k = 1}^4 {{\beta _k}} {V_{k,i}} $ | (24) |
最后依据得票数最多的规则进行分类,将测试样本y分为得票数最多对应的类别:
$ identity({\boldsymbol{y}}) = \arg \mathop {\max }\limits_i {V_i} $ | (25) |
训练阶段:
步骤1 对训练样本提取4个不同视图的特征,训练样本表示为Xk=[Xk, 1, Xk, 2, …, Xk, N],初始化参数。
步骤2 初始化合成字典Dk和解析字典Pk。
步骤3 迭代求解每个视图特征下的目标函数,直到目标函数收敛,否则反复执行步骤3。
1) 根据式(14) 更新Wk。
2) 根据式(20) 更新Pk。
3) 根据式(22) 更新Dk。
测试阶段:
利用Borda加权投票分类的方法计算每类的得票数Vi,根据得票数最多的规则进行分类。
3 实验结果与分析为了验证本文方法MFPSDL的有效性,选用常用的公开人脸数据库(Labeled Faces in the Wild, LFW)[16]和手写体识别数据库(Modified National Institute of Standards and Technology, MNIST)[17]进行实验仿真,以近几年识别率较优的字典学习算法LC-KSVD、FDDL、DPL为对比方法,比较分类识别的准确率和时间复杂性。由于实验中深度CNN特征的提取是采取AlexNet网络[18],因此加入AlexNet方法作对比。AlexNet网络由Krizhevsky等[18]在2012年提出,并在当年的大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)中赢得冠军。AlexNet网络是一个8层模型,包括5个卷积层和3个全连接层。在AlexNet模型中,输入就是图像的像素,没有用到任何的人工特征。实验中AlexNet方法首先在ImageNet LSVRC-2010数据集的120万张训练样本图像上作预训练(pretrain),然后用预训练得到的AlexNet网络分别在LFW和MNIST数据库的训练样本上作微调(finetune),最后在LFW和MNIST测试样本上作测试。用微调得到的AlexNet网络模型中间的某些层提取深度CNN特征具有良好的泛化能力,可以适用于其他图像分类方法的深度CNN特征的提取。
3.1 实验设置LFW公共彩色人脸数据库包含106个人,其中每一个人有14张图片,每张图片的尺寸为250×250,部分样本如图 2所示,可以看出同类样本之间往往也存在着差异性。每个人随机选用7张图片作为训练样本,剩下的7张图片作为测试样本。从每张图片中提取HSV特征、Gabor特征、LBP特征和CNN特征作为多视图特征,其中采取微调后的AlexNet网络最后的全连接层的输出作为CNN特征。本文方法对不同视图的特征学习不同的特征投影矩阵和合成解析字典,而其他字典学习对比方法(LC-KSVD、FDDL和DPL)的实验中,使用的是4种特征拼接融合后的特征,即将每种特征列向量按顺序首尾串行相连。具体做法是:将Gabor特征拼接到HSV特征的尾部,将LBP特征拼接到Gabor特征的尾部,以此类推。交叉验证求分类权重的时候,由于训练样本中每类样本包含7张图片,交叉验证需要将训练样本分为同等大小的子集,因此将H设置为7。实验中的参数λ1和λ2设置为0.05和0.03,η1和η2设置为0.001和0.5,α1、α2、α3和α4设置为0.03, 0.02, 0.02和0.03,参考DPL参数调试的方法,以上所有参数的设置采取k-折交叉验证的方法。通过实验调试发现,当参数这样设置时,在LFW和MNIST两个数据集上均能取得较好的分类结果。重复进行10次实验,最后求10次实验识别率的平均值。
MNIST手写体数字数据库包含8 000张图片,每个写体数字包含800张图片,每张图片的尺寸为28×28,部分样本如图 3所示,可以看出同一个数字往往有不同的形状。每种手写体数字随机选用400张图片作为训练样本,剩下的400张图片作为测试样本。多视图特征的提取同LFW实验中的做法,对比方法的实验中使用的是4种特征拼接融合后的特征。交叉验证求分类权重的时候,训练样本中每类样本包含400张图片,将H设置为8。实验中的参数同LFW实验中参数的设置。
表 1给出了在LFW和MNIST两个数据库上MFPSDL和所有对比方法10次实验结果的平均值。
从表 1可以看出,基于多视图特征投影与合成解析字典学习方法(MFPSDL)取得了更好的分类性能。在LFW彩色人脸数据库上,MFPSDL方法比DPL、FDDL以及LC-KSVD三个字典学习对比方法的平均识别率提高了至少2.15个百分点(=98.80%-96.65%);在MNIST数据库上,MFPSDL方法比三个字典学习对比方法的平均识别率提高了至少2.08个百分点(=95.56%-93.48%)。AlexNet方法在ImageNet LSVRC-2010中的15万测试样本上的Top-1识别率为62.5%,Top-5识别率为83%,而在微调的情况下,AlexNet在LFW和MNIST数据库上的识别率为78.72%和83.25%。这是由于LSVRC-2010数据库包含1 000类样本,而LFW包含104类样本,MNIST包含10类样本,类别的减少降低了AlexNet识别的难度,提高了识别的效果;但是微调后的AlexNet方法识别率明显低于MFPSDL和其他字典学习对比方法,原因在于AlexNet提取的是可分性CNN特征,而MFPSDL和其他字典学习对比方法在手工选择的特征和可分性CNN特征的基础上加以鉴别性约束,如MFPSDL方法要求在特征投影后同类样本的特征差异减小,不同类样本的特征差异增大,对合成解析字典的鉴别性约束使得同类样本具有相似的稀疏表示系数,因此学习到的特征更加具有鉴别性。本文方法MFPSDL之所以能取得较好的识别结果,主要在于MFPSDL能够充分利用图像中所蕴含的多视图特征信息,充分考虑了不同特征对分类的不同影响;另外,学习的特征投影使得同类样本差异减小,异类样本差异增大,最后的Borda加权投票的方法合理地克服了残差最小分类规则的弊端,提高了识别率。
表 2列出了所有方法在LFW数据库和MNIST上10次训练运行时间的平均值,可以看出本文方法在训练运行时间上少于FDDL和LC-KSVD,原因在于在求解字典过程中所使用的迭代优化算法收敛较慢,时间复杂度比较高。MFPSDL之所以运行时间较快,因为在求解特征投影Wk和解析字典Pk的过程中都是解析解,而在求合成字典Dk时使用的ADMM算法收敛速度很快。相比DPL, 由于MFPSDL对每个视图特征学习不同的特征投影和合成解析字典,并且对特征投影和合成解析字典加上一些鉴别性的约束,因此运行时间比DPL长。AlexNet方法的训练是用预训练好的AlexNet网络模型分别在LFW和MNIST数据库上作微调(finetune),在LFW数据库上经过10 000次迭代后,损失大致收敛;在MNIST数据库上经过1 5000次迭代后,损失大致收敛。图 4给出了MFPSDL在LFW数据库上HSV和CNN视图特征下的目标函数的收敛曲线,可以看出经过15次迭代后,目标函数已经收敛。其他视图特征对应的目标函数的收敛速度大致相同。表 3列出了所有方法在LFW数据库和MNIST上10次测试运行时间的平均值,DPL、FDDL、LC-KSVD和MFPSDL测试的时候输入的是图像的特征向量,因此表 3中列出的这4种方法的测试时间不包含特征提取的时间,可以看出这4种算法的测试时间均较短。而AlexNet测试的时候输入的是原始图像,因此测试时间相对较长,AlexNet网络前向传播(forward)的时间约为4 ms。
为了验证Borda加权投票分类规则的有效性,在LFW和MNIST数据库上,MFPSDL使用残差最小分类规则和Borda加权投票分类规则进行对比。实验数据表明在LFW数据库上,使用Borda加权投票分类规则的识别率比残差最小分类规则的识别率提高了0.38个百分点(=98.80%-98.42%);在MNIST数据库上使用Borda加权投票分类规则的识别率比残差最小分类规则的识别率提高了0.45个百分点(=95.56%-95.11%)。由于在某些视图特征下,正确类别对应的残差可能不是最小的,用残差最小规则会导致不准确的分类,可以看出,使用Borda加权投票的分类规则能有效解决这一问题。
为验证不同特征对分类的影响不同,图 5给出了在LFW和MNIST数据库上4种特征对应的分类权重。同时考虑特征个数对实验的影响,加入方向梯度直方图特征(Histogram of Oriented Gradient, HOG)和尺度不变特征转换(Scale Invariant Feature Transform, SIFT)作对比,表 4给出了在LFW数据库上MFPSDL方法10次实验结果的平均值。
从图 5可以看出,不同特征对分类效果的影响不相同,其中CNN特征对应的分类权重明显大于其他特征对应的分类权重,说明CNN特征对分类的影响更大。从表 4中可以看出MFPSDL方法只使用CNN特征时候的识别率为97.46%,而微调后的AlexNet在LFW数据库上的识别率为78.72%,MFPSDL方法提高了18.74个百分点(=97.46%-78.72%),这是由于AlexNet方法提取的是可分性CNN特征,最后用Softmax分类器进行分类,而MFPSDL方法在可分性CNN特征的基础上添加了鉴别性的约束,特征投影使得在新的特征空间中,同类样本的差异性减小,异类样本的差异性增大,对合成解析字典的约束,使得同类样本的稀疏表示系数更相似,这样使得可分性CNN特征经过学习后更具有鉴别性,提高了识别率。MFPSDL方法加入HOG特征后的识别率为98.96%,比使用HSV、Gabor、LBP和CNN的识别率(98.80%),识别率提高了0.16个百分点(=98.96%-98.80%)。同样加入SIFT特征后的识别率(99.10%)提高了0.30个百分点(=99.10%-98.80%)。加入HOG和SIFT特征后,识别率提高都不是很明显,说明HOG和SIFT特征和已有的4种特征存在比较多的重复,因此本文方法中未选择这两种特征。使用HSV、Gabor和LBP三种特征的识别率为97.34%,单独使用CNN特征的识别率为97.46%,而使用HSV、Gabor、LBP和CNN四种特征的识别率为98.80%,识别率分别提高了1.46个百分点(=98.80%-97.34%)和1.34个百分点(=98.80%-97.46%),说明CNN特征和其他三种特征存在着一定的重复,但是MFPSDL考虑不同视图特征对分类的不同影响,使得不同的特征优势互补,综合利用了不同视图特征。
4 结语本文提出了一种基于多视图特征投影与合成解析字典学习的图像分类方法,结合多视图特征的学习方法能够更好描述图像的优势,并对图像原始特征进行投影,减小了同类样本之间的差异性。对每个视图特征学习鉴别性的合成解析字典{Dk, Pk},使得同类样本拥有相似的稀疏表示系数。分类阶段使用了更加合理的Borda加权投票分类的方法,克服了最小残差分类规则的缺点。在LFW人脸数据库和MNIST手写体数字数据库上的实验结果表明,本文提出的方法MFPSDL与DPL、FDDL、LC-KSVD和AlexNet相比,分类性能有明显的提升,且保证了较低的时间复杂度,但是该方法还有待改进的地方,比如特征选择的问题和特征之间存在冗余重复的问题,从实验中可以发现加入一些人工选择的特征对识别率的提升不是很明显,说明特征之间存在一定的冗余和重复,如何有效解决特征之间的冗余重复是下一步需要进行的研究工作。
[1] | ZHANG H, LAO S. Multi-view discriminant analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(1): 188-194. DOI:10.1109/TPAMI.2015.2435740 |
[2] | XU C, TAO D, XU C. Multi-view intact space learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(12): 2531-2544. DOI:10.1109/TPAMI.2015.2417578 |
[3] | YANG M, ZHANG L, YANG J, et al. Metaface learning for sparse representation based face recognition[C]//ICIP 2010:Proceedings of the 2010 IEEE International Conference on Image Processing. Piscataway, NJ:IEEE, 2010:1601-1604. |
[4] | MAIRAL J, BACH F, PONCE J. Task-driven dictionary learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(4): 791-804. DOI:10.1109/TPAMI.2011.156 |
[5] | WANG Z, YANG J, NASRABADI N, et al. A max-margin per-spective on sparse representation-based classification[C]//ICCV 2013:Proceedings of the 2013 IEEE International Conference on Computer Vision. Piscataway, NJ:IEEE, 2013:1217-1224. |
[6] | JIANG Z, LIN Z, DAVIS L S. Label consistent K-SVD:learning a discriminative dictionary for recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(11): 2651-2664. DOI:10.1109/TPAMI.2013.88 |
[7] | YANG M, ZHANG L, FENG X, 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 |
[8] | GU S, ZHANG L, ZUO W, et al. Projective dictionary pair learning for pattern classification[C]//NIPS 2014:Proceedings of the 2014 Annual Conference on Neural Information Processing Systems. Cambridge:MIT, 2014:793-801. |
[9] | 程晓雅, 王春红. 基于特征化字典的低秩表示人脸识别[J]. 计算机应用, 2016, 36(12): 3423-3428. (CHENG X Y, WANG C H. Characterized dictionary-based low-rank representation for face recognition[J]. Journal of Computer Applications, 2016, 36(12): 3423-3428. DOI:10.11772/j.issn.1001-9081.2016.12.3423) |
[10] | ZHANG L, YANG M, FENG X. Sparse representation or collaborative representation:which helps face recognition?[C]//ICCV 2011:Proceedings of the 2011 IEEE International Conference on Computer Vision. Piscataway, NJ:IEEE, 2011:471-478. |
[11] | YANG M, ZHANG L. Gabor Feature Based Sparse Representation For Face Recognition With Gabor Occlusion Dictionary[M]. Berlin: Springer, 2010: 448-461. |
[12] | TAN X, TRIGGS B. Enhanced local texture feature sets for face recognition under difficult lighting conditions[J]. IEEE Transactions on Image Processing, 2010, 19(6): 1635-1650. DOI:10.1109/TIP.2010.2042645 |
[13] | HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507. DOI:10.1126/science.1127647 |
[14] | 余凯, 贾磊, 陈雨强, 等. 深度学习的昨天、今天和明天[J]. 计算机研究与发展, 2013, 50(9): 1799-1804. (YU K, JIA L, CHEN Y Q, et al. Deep learning:yesterday, today, and tomorrow[J]. Journal of Computer Research and Development, 2013, 50(9): 1799-1804. DOI:10.7544/issn1000-1239.2013.20131180) |
[15] | BOYD S, PARIKH N, CHU E, et al. Distributed optimization and statistical learning via the alternating direction method of multipliers[J]. Foundations and Trends in Machine Learning, 2011, 3(1): 1-122. |
[16] | HUANG G, MATTAR M, LEE H, et al. Learning to align from scratch[C]//NIPS 2012:Proceedings of the 2012 Annual Conference on Neural Information Processing Systems. Cambridge:MIT, 2012:764-772. |
[17] | LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791 |
[18] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//NIPS 2012:Proceedings of the 2012 Annual Conference on Neural Information Processing Systems. Cambridge:MIT, 2012:1097-1105. |