孙雨浩,陶 洋,胡 昊
(重庆邮电大学通信与信息工程学院,重庆 400065)
目前,虽然遮挡人脸识别技术已经取得了长足的进展,但是在现实应用中仍然面临着巨大的挑战。一般人脸识别都要求训练样本不受噪声污染,即前提条件是这些识别方法都是基于单一样本的单一个体的图像位于同一低秩子空间[1],但在现实场景中,图像通常都会受到比如姿势、光照、表情变化以及遮挡的各种影响。
在测试和训练样本没有受到影响的情况下,稀疏表示的分类SRC(Sparse Representation Classification)方法的识别性能较好,否则识别性能就会明显降低。为了提高SRC的性能,Wright等人[2]提出了鲁棒SRC RSRC(Robust SRC)模型,然而,由于L1范数最小化和单位遮挡字典中存在大量的原子,SRC方法计算代价很高。基于此,Deng等人[3]提出一种扩展稀疏表示ESRC(Extended Sparse Representation Classification) 算法,用训练样本减去其对应的类均值得到误差字典,取得了较好的稀疏表示结果,但还是存在遮挡字典也不能很好描述图像的污损以及需要针对L1范数进行相应的优化等问题。
针对此问题,众多学者都在关注如何提高L1范数的计算速度,却忽略了表示的协同性。协同性即由于不同人的面部图像具有相似性,若第i个人与第j个人的图像很相似,那么第j类的训练样本可以用于表示来自第i类的测试样本。Zhang等人[4]根据上述思想,提出了协同表示分类CRC(Collaborative Representation Classification)的方法。CRC在计算协同表示系数时,放松了对稀疏性的要求,重点关注表示样本的协同性,用L2范数代替L1范数,提高了人脸识别的鲁棒性,而且大大降低了复杂度。
如果所有的训练样本都得到很好的控制,即在合理的姿态和光照下,没有噪声污染和遮挡,CRC对有污损和遮挡的测试样本具有很强的鲁棒性,能够实现较高的人脸识别精度。但是,当测试样本和训练样本都被遮挡或者污损时,CRC的性能也会下降。Candès等人[5]提出的鲁棒主成分分析RPCA(Robust Principal Component Analysis),假设所有数据都在一个子空间中,然后从被污损的数据矩阵中恢复一个低秩数据矩阵。但是,当数据样本来自多个子空间时,此方法性能也达不到理想的效果。Liu等人[6]提出了低秩表示LRR(Low-rank Representation)算法,不仅可以在测试样本和训练样本均受到污染的情况下有效恢复出 “干净”的人脸图像和误差图像,还在一定程度上解决了训练样本来自不同子空间的问题。
最近的研究成果表明,低秩矩阵恢复的方法被广泛运用在图像分类领域。杜海顺等人[7]利用LRR对训练数据进行恢复,提出了基于低秩恢复稀疏表示分类算法。何林知等人[8]利用RPCA 方法对训练样本进行低秩恢复后,使用协同表示分类方法对测试样本进行识别。以上基于低秩矩阵恢复的人脸识别方法,虽然可以很好地去除训练数据中的噪声,但是忽略了数据的局部结构可能会降低图像恢复的性能,而且由于没有充分挖掘训练样本的判别信息,这些方法并不适用于分类。
本文针对训练样本和测试样本同时受到遮挡的问题,提出了一种基于判别低秩矩阵恢复和协同表示与分类的遮挡人脸识别DLMR-CRC(Discriminant Low-rank Matrix Recovery and Collaborative Representation Classification)方法。该方法首先通过在低秩矩阵恢复中引入结构非相关性约束,有效地从被污损的训练样本中恢复出干净的训练样本,这些干净的人脸图像不但具有更强的判别信息,而且还可以保持原始数据的局部几何结构。在得到干净的人脸图像后,通过学习原始污损数据与干净的低秩数据之间的低秩投影矩阵,将受污损的测试样本投影到相应的低维子空间进行测试样本的修正。最后,利用协同表示与分类的方法对修正后的测试样本进行分类,获取最终的识别结果。该方法流程如图1所示。本文所提方法不仅在保持原始数据的局部几何结构的同时增强了恢复的低秩数据的判别能力,而且还对受污损的测试样本进行了修正,在协同表示与分类的作用下,大大提高了遮挡人脸识别的有效性。
Figure 1 Flow chart of DLMR-CRC 图1 DLMR-CRC流程
由于本文提出的方法涉及低秩矩阵恢复技术,本节先简单回顾一下相关的工作。RPCA试图将数据矩阵X分为A+E,其中A为干净的数据矩阵,E为相关的稀疏误差矩阵。RPCA最小化矩阵A的秩的同时减小了‖E‖0,得到X的低秩表示。RPCA模型表示为:
s.t.X=A+E
(1)
其中λ是一个正则化参数,用来约束稀疏误差矩阵。
由于上述优化问题是NP难且高度非凸的,最常见的解决方法就是用L1范数来代替L0范数,以及用核范数代替秩函数,这种方法被证实是有效的。因此,式(1)就可以转化为如下优化问题:
s.t.X=A+E
(2)
式(2)中的核范数是指向量矩阵A的奇异值的和,主要用来约束A的低秩属性,L1范数用来约束误差图像矩阵E的稀疏性,根据文献[9]可知L1范数并不能很好地对E的稀疏性进行约束,因此本文使用L2,1范数代替L1范数,X的L2,1范数定义如式(3)所示:
(3)
其中,m和n分别代表数据矩阵的行数和列数。
不同于L1范数的稀疏要求,从L2,1范数的定义可以看出,根号下平方是对X的列进行求和,由从L2范数的定义可以得出,根号部分相当于一个L2范数,可知L2,1范数即为X每一行的L2范数之和,L2,1范数还要求行稀疏,从而可以更好地对误差矩阵E的稀疏性进行约束。同时,RPCA假设数据X来自同一子空间,然而Liu等人[6]提出的LRR算法,在一定程度上解决了训练样本来自不同子空间的问题。综上所述,改进后的模型可以表示为:
s.t.X=DZ+E
(4)
其中,D是选择的对应字典,Z是低秩矩阵。
式(4)所示的优化问题可以通过非精确增广拉格朗日乘子ALM(Augmented Lagrange Multipliers)算法[10]求解,得到最优解Z*,利用DZ*可以从数据矩阵X中恢复出干净的数据矩阵。
通过选择合适的字典D,利用LRR可以寻找出低秩的表示矩阵。在一般应用中,因为每个数据向量都可以用原始数据向量表示,所以LRR使用数据X作为字典,在数据恢复期间还可以自动纠正错误。
假设有n个原始训练样本X属于N类,X=[x1,x2,…,xn]∈Rm×n,为了简单起见定义X=[X1,X2,…,XN],其中Xi的列是由第i类训练样本构成。给定一个测试样本y∈Rm,SRC方法使用训练样本X的稀疏线性组合来表示y,即y=Xα,其中α∈Rn是表示系数,用L1范数最小化求解稀疏表示系数,因此SRC的目标函数如式(5)所示:
(5)
(6)
进行分类,分类规则为:
identity(y)=argmini{ei}
(7)
其中identity(y)表示测试样本y的类别。
式(7)通过评估构建的每个类的重构误差,分析哪一类训练样本能够使稀疏编码系数相关的输入测试图像的重构误差最小,最终实现对人脸图像基于稀疏表示的分类。
虽然SRC对遮挡和污染具有良好的鲁棒性,但仍然存在一些问题。随着训练样本字典行数或列数的增加,SRC方法的运行速度急速下降。
为提高算法运行效率,Zhang等人[4]提出了CRC方法。CRC方法的一般模型可表示为:
(8)
其中λ是正则化参数,p,q为1或2,p和q的不同取值导致CRC模型的不同实例化,CRC模型具体为:
(9)
利用正则化最小二乘法求解式(9)的解为:
(10)
其中,I为单位矩阵,P和测试图像没有直接关系,可以提前进行计算,以节约运行时间。CRC将测试图像投影到P下,再判别测试图像类别,最小二乘协作表示算法[4]的算法流程如下:
步骤1将X的列标准化为单位L2范数;
步骤4获得y的类别:identity(y)=argmini{ei}。
min‖Zi‖*+λ‖Ei‖2,1+
s.t.Xi=AiZi+Ei
(11)
其中,λ是正则化参数;Ei是第i类的误差矩阵;惩罚参数η用来平衡低秩矩阵近似和不连贯的问题;最后一项是每一对低秩矩阵Di和Dj的F范数之和,不同类别之间恢复矩阵的F范数越小,意为着其独立性越强。这一项促进了不同近似类之间的结构不一致性,这个附加项为新的LRR问题提供了更多的判别能力。
本节使用ALM[10]来求解式(11)所示的优化问题。首先通过引入辅助变量Ji将式(11)转化为下面的等价优化问题:
s.t.Xi=AiZi+Ei,Zi=Ji
(12)
构造增广拉格朗日函数如式(13)所示:
L(Zi,Ei,Ji,Y1,Y2)=
〈Xi-AiZi-Ei,Y1〉+〈Zi-Ji,Y2〉+
(13)
其中,Y1和Y2是拉格朗日乘数,μ>0是一个惩罚参数。
将上述增广拉格朗日函数改写成如下形式:
L(Zi,Ei,Ji,Y1,Y2)=
f(Zi,Ji,Ei,Y1,Y2,μ)
(14)
其中,
f(Zi,Ji,Ei,Y1,Y2,μ)=
(15)
求解式(14)所示的优化问题的完整算法如算法1所示。
算法1
输入N类训练数据矩阵X,参数λ>0,η>0。
输出:恢复干净的数据矩阵D=XZ*。
fori=1;i 初始化Zi=Ji=Ei=Y1=Y2=0,Zj=I,μ=10-6,ρ=1.1,μmax=1010,ε=10-3,k=0。 未收敛时,重复以下步骤: 步骤1求解式(16)以更新Zi; 步骤2求解式(17)以更新Ji; 步骤3求解式(18)以更新Ei; 步骤4更新拉格朗日常数: 步骤5μk+1=min(ρμk,μmax) 步骤6检查收敛条件 步骤7更新k:k←k+1; 直到收敛; endfor 步骤 8求出一个最优解Z*; 为了交替地更新变量Zi、Ji和Ei,本文采用交替更新的方法,在对应变量的求解中固定了其他2个变量。更新步骤如下所示: 步骤1更新Zi 其中, 则具有如下封闭式的解: (16) 步骤2更新Ji。 为了更新第i类的误差矩阵Ji,固定式(14)中的Zi、Ei、Y1和Y2,并相应地解决以下问题: 通过计算L相对于Ji的偏导数并将其设置为0,可得上述问题的解为: (17) 步骤3更新Ei。 为了更新第i类的误差矩阵Ei,固定式(14)中的Zi,Ji,Y1和Y2,得到如下形式: (18) 为了提高CRC的性能,本文考虑去除测试样本中可能的损坏。在Cao等人[11]工作的启发下,一个低秩投影矩阵可以被应用于将损坏的样本投影到它们相应的低维子空间中。 我们假设原始训练样本X和判别低秩恢复结果D之间存在潜在的投影矩阵P,然后通过学习线性低秩投影矩阵P,将任意数据点x投影到它的子空间上得到精确的恢复结果Px。优化问题表述如下: s.t.D=PX (19) 由于式(19)计算量大,可以通过用核范数代替秩函数来放宽该优化问题。新的凸优化问题表示为: s.t.D=PX (20) 假设P≠0,D=PX有可行解。式(20)的唯一解可以表示为P*=YX+,其中,X+是X的伪逆矩阵,X+=V∑-1UT,V∑-1UT是X的瘦SVD,即保留X的正奇异值。最优解P*即为原始污染数据X与恢复的低秩数据D之间的低秩投影矩阵,可用于处理新的被污染测试样本数据y,将测试样本数据y映射到其对应的潜在子空间中,移除其中的误差成分得到“干净”的测试样本P*y,达到对测试数据误差矫正的目的。算法2详细描述了基于判别低秩矩阵恢复和协同表示与分类的过程。 算法2DLMR-CRC Algorithm 输入:训练样本数据矩阵X=[x1,x2,…,xn]∈Rm×n,测试样本y∈Rm,参数λ>0,η>0,β>0。 输出:分类识别结果。 fori=1;i 步骤1利用算法1求解下列优化问题最优解(Z*): s.t.Xi=AiZi+Ei endfor 步骤2得到训练样本的恢复结果: D=[X1Z1,…,XkZk]; 步骤3计算低秩投影矩阵:P*=DX+; 步骤4校正测试样本y:yP=P*y; 步骤5通过CRC对yP进行分类: fori=1;i 步骤6计算表示残差: ei=‖yP-Diαi‖2/‖αi‖2; 步骤7进行分类: identity(y)=argmini{ei} endfor 实验中所有方法均在CPU为Intel Core i5-7200 U @2.50 GHz 2.70 GHz,内存为8 GB,操作系统为64位Windows操作系统,Matlab版本为Matlab2016a环境下进行。 为了验证本文所提DLMR-CRC方法的有效性,本节在AR和Extended Yale B数据库上进行了大量的实验,比较了SRC[2]、LRC(线性回归分类)[12]、CRC[4]和NN等方法。本文通过移除式(11)中的附加项来实现LMR-CRC。本文还实现了基于SRC的DLMR的方法DLMR-SRC,使用SRC方法的分类器进行分类。在本文的实验中,所有的比较方法都使用了标准的特征脸特征,由于人脸图像通常是高维度的,所以在训练和测试之前,为了对实验结果进行公平比较,使用PCA来降低原始图像的维数。选择人脸图像的特征维数分别为25,50,75,100,200和300。采用ALM算法求解L1范数问题,并将ALM中的正则化参数设置为0.001。 AR数据库包括126个人的4 000多幅正面图像。每个人有26幅脸部图像,分别采集于2个不同的阶段,这些图像是在不同的光照、表情和面部遮挡/伪装条件下拍摄的,每个阶段拍摄13幅图像,其中3幅是戴着墨镜的,另外3幅是戴着围巾的,剩下的7幅具有明显的照明和表情变化。将人脸图像裁剪为165×120像素,并转换为灰度图像。AR数据库中戴墨镜和围巾的图像如图2所示。 Figure 2 Images with sunglasses and scarf in AR database 图2 AR数据库中戴墨镜和围巾的图像 实验选择AR数据库中的一个子集,其中包括50名男性受试者和50名女性受试者的图像,在第1阶段拍摄的中性和损坏的图像均用于训练。为了与其他方法进行公平比较,将人脸图像的特征维数都设置为25,50,75,100,200和300。本文方法的正则化参数设置为β= 1.1,η= 0.001和λ= 0.02。本节考虑文献[13]中的3个场景来评估本文所提方法的性能。 (1)墨镜遮挡:本文从每个人第1阶段的人脸图像中选取7幅无遮挡的图像和1幅戴墨镜的图像作为训练集样本图像,选取第2阶段中无遮挡的人脸图像和2个阶段中剩余的所有戴墨镜的图像作为测试集图像。每个人均选取了8幅训练图像和12幅测试图像。墨镜的遮挡面积约为人脸图像的20%。图3给出了各方法随特征维数变化的识别率曲线。 Figure 3 Recognition rate of each method changing with feature dimension in the case of sunglasses occlusion图3 墨镜遮挡情况下各方法随特征维数变化的识别率 (2) 围巾遮挡:在AR数据库中被围巾遮挡的图像,围巾的遮挡面积约为人脸图像的40%。和墨镜遮挡情况类似,从第1阶段的人脸图像中选取7幅无遮挡的图像和1幅围巾遮挡的图像作为训练集样本;选择第2阶段无遮挡的图像和2个阶段中剩余的所有带有围巾遮挡的图像组成测试集,也是每个人一共8幅训练样本和12幅测试样本。图4给出了各方法随特征维数变化的识别率曲线。 Figure 4 Recognition rate of each method changing with feature dimension in the case of scarf occlusion图4 围巾遮挡情况下各方法随特征维数变化的识别率 Figure 5 Recognition rate of each method changing with feature dimension in the case of sunglasses and scarf occlusion图5 墨镜+围巾遮挡情况下各方法随特征维数变化的识别率 (3)墨镜+围巾遮挡:选择9幅来自第1阶段的图像作为训练集样本,其中包括7幅无遮挡的人脸图像、1幅戴着墨镜、另1幅戴着围巾的人脸图像进行训练。选择第2阶段的无遮挡图像加上来自2个阶段剩余的所有带遮挡的图像作为测试集用于测试。图5给出了各方法随特征维数变化的识别率曲线。表1给出了3种场景下几种方法最高的人脸识别结果。 Table 1 Comparison of the highest face recognition rate between the DLMR-CRC method and several other methods on the AR database表1 在AR数据库上,DLMR-CRC方法与其它几种方法的最高人脸识别率对比 % 由表1和图3~图5可以看出,在3种场景中,DLMR-CRC方法在各个维度上的识别率在大多数情况下都高于其他方法的。通过与DLMR-SRC方法的对比,3种情况下都是略高于该方法,说明DLMR-CRC使用CRC的方法更能准确地描述人脸图像的误差遮挡。与LMR-CRC方法的对比结果表明,DLMR-CRC方法通过引入结构非相关性的约束能更好地增强低秩恢复数据的判别能力。另外还可以看出,DLMR-CRC的识别率远高于LRC和NN的,说明在训练样本和测试样本均受到遮挡时,本文方法的识别性能远远优于经典的线性回归分类器和最近邻分类器。 本节在Extended Yale B数据库上通过随机添加遮挡块,模拟不同程度的遮挡进行实验,验证所提方法在不同光照强度下对遮挡的识别性能。Extended Yale B数据库主要包括来自38个人的2 414幅人脸的正面图像,根据光照程度,分为5个子集,包括子集Ⅰ、子集Ⅱ、子集Ⅲ、子集Ⅳ和子集Ⅴ,这5个子集光照强度依次增加。本节实验选取集Ⅰ、子集Ⅱ和子集Ⅲ中一共1 170幅人脸图像作为测试集,为了使人脸识别更具挑战性,训练集选取具有极端光照的子集Ⅲ和子集Ⅳ并进行如下设置: 实验1选取子集Ⅲ中所有的人脸图像作为训练集1,针对每幅人脸图像分别添加0%~70%的不相关随机块遮挡共453×8=3264幅图像,部分实验样本如图6a所示。 实验2选取子集Ⅳ中所有的人脸图像作为训练集2,针对每幅人脸图像分别添加0%~70%的不相关随机块遮挡共524×8=4192幅图像,部分实验样本如图6b所示。 Figure 6 Part of the experimental samples in Extended Yale B database图6 Extended Yale B数据库中的部分实验样本 实验1和实验2中向每个测试图像中随机添加一个不相关的图像,其大小由遮挡率决定,每幅测试图像的遮挡位置是随机选择的,所有图像裁剪为96×84像素。选择DLMR-CRC正则化参数β=1.1,η= 0.001,λ=0.005。图7分别给出了在不同比例块遮挡情况下,各方法的平均识别率随着遮挡比例的变化情况。 Figure 7 Recognition rate of each method on training set 1 and training set 2 varies with the occlusion rate图7 训练集1和训练集2上各方法识别率随遮挡比例变化 通过图7a和图7b可看出,在无遮挡或遮挡面积较小时,本文所提DLMR-CRC方法和其他方法一样都具有较高的识别率。随着随机块遮挡面积的增大,在实验1中光照条件相对较好时,DLMR-CRC方法和其他对比方法一样,整体识别性能都有所下降,但DLMR-CRC仍然具有明显优势,识别率最高可达64%左右,比DLMR-SRC和LMR-CRC性能分别提升了3%和9%左右,值得注意的是,比经典的NN和SRC方法性能分别提升了33%和21%。通过图7b分析可以看出,在极端光照的训练集2上,虽然随着随机遮挡块比例的逐渐增加,所有的识别方法性能都急剧下降,其中本文所提方法和DLMR-SRC、LMR-CRC略占优势,尽管最高识别率仅有38%,但是也比其他对比方法有明显的提升,说明结构非相关性的约束能更好地增强低秩恢复数据的判别特性,并且结合协同表示的分类方法降低了算法运行的复杂度,在一定程度上缓解了因光照变化和遮挡为人脸识别带来的干扰。 本文针对训练样本和测试样本均受到噪声污染的情况,为解决样本数据来自不同子空间时,低秩矩阵恢复算法不能很好地保持原始数据的局部几何结构,进而不能有效地恢复出干净的低秩人脸图像和误差矩阵图像的问题,提出了一种基于判别低秩矩阵恢复的协同表示遮挡人脸识别方法,并在2个常见的人脸数据库上进行人脸识别实验的验证。该方法该通过结构非相关性约束项的引入,不仅在保持原始数据的局部几何结构的同时增强了恢复的低秩数据的判别能力,而且还通过学习低秩投影矩阵对受污损的测试样本进行了修正,最后结合CRC较高识别精度与低运算复杂度的优势,提升了DLMR-CRC方法对严重的污损或光照变化的破坏的鲁棒性,具有更好的识别性能,提高了遮挡人脸的识别率,使其在现实世界应用中的遮挡人脸识别更实用。3.3 低秩投影矩阵
4 实验验证分析
4.1 AR数据库
4.2 Extended Yale B 数据库
5 结束语