基于多流形判别分析超分辨率的人脸识别方法转让专利

申请号 : CN201210164069.9

文献号 : CN102693419B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡瑞敏江俊君韩镇王冰黄克斌

申请人 : 武汉大学

摘要 :

一种基于多流形判别分析超分辨率的人脸识别方法,在训练阶段,通过多流形判别分析得到一个由低高辨率人脸图像多流形空间到高分辨率人脸图像多流形空间的映射矩阵。在原始高分辨率人脸图像多流形空间构建类内相似性图和类间相似性图,利用这两个近邻图构建判别约束项,最优化由重建约束项和判别约束项组成的代价函数,得到映射矩阵。在识别阶段,通过离线学习得到的映射矩阵将待识别的低分辨率人脸图像映射到高分辨率人脸图像多流形空间,得到高分辨率人脸图像;在高分辨率人脸图像多流形空间,利用欧氏距离准则用最近邻分类器进行分类识别。在人脸识别率和运行效率上,本发明方法相对传统超分辨率方法均有了极大的提升。

权利要求 :

1.一种基于多流形判别分析超分辨率的人脸识别方法,其特征在于,包括如下步骤:步骤1,构建高分辨率人脸图像训练集和对应的低分辨率人脸图像训练集,低分辨率人脸图像训练样本集中包括低分辨率人脸样本图像x1,x2,…,xN,用矩阵X=[x1,x2,…,xN]表示,高分辨率人脸图像训练样本集中包括高分辨率人脸样本图像y1,y2,…,yN,用矩阵Y=[y1,y2,…,yN]表示,N表示样本集中的图像数量;

步骤2,低分辨率人脸图像训练集构成低分辨率人脸图像多流形空间,高分辨率人脸图像训练集构成高分辨率人脸图像多流形空间,计算一个低分辨率人脸图像多流形空间到高分辨率人脸图像多流形空间的映射矩阵,包括以下子步骤,步骤2.1,利用以下两式得到类内相似性图Ww和类间相似性图Wb,其中,Ww(i,j)是类内相似性图Ww所构成矩阵第i行第j列的元素;Wb(i,j)是类间相似性图Wb所构成矩阵第i行第j列的元素; 表示在高分辨率人脸图像多流形空间中,与高分辨率人脸样本图像yi同一流形的Kw个最近邻的样本, 表示在高分辨率人脸图像多流形空间中,与高分辨率人脸样本图像yi不同流形的Kb个最近邻的样本;i的取值为

1,2,…,N,j的取值为1,2,…,N,i≠j;参数Kw和参数Kb采用预设的经验值;

步骤2.2,分别根据 和 ,计算得到对角矩阵Dw

和Db;其中,Dw(i,i)表示对角矩阵Dw上i行第i列的元素,Db(i,i)表示对角矩阵Db上i行第i列的元素;

步骤2.3,分别根据Lw=Dw-Ww和Lb=Db-Wb,计算得到类内拉普拉斯矩阵Lw和类间拉普拉斯矩阵Lb;

步骤2.4,将类内拉普拉斯矩阵Lw和类间拉普拉斯矩阵Lb代入到下式得到映射矩阵AT T T -1A=YX{XX+αX(Lw-βLb)X}

其中,参数α和参数β采用预设的经验值;

步骤3,输入一张低分辨率人脸图像,利用步骤2中得到的映射矩阵得到对应的高分辨率人脸图像;

步骤4,在高分辨率人脸图像多流形空间,用最近邻分类器对步骤3中得到的高分辨率人脸图像进行分类识别。

说明书 :

基于多流形判别分析超分辨率的人脸识别方法

发明领域

[0001] 本发明涉及一种人脸识别方法,特别涉及一种基于多流形判别分析超分辨率的人脸识别方法。

背景技术

