SCI翻译文献
基于一种改进的CCA-PCA算法的2D-3D人脸识别方法
摘要:这篇文章给基于信息理论方法来编码和解码人脸图像的人脸识别提出了一个方法。在本文中,基于使用典型相关分析(CCA)的主成分分析(PCA)算法,我们提出一种2D-3D人脸匹配方法,来了解2D人脸图像和3D人脸数据之间的映射。此方法使得2D人脸图像与已录入的3D人脸数据的匹配成为可能。我们提出的融合算法是基于PCA方法,该方法被应用到提取基本特征值当中。在特征合并在一起之前,PCA特征级融合要对来自源数据的不同的特征进行提取。对TEXAS面部图像数据库上的实验结果表明:基于改进的CCA-PCA方法的分类和识别的结果要优于那些基于CCA方法的结果。对2D-3D人脸匹配结果进行测试,CCA方法的识别率仅仅为可怜的55%,而基于PCA级融合的识别率高达85%。
关键字:人脸识别,PCA, CCA,核典型相关分析,德克萨斯州数据库,图像融合
1. 介绍
人脸是社会关注的主要焦点,在表达身份和传递情感的过程中扮演重要角色。人脸识别是通过一个人的面部图像进行识别的技术。由于人脸识别技术必须得处理在各种参数下的情况,如光照,姿态方位,表情,头的尺寸,图像遮蔽和面部背景,所以人脸识别技术的问题比较复杂,且有高挑战性。大部分提出的人脸识别方法解决的是2D表面,比如特征脸和fisherfaces;,很自然的是这种方法对变化的照明情况和姿势是最灵敏的。近些年,在图像处理和2D人脸识别方面已经引入一些新方法,它们依赖于光照,姿态方位,表情这些因素。CCA和核CCA(KCCA)就属于一种新方法。CCA已经广泛的应用在许多方面,诸如信号处理,医学研究和模式识别。CCA可同时处理两个数据集,来对比于PCA和线性判别分析(LDA)。KCCA也已成功地应用于基于内容的恢复,文本挖掘和面部表情识别当中。近来,由于其良好的非线性特性,核方法而备受关注。因为一个面的形状是独立于其照明和姿势,3D面部识别具有在不受控制的条件下提高的性能的潜力。一些3D人脸识别算法早已被提出,而且报道称识别率也非常高。由于它的计算的复杂性和设备的成本,3D技术在仍然不能广泛的应用到实际中去。
基于CCADouble方法和利用图像融合而组合的CCA-PCA方法,本文采用一种新的特征投影的方法。我们采用CCA和改进的CCA来对2D和3D的人脸数据进行匹配。我们使用2D人脸图像作为探针,3D人脸数据作为画廊。提出的2D-3D人脸识别方法表明了其相比于其他传统的3D-3D人脸识别系统的低计算复杂性。
本文的其余部分安排如下。第二部分简单地回顾了相关工作。第三和第四部分对人脸识别系统和其提出的方法进行了讨论。第五部分列出实验结果,最后,在六部分我们进行了总结。
2. 相关工作
解决的2D-3D面部匹配问题有几种方法。Rama等人使用部分PCA(P2CA)来对一个2D人脸图像和3D人脸数据进行匹配。D.Riccio等人提出一个特别的2D-3D人脸识别方法,这些方法基于从多个“控制点”来计算出的16个几何不变量。W.Yang等人提出了基于主成分分析(PCA)等方法的像素级图像融合方案。关于多模态
2D-3D面部识别的公布结果表明,相比于单独使用2D或3D数据,来自2D和3D人脸数据的人脸识别有着更好的性能表现。关于多模态的2D-3D人脸识别方法的调查可以在Bowyer等人的相关成果中找到。受到上面列出的论文中的结果的启发,我们提出了一种基于PCA的改进了的2D-3D融合算法。
G. Kukharev等人提出了应用于图像处理和生物识别的2D CCA(2DCCA)。通常情况下,CCA方法的关键思想是找到几对典型变量中两对变量之间的高维数关系。它的目的是要描述两组数据一维序列之间的关系。对于多模态功能,CCA可用于 特征级融合。计算机技术的飞速发展,增加了内存容量,提升了处理速度,而且数字图像处理软件包的广泛的使用(如:MATLAB,Lab View,Statistics)和数学建模的应用,促进了CCA在多维数据的处理当中的应用。例如数据可以包含人脸图像,肢体姿势等。
3. 人脸识别系统
人脸识别中必须要处理的最有挑战性的问题是对属于同级别的数据进行合理恰当的分割。在人脸识别当中,一个级别代表的是同一成份的数据(同一人的所有的图像数据)。我们的目标是实现一种自动设备支持的系统,该系统可以识别图像中的一个人的身份(初始化和对图像的代表性样本练习完之后)。这样的系统在实际中有着广泛的应用,例如,
自动个人身份识别和种族,性别,情感识别等。
图1.人脸识别系统方法
脸部识别系统的过程如下。首先,提取图像特征。 接着,训练分类器在训练不同类别的图像和模型集中生成。最后,这些分类的模型将被用来预测测试图像。常见变换方法被列在图1的中间一列(PCA,CCA,KCCA和CCA-PCA)。
3.1 PCA,CCA和KCCA概述
PCA是降维标准技术,已应用到一类计算机视觉问题上,包括功能选择,对象识别和脸部识别。
CCA是一个合时宜且主导的技术,该技术可用于探索多个变量和自变量的关系。
因此提出了基于CCA的强大的面部图像特征投影方法。CCA识别并度量两组变量间的关系。与PCA和LDA这样的投影方法相比,CCA可以同时处理两组数据。对于两套多元数据,x和y,CCA发现两套基本向量Wx和Wy,使得在变量的投影到向量的相关性得到最大化。CCA最大化以下函数:
(1)
其中E [F(X,Y)]是的实证预期函数f(x,y),Cxx和Cyy是内集
x和y分别的协方差矩阵。通过求解下面的特征方程,可以发现x和y之间的典型相关性:
(2)(3)
其中,特征值ρ2是平方化典型相关,特征向量Wx和Wy是标准化典型相关向量。
图2. 基于2D-3D人脸识别的KCCA算法原理
由于2D人脸图像和3D人脸数据之间的非线性关系,,CCA可能不能提取数据中有效的描述符,因此,在这里,我们还介绍了KCCA,它提供了一种可以解决这一缺点的可替代方法。在执行CCA之前,KCCA投射数据到高维特征空间。换言之,KCCA是CCA的非线性变形,其中的目标是识别并量化两组变量之间的关系。该内核是隐式地将数据映射到一个更高维数的(甚至是无限的)维特征空间F,被称为“核技巧”(Hilbert空间)的方法。在实践中,内核是一个函数K(x,y),而不是Φx(X)和φy(Y)的内积,因为它没有必要定义一个Φx(X)或φy(Y)(分别表示在X和Y的映射)的明确形式:
(4)
经内核步骤之后,在映射空间可以实现CCA计算。KCCA要完成在不同数据视图之间寻找共同的语义特征。输入的数据和KCCA计算方法结构的示意图呈现在图2中。
4. 提出的方法
在这部分,我们目前所提出的方法,融合了人脸识别两种方法,即CCADouble和CCA-PCA算法。PCA用于发现的正交去相关的轴,它们是协方差矩阵的特征向量。所提出方法的目标是识别包含人的面部的2D对象。所提出的的集成系统遵循人脸识别的前期工作,但是我们的方法里的新贡献在改进现有方法的同时,导致有显著地性能增益。
图3.一个人脸识别系统的简单例子
图3图解说明了面部识别处理的场景。在此图中,画廊显示一组已知的人。用来做测试算法的图像叫做探针。一个探针既可以是画廊当中的一张新的个人图像,也可以是不包含在画廊中的个人其他图像。识别算法会在图库里的每一个探针和图像当中返回最佳的匹配效果。探针的预计识别是最好的匹配对象。在所提出的方法中,训练阶段和测试相位被分为以下几个阶段:
训练阶段:
·训练图像被选择并放置在文件夹中。
·读出训练图像。
·PCA方法用来进行对测试相位的训练和调整。
测试相位
·读出测试图像
·首先应用PCA,在训练数据中使用欧氏距离函数来确定特征向量。
·使用核技巧方法,距离矩阵会转换成核矩阵
(它可以应用到多种类的CCA-PCA
分类当中)。
·显示分类对象和标签。
图4. CCA-PCA算法的训练和测试阶段
在训练阶段,一个本征空间从使用PCA的训练样本中建立起来,训练的人脸图像被映射到分类的本征空间中去。在分类阶段,输入的面部被投射到相同的本征空间并由适当的分类器进行分类。让面部图像的训练集是δ1,δ2,...,δM;然后,该组ψ的平均被定义为:
(5)
其中,M是一个标准正交向量(特征值)。每一个面部不同于平均的矢量:
(6)
在训练阶段,PCA控制这组非常大的向量。训练集包含2D-3D对50个主题,测试组包含2D-3D对其他25,50,75和115个主题。要对每一个主题要执行相应培训,要在相同的主题下,对n种姿势形态实施性能测试。在使用PCA来完成对特征脸的计算之后,会计算出训练集的投影向量,接着投影向量会被用来训练CCA。这种架构被称为“CCA-PCA”。 当测试集中的新图像被识别到时,图像会被映射到本征空间或fisherspace。因此,特征矢量被分配给图像。标准图案识别算法会引导投影矢量来识别是哪个预定的面部种类,如果有的话,投影矢量将会很好的表征面部。通过每个人的一小部分脸部图像所得到的特征脸的表示法得出平均结果,面部种类将被计算出来。将输入面部图像的投影矢量与训练的人脸图像的投影向量进行比较来进行分类。
这种比较方法是基于脸部类别和输入脸图像之
间的欧几里德距离来表征的。这样做是为了找到面部类别k的最小化的欧几里得距离。图4显示出的是CCA-PCA方法的训练阶段和测试阶段。
4.1使用CCA-PCA方法进行2D-3D图像融合
图像融合的目的是整合补充信息。补充信息分散在源图像中,它们用以生成合成图像,包含着比任何单个源图像更准确的场景描述。图像融合对图像分析和计算机视觉来说都是一个很有用处的技术,在检测和对目标物的识别当中都可以减少错误。
图5.2D-3D图像融合的融合算法原理
此部分会解释从2D图像和3D数据里获得的图像融合。在图像级水平上,2D和3D图像的融合模式被视为随机变量,像素值提供这些变量的观测值。PCA在以减少多变量为少变量的目的下进行,仍然保留大部分在原始集合中的信息。显而易见是,这样的减量集对分析和解释都有很大的便捷。CCA的主要目的是找到两组基础向量-用于每一个区域-使得变量投影之间的相关性相互最大化。每组向量对应于一个人脸区域。换句话说,通过CCA获得的基础向量可转化两个对应区域的矢量成为一个统一的子空间。图像压缩和分类也广泛地使用CCA-PCA。
通过连接的二维和三维图像来分别形成2D图向量(I2D)和3D图向量(I3D)。输入图像(图像已被混合)的I2D和I3D被排列成两个列向量,并减去它们的经验方法。所得矢量具有n x2,其中n是每幅图像矢量的长度。计算出这个得到的向量的本征向量和本征值,并获得相对应于较大特征值的特征向量。接下来,形成模态观测矩阵G =(I2D,I3D)T。原始和融合图像两者的样品示于图6中。
图6.原始2D、3D图像和混合融合图像的示例
图7.基于2D-3D图像融合的CCA-PCA算法原理
如图5所示,融合图像是通过二维和三维图像的面部线索组成。融合图像代表同等的2D和3D图像的主要设施(特点),以及附加的突出结构的线索。
图8. 使用融合算法的正确2D-3D人脸识别匹配
提出CCA-PCA融合其背后的原理算法示于图7。针对2D-3D面部识别所提出的CCA-PCA算法是使用输入的2D或3D图像作为探针和2D-3D融合图像作为测试的数据库。首先,测试集由25个主题形成。二维或三维面部图像通过向量X选择为参考并代表。接下来,来自测试集的每一个2D-3D融合图像会被转化成相关的向量Yi。
融合图像包括同时来自二维和三维的面部图像的信息。在参考图像和测试的2D-3D融合图像之间的典型相关系数rFUSED会被CCA-PCA融合算法计算出来。相关系数在区间[-1,1]之内。结论系数存储在所述矢量RFUSED = (rFUSED1, rFUSED2,…, rFUSEDi)之中,其中具有高价值的典型相关系数将会被选择,用来表示相关联的2D-3D融合图像和参考的面部图像。接下来,测试集中部位的数量将会增加到50,75或115,并且识别实验会为每个值再次执行。一个基于对CCA-PCA融合算法的正确的2D-3D人脸识别比赛如图8。
4.2CCADouble
这部分展示的是使用CCADouble算法的2D-3D面部识别的实验工作。该CCADouble方法是两次分别用CCA在二维和三维面部图像数据 - 如图9。在这种情况下,一个2D-3D参考图像对是使用算法作为探针。来自2D-3D面部数据库的25个部位将会被挑做测试集。随机抽出的2D-3D人脸将会作为参考部分,这些2D-3D人脸是用向量X和XX代表的。接下来,每一对从测试集中剩余的2D-3D面部图像会被转化为相应的向量Yi和YYi。通过使用CCADouble算法会计算出在测试数据库中的参考对和每一个剩余对之间的典型相关系数。在每一个二维图像和三维图像之间的典型相关系数会各自计算出来,如图9所示。
CCADouble的输出是一对典型相关系数R2D和R3D。个别部分的典型相关(即2D-2D之间的平均相关性图像和3D-3D图像之间的相关性)是基于所述数学方程最后得分,其中R2D和R3D取值是区间[-1,1]:
(7)
图9.针对于2D-3D人脸识别的CCADouble算法原理
因此,以识别相关的2D-3D图像对为目的,采取所得到的相关系数的得分。有最大程度的典型相关系数的2D-3D图像对被分类为正确验证的2D-3D图像对。下一步,在面部数据库里的部位数量增加到50,75和115,而且会再一次的对每一个值执行识别操作。所有的2D-3D识别实验结果显示在图表1中。
5. 实验和结果
在这部分中,我们评价了提出的2D-3D人脸识别算法的性能,并在MATLAB环境下对提出的方法做运行。
5.1面部数据集
此项实验是在德克萨斯州的人脸数据库中进行实验的,这是在德州奥斯汀大学实验室开发的图像和视频工程。德克萨斯人脸数据库包括115个人脸的2D人脸图像和3D人脸数据。这些图像的像素大小是751*501。在Z维度下的每一个值被表示在8位的格式里,其中将最高值255分配给鼻尖和0分配给背景。脸部就有了中立和表现性的模式。图10给出了一些来自德克萨斯州的脸部图像的例子。
5.2实验部分
首先测试针对2D-3D面部识别所提出来的CCADouble算法。选择2D面部图像作为探针,3D图像作为测试图像。基于CCADouble算法的2D-3D面部识别程序已在4.2部分解释,图9表示的是过程。人脸识别程序与之前基于普通的CCA方法的实验有一定的相似性,但不同点在于使用了2D-3D人脸识别核算法。输入的2D脸部图像作为参考,并用向量X来表示。接着,来自测试集(25个部位)的3D人脸图像将会被转化成相关的向量Yi。通过使用在测试集中的2D参考图像和3D人脸图像的CCADouble算法,相关系数会被计算出来。最终,结果系数将会将会存储在向量RK = (r1, r2,...,ri)
里,其中会选出最高值的的典型相关系数,它代表一个与
参考的二维面部图像相关联的三维人脸图像。
图10.来自德克萨斯州数据库的人脸图像
在我们实验的第二部分,提出的针对2D-3D面部识别的CCA-PCA方法被应用到了德克萨斯州的脸数据库中去了。第三部的已经解释了传统的CCA算法。这里,二维脸部图像已经被用来当做探针,三维脸部数据会形成一个测试的数据库。来自德克萨斯州的脸数据库的前25个部位已经构成了测试集。向量X代表的一个任意的二维脸部图像会被挑做参考。接下来,来自测试集的每一个三维脸部图像会被转化成相关的Yi向量。典型相关系数Yi用参考二维图像和每个三维人脸图像之间的CCA算法进行计算。该CCA算法的输出是一对方向ωx和ωy,有助于
最大化两个人脸图像和典型相关系数γ之间的相关性(γ会从ωx和ωy的方向计算出来)。如果相关系数达到1或-1的值,那么脸是相同的。正确的2D-3D面部识别匹配图示例在图11中给出。
图11.基于普通CCA的正确2D-3D人脸识别
图表1显示的是在测试集中的不同数量部位的全部测试结果。
图12.不同数量的人脸识别成功图
表1.不同数量部位的面部识别比率
基于CCA方法提出的不同的测试算法,我们比较了在德克萨斯州的人脸数据库中获得的面部识别的结果。在表1和图12中我们能看出,使用所提出的2D-3D面部识别方法和CCA-PCA融合算法能得到最佳的脸部匹配。基于其他方法(常规CCA方法和KCCA方法)的2D-3D面部识别仅仅对小的数据集可得出比较性的识别率。对那些在测试集中输入的更大的2D-3D测试图像,识别率相比于提出的CCA-PCA和CCADouble算法会降的更低(35-45%以上),用CCA-PCA和CCADouble算法,在德克萨斯州数据库中获得的识别率在80%以上,其中只有3到4个部位在各自利用CCA-PCA和CCADouble算法时出现了错误。所提出的CCA基于算法的性能是非常令人满意的,并适用于未来的工作。
6. 结论
这篇文章呈现的是使用CCA和KCCA的不同2D-3D面部识别算法和一个基于CCA-PCA融合的新提出的方法。该CCA和KCCA是流行的,强大的,多变量分析法和特征提取技术,并广泛应用于人脸识别。我们已经推出了强大的2D-3D图像技术,这已被用来评估TEXAS人脸数据库。为得到更好的性能,我们提出了对2D-3D人脸识别的CCA方法的变化。基于常规CCA和KCCA的方法获得了相对低水平的脸部识别。另一方面,CCADouble和CCA-PCA融合获得了相对较高的的识别率。这些方法在图像处理和2D-3D
脸部识别当中都很有用,因为在识别处理中只需要少数矩阵乘法。
用我们提出CCA-PCA方法的识别率非常令人满意,因此适用于今后的工作。此外,在未来则它可能与其它方法组合,从而就鲁棒性和准确性而言会有更大的提高。
7.致谢
此项工作受到了斯洛伐克科技项目资助局的支持,项目编号1/0705/13。“对语义图像描述的图像元素分类”和“肿瘤疾病疗法和诊断领域发展研究中心”ITMS:[1**********],由欧盟和欧洲区域发展基金共同出资。