[0002] 人脸识别作为一种重要的生物识别手段,近三十年以来在研究和市场领域都获得了大量的关注。然而,在许多情况下,由于摄像机与行人的距离较远,导致拍摄到的人脸图像的分辨率太低,人脸图像丢失了过多的细节信息,进而难以有效地被人或者机器所辨别。因此,如何进行低分辨率人脸图像的匹配识别成为当前人脸识别技术需要进一步解决的问题。
[0003] 低分辨率人脸识别方法大体分为两类,一类方法是直接将所有人脸库中的图像下采样到与待识别人脸图像相同大小,在低分率空间进行人脸识别;另一类方法是将待识别人脸图像进行超分辨率重建,得到与人脸库中图像相同大小的高分辨率人脸图像,在高分辨率空间进行人脸识别。近年来,学者们提出了大量利用超分辨率算法得到高分辨率人脸图像的方法。2000年Baker和Kanade在文献1(S.Baker and T.Kanade.Hallucinating faces.In FG,Grenoble,France,Mar.2000,83-88.)中提出了一种人脸幻构(face hallucination)的方法,利用训练集中人脸图像的先验信息,通过学习的方法获得低分辨率人脸对应的高分辨率图像。随后,Liu等人在文献2(C.Liu,H.Y.Shum,and C.S.Zhang.A two-step approach to hallucinating faces:global parametric model and local nonparametric model.In CVPR,pp.192–198,2001.)中提出人脸重建的两步法,分别合成人脸的全局信息和局部信息。2004年Chang等人在文献3(H.Chang,D.Y.Yeung,and Y.M.Xiong.Super-resolution through neighbor embedding.In CVPR,pp.275–282,2004.)中基于高低分辨率图像块所构成的流形空间具有相似局部几何特征这一假设,提出一种邻域嵌入的图像超分辨率重建方法。而后,Wang和Tang在文 献 4(X.Wang and X.Tang,Hallucinating face by eigentransformation,Trans.SMC(C),35(3):425–434,2005.)中运用特征变换的算法提出了一种新的人脸幻构的方法。近来,Ma等人利用人脸图像位置块信息,在文献5(X.Ma,J.Zhang,and C.Qi,“Position-based face hallucination method,”in ICME,pp.290-293,2009.)和 文 献 6(X.Ma,J.P Zhang,and C.Qi.Hallucinating face by position-patch.Pattern Recognition,43(6):3178–3194,2010.)中提出基于位置图像块的人脸超分辨率方法,使用训练集中所有与输入图像块同位置的人脸图像块重建高分辨率人脸图像,避免流形学习或者特征提取等步骤,提高了效率和合成图像的质量。Yang等人在文献7(J.Yang,H.Tang,Y.Ma,and T.Huang,“Face hallucination via sparse coding,”in ICIP,pp.1264-1267,2008.)和 文 献8(J.Yang,J.Wright,T.Huang,and Y.Ma.“Image super-resolution via sparse representation,”Trans.IP,19(11):2861–2873,2010.)中提出了将图像超分辨率重建看作一个稀疏表示的问题,获得了很好的效果,该方法是目前最好的人脸超分辨率重建方法。
[0004] 然而,上述所有方法好坏的评判准则是它们超分辨率重建出来的人脸图像与原始人脸图像的差异性(比如,RMSE值、PSNR值或者SSIM值),目的均是为了获得一个视觉上让人满意的效果。然而,人脸超分辨率的最终目的是为了重建后的人脸识别,传统的人脸超分辨率方法重建出来的人脸图像缺乏对人脸识别有用的判别信息。如何重建出一张具有判别性的人脸(重建是为了后期的人脸识别)是人脸超分辨率技术的最终目的。

发明内容

[0005] 本发明的目的在于克服上述现有技术的缺点,提出了一种基于多流形图判别分析超分辨率的人脸识别方法,学习一个由低分辨率空间到高分辨率空间的映射,同时要求在映射得到的高分辨率流形空间中,由同一对象不同光照和表情下的人脸所构成的流形越紧致,而由不同对象人脸图像构成的多个流形之间越分离越好,从而使投影之后得到的高分辨率人脸具有很强的判别性。
[0006] 为了达到上述目的,本发明采用的技术方案是一种基于多流形判别分析超分辨率的人脸识别方法,其特征在于,包括如下步骤:
[0007] 步骤1,构建高分辨率人脸图像训练集和对应的低分辨率人脸图像训练集,低分辨率人脸图像训练样本集中包括低分辨率人脸样本图像x1,x2,…,xN,用矩阵X=[x1,x2,…,xN]表示,高分辨率人脸图像训练样本集中包括高分辨率人脸样本图像y1,y2,…,yN,用矩阵Y=[y1,y2,…,yN]表示;
[0008] 步骤2,低分辨率人脸图像训练集构成低分辨率人脸图像多流形空间,高分辨率人脸图像训练集构成高分辨率人脸图像多流形空间,计算一个低分辨率人脸图像多流形空间到高分辨率人脸图像多流形空间的映射矩阵,包括以下子步骤,
[0009] 步骤2.1,利用以下两式得到类内相似性图Ww和类间相似性图Wb,[0010]
[0011]
[0012] 其中,Ww(i,j)是类内相似性图Ww所构成矩阵第i行第j列的元素;Wb(i,j)是类间相似性图Wb所构成矩阵第i行第j列的元素; 表示在高分辨率人脸图像多流形空间中,与高分辨率人脸样本图像yi同一流形的Kw个最近邻的样本, 表示在高分辨率人脸图像多流形空间中,与高分辨率人脸样本图像yi不同流形的Kb个最近邻的样本;i的取值为1,2,…,N,j的取值为1,2,…,N,i≠j;参数Kw和参数Kb采用预设的经验值;
[0013] 步骤2.2,分别根据 和 计算得到对角矩阵Dw和Db;其中,Dw(i,i)表示对角矩阵Dw上第i行第i列的元素,Dw(i,i)表示对角矩阵Dw上第i行第i列的元素;
[0014] 步骤2.3,分别根据Lw=Dw-Ww和Lb=Db-Wb,计算得到类内拉普拉斯矩阵Lw和类间拉普拉斯矩阵Lb;
[0015] 步骤2.4,将类内拉普拉斯矩阵Lw和类间拉普拉斯矩阵Lb代入到下式得到映射矩阵A
[0016] A=YXT{XXT+αX(Lw-βLb)XT}-1
[0017] 其中,参数α和参数β采用预设的经验值;
[0018] 步骤3,输入一张低分辨率人脸图像,利用步骤2中得到的映射矩阵得到对应的高分辨率人脸图像;
[0019] 步骤4,在高分辨率人脸图像多流形空间,用最近邻分类器对步骤3中得到的高分辨率人脸图像进行分类识别。
[0020] 本发明具有以下优点和积极效果:
[0021] 1)与传统人脸超分辨率方法仅利用人脸图像样本库进行无监督的学习不同,本发明在人脸超分辨率重建过程中,同时考虑重建约束和判别约束,利用高分辨率人脸训练样本中所具有的判别信息,进而重建出有判别信息的高分辨率人脸;
[0022] 2)本发明通过离线训练得到一个投影矩阵,输入一张待识别的低分辨率人脸时,只需要将线性映射到高分辨率空间,便可得到高分辨率人脸图像,从而进行人脸识别。因此,本发明方法的效率非常高,这也使得本发明有可能应用于实际大规模的人脸识别系统中。

附图说明

[0023] 图1为本发明原理示意图。

具体实施方式

[0024] 流形学习理论研究发现,同一个对象不同光照和表情下的人脸处在(嵌入在)一个低维的流形子空间上,不同对象所对应的流形就构成了多流形空间。然而,当人脸的分辨率很低时,人脸的判别信息很少,不同对象对应的流形空间可能相互交叠在一起,如图1所示的低分辨率人脸空间:图中大圆和小圆分别表示一个对象的高分辨率样本图像和低分辨率样本图像,大三角形和小三角形分别表示另一个对象的高分辨率样本图像和低分辨率样本图像。
[0025] 本发明提出学习一个由低分辨率空间到高分辨率空间的映射(即人脸超分辨率的过程),同时要求在映射得到的高分辨率人脸流形空间中,同一个对象构成的流形空间越紧致越好,而不同对象构成的流形空间越分离越好,这样就可以使投影之后得到的高分辨率人脸具有很强的判别性,有利于下一步的人脸识别。
[0026] 本发明技术方案可采用软件技术实现自动流程运行。下面结合实施例对本发明技术方案进一步详细说明。本发明实施例具体步骤为:
[0027] 步骤1,构建高低分辨率人脸图像训练集;
[0028] 选取AR人脸数据 库(文献13:Martinez,A.and R.Benavente,The AR face database,1998.)中的100个对象(50个男性和50个女性,每个对象包含14幅人脸图像)作为本发明方法测试数据库,提取其中的人脸将他们裁剪到32×28个像素,并以两个眼睛为基准点对所有人脸图像进行对齐,由此得到1400张高分辨率人脸样本图像,将它们4倍双三次下采样到8×7像素得到对应的1400张低分辨率人脸样本图像。为了测试本发明的人脸识别率,每次选取一半作为训练集(每个对象随机取7幅图像),另外一半作为测试集。为了表示方便,本发明实施例将所有图像均按行扫描,用一个列向量表示,那么高分辨率人脸图像训练样本集和低分辨率人脸图像训练样本集分别可以用矩阵Y=[y1,y2,…,yN]和矩阵X=[x1,x2,…,xN]表示,N表示样本集中的图像数量。即矩阵Y的每一列是某低分辨率人脸样本图像所有像素点的像素值所拉成的列向量,矩阵X的每一列是某低分辨率人脸样本图像所有像素点的像素值拉成的列向量。可以用yi和xi分别表示高分辨率人脸图像训练样本集中的第i幅高分辨率人脸样本图像和低分辨率人脸图像训练样本集中与之对应的低分辨率人脸样本图像。i的取值为1,2,…,N。
[0029] 步骤2,学习一个低分辨率训练样本空间到高分辨率训练样本空间的映射矩阵,并且使得映射得到的高分辨率训练样本图像具有最大的判别能力;
[0030] 为便于清晰理解起见,以下提供详细说明:
[0031] 映射矩阵通过最小化下式求得:
[0032]
[0033] 其中,A即为本发明要求的映射矩阵,x为低分辨率人脸图像训练样本集中任一低分辨率人脸样本图像,由于同一对象的多幅人脸图像(不同光照和表情)组成一个流形,不同对象的人脸图像组成不同的流形,实施例用Mh和Ml分别表示由所有高分辨率人脸样本图像构成高分辨率人脸图像多流形空间和所有低分辨率人脸样本图像构成低分辨率人脸图像多流形空间。那么, and和 分别表示第c个对象的所有高分辨率图像所组成的流形和所有低分辨率图像所组成的流形,1≤c≤C,C为样本库中对象的个数,Nc为第c个对象所含的样本数,Ω(A)是多流形空间上的判别约束项,α是一个平衡因子,用来平衡重建约束(式(1)中的第一部分 )和判别约束(式(1)中的第二部分Ω(A))。‖·‖2表示二范数, 就是对二范数‖·‖2的结果求平方。式(1)的意义为:在进行由低分辨率人脸图像空间到高分辨率人脸图像空间映射时,不仅考虑映射后的准确性,而且使得映射得到的高分辨率图像具有一定的判别性。
[0034] 所述多流形空间上的判别约束项Ω(A)采用如下公式计算获得:
[0035]
[0036] 其中,Ww和Wb分别表示类内相似性图和类间相似性图,β是一个平衡因子,用来平衡同一流形的紧致程度和不同流形间的分离程度(这里假设同一个人的多张人脸图像处理在同一个流形空间,而不同的人构成的不同的流形)。最小化式(2)就是要惩罚那些在映射后的高分辨率空间中,同一流形上被映射成远离的点和不同流形上被映射成相邻的点。根T据矩阵性质tr(AB)=tr(BA)和tr(A)=tr(A),此处A、B表示任意两个矩阵,有[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043] 同样可以得到:
[0044]
[0045]
[0046]
[0047] 其中,X=[x1,x2,...xN]。对角矩阵Dw和Db是分别由 和得到。其中,Dw(i,i)表示对角矩阵Dw上第i行第i列的元素,Dw(i,i)
表示对角矩阵Dw上第i行第i列的元素。Lw=Dw-Ww和Wb=Db-Wb是类内拉普拉斯矩阵和类间拉普拉斯矩阵。因此式(2)可写作如下形式
T T
[0048] Ω(A)=tr{AX(Lw-βLb)XA} (5)
[0049] 其中,β为预设的参数,用来平衡类内紧致程度和类间的分离程度。
[0050] 所述类内相似性图Ww和类间相似性图Wb的定义如下:
[0051]
[0052]
[0053] Ww(i,j)是类内相似性图Ww所构成矩阵第i行第j列的元素;Wb(i,j)是类间相似性图Wb所构成矩阵第i行第j列的元素;
[0054] 其中 表示在高分辨率人脸图像多流形空间中,与高分辨率人脸样本图像yi同一流形的Kw个最近邻的样本, 表示在高分辨率人脸图像多流形空间中,与高分辨率人脸图像yi不同流形的Kb个最近邻的样本。
[0055] 所述最优化问题的求解过程如下:
[0056] 将式(5)代入式(1)有
[0057]
[0058]
[0059]
[0060] 其中,‖·‖F表示矩阵的Frobenius范数, 表示上述范数的平方。
[0061] 为了最小化J(A),本发明方法对上式求导,当导数为0时,得到方程如下:
[0062]
[0063] 计算可得:
[0064] A=YXT(XXT+αX(Lw-βLb)XT)-1 (10)
[0065] 具体实施时,只需采用以下过程实现求取映射矩阵:
[0066] 首先,利用以下两式得到类内相似性图Ww和类间相似性图Wb的定义如下:
[0067]
[0068]
[0069] 其中, 表示在高分辨率人脸图像空间中,与高分辨率人脸样本图像yi同一流形的Kw个最近邻的样本, 表示在高分辨率人脸图像空间中,与高分辨率人脸样本图像yi不同流形的Kb个最近邻的样本。可以采用现有技术中的欧式距离,计算判断高分辨率人脸图像训练集中与高分辨率人脸样本图像yi最近邻的其他分辨率人脸样本图像。其中i的取值为1,2,…,N,j的取值为1,2,…,N,i≠j。在本实施例中,参数Kw和参数Kb分别取3和40。
[0070] 然后,对角矩阵Dw和Db就可以分别由 和 得到。再利用Lw=Dw-Ww和Lb=Db-Wb就可以计算类内拉普拉斯矩阵和类间拉普拉斯矩阵。最后,将Lw、Lb代入到下式得到映射矩阵A
[0071] A=YXT{XXT+αX(Lw-βLb)XT}-1 (10)
[0072] 在本发明中,参数α和参数β分别取0.85和1.2。
[0073] 步骤3,输入一张低分辨率人脸图像,利用步骤2中得到的映射矩阵将该低分辨率人脸图像映射到高分辨率人脸图像多流形空间,得到与之对应的高分辨率人脸图像;
[0074] 对测试集中的任一低分辨率人脸图像xp,对应的高分辨率人脸图像yp可以通过下式得到
[0075] yp=Axp (4)
[0076] 步骤4,在高分辨率人脸图像多流形空间,用最近邻分类器对步骤3中得到的高分辨率人脸图像进行分类识别。
[0077] 用步骤3中得到的高分辨率人脸图像yp与高分辨率人脸图像训练集中所有高分辨率人脸样本图像求欧氏距离,距离最小的那个高分辨率人脸样本图像所在的类别即为输入低分辨率人脸图像xp的类别。
[0078] 为了验证本发明的优越性,以下提供实验对比。
[0079] 在AR人脸数据库下,本发明方法与四种现有的超分辨率方法进行对比(所有对比方法均已按照相关文献的建议将参数调节到最佳):双三次插值方法,以及文献4的方法,文献6的方法,文献8的方法。同时,本发明方法与另外两种方法进行对比:将所有高分辨率人脸图像4倍下采样到与输入低分辨率图像同等大小,然后直接进行最近邻分类识别,该对比方法记作“低分辨率”,如表1第1行;将输入低分辨率人脸图像的原始高分辨率图像进行最近邻分类识别,该对比方法记作“高分辨率”(此方法为理想情况,因为在实际中不可能得到输入低分辨率人脸图像的原始高分辨率图像),如表1第2行。如步骤1所述,每次随机选取一半样本作为训练集,另一半作为测试集,如此重复50次,表1中给出了所有算法的识别率平均值和方差以及四种超分辨率方法重建一幅高分辨率人脸图像所需要的平均运行时间。由表1,可以得出以下4点结论:
[0080] 1)并非所有的超分辨率算法都对下一步的人脸识别有效,用超分辨率重建后的结果进行人脸识别的方法甚至还不如“低分辨率”方法。“低分辨率”方法比双三次插值方法、文献4方法和文献6方法分别高15.1、1.9和2.4个百分点;
[0081] 2)文献8方法获得一个略好于“高分辨率”方法的效果,这主要是因为它是基于稀疏表示的,而稀疏表示已经被证明在图像分类和识别领域是非常有效的一种表示方法;
[0082] 3)在所有方法中,本发明方法获得了最好的识别率,甚至好于“高分辨率”方法(提升8个百分左右)。“高分辨率”方法中用来识别的人脸图像虽为高分辨率,但是缺乏对下一步进行人脸识别有用的判别信息,而本发明方法重建的高分辨率人脸图像不仅满足重建约束,还使重建后的高分辨率人脸图像具有对人脸识别有用的判别信息;
[0083] 4)由五种超分辨率算法超分辨率过程的平均运行时间可以看出,本发明方法比最有竞争力的文献8方法快70倍,每秒钟可以重建300张以上。因此,本发明方法可能适合在运用于实际大规模的人脸识别系统中。
[0084] 表1不同方法识别率和运行时间对比
[0085]方法 识别率 平均运行时间(s)
高分辨率 64.7%±1.9% -
低分辨率 61.9%±1.9% -
双三次插值 46.8%±1.6% 0.002
文献4 60.0%±1.9% 0.035
文献6 59.5%±1.6% 0.003
文献8 65.3%±1.6% 0.209
本发明方法 72.4%±1.5% 0.003
[0086] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。