发明内容
本发明的目的在于提供一种能够有效提取俯仰变化和左右摇摆变化情况下人脸的关键信息,使识别效果得到较大改善,提高了人脸识别系统的性能的一种基于人脸能量图的多姿态人脸识别方法。
本发明的目的是这样实现的:
基于人脸能量图的多姿态人脸识别方法包括下列步骤:
第一步,构建人脸能量图
根据人脸俯仰角度不同划分人脸的俯仰变化范围,结合俯仰变化范围并根据构建方式不同构建广义人脸能量图和狭义人脸能量图;
第二步,人脸能量图增强预处理
采用设定的均值和标准差取代原人脸能量图的均值和标准差,调整人脸能量图亮度和对比度的效果,提高分辨能力;
第三步,基于二维局部保持投影的二次特征提取
采用二维局部保持投影算法对人脸能量图执行二次特征提取,去除人脸能量图边缘部分仍存在一定的冗余信息,提取分类识别的关键信息。
所述的人脸能量图为对采集到的不同姿态的人脸图像叠加起来形成人脸能量图,人脸能量图没有周期性,是不同俯仰角度和不同摇摆角度的人脸姿态变化。可以直接作为多姿态人脸识别的特征。
所述的广义人脸能量图,指同一人在不同俯仰角度、不同左右摇摆角度下的一系列图像叠加求和后再求平均得到的均值图像,每1个人包含1幅广义人脸能量图像,
对于给定的多姿态灰度人脸图像Ij(x,y),广义人脸能量图的定义如(1)所示:
其中,M表示同一人的不同姿态图像总数,j代表第j幅变化图像,x,y代表二维图像平面坐标。
所述的狭义人脸能量图,指同一人在同一俯仰角度范围、不同左右摇摆角度下的一系列图像叠加求和再求平均得到的均值图像,将俯仰角度在[-50,50]之间的人脸图像定义为平视范围人脸图像,将[50,300]间的定义为仰视范围人脸图像,[-300,-50]之间的定义为俯视范围人脸图像,根据人脸俯仰角度范围不同每1个人包含3幅能量图像,分别为仰视能量图、平视能量图、俯视能量图,
给定多姿态灰度人脸图像Ij(x,y),狭义人脸能量图的定义如(2)所示:
其中,Mk代表同一俯仰角度范围、左右摇摆角度变化时图像的总数,k表示不同的俯仰角度范围,k=1表示仰视,k=2表示平视,k=3表示俯视,j表示第j个左右摇摆角度变化的图像,x,y代表二维图像平面坐标。
本发明的方法的主要特点是:为多姿态人脸识别提供了一种全新的思路,提出基于人脸能量图的多姿态人脸识别方法。人脸能量图融合了多幅人脸图像的综合信息,不仅能够很好的节省存储空间,降低计算的复杂度,而且能够弱化单帧图像中出现的噪声干扰。在人脸姿态发生大角度变化时,准确定位面部的特征点是困难的,此时人脸的轮廓信息对人脸识别起到更重要的作用,而人脸能量图蕴含了多种姿态下的人脸轮廓信息,所以对于大角度姿态变化的人脸识别,人脸能量图具有很大优势。
本发明的有益效果可以通过如下实验加以验证:
本发明实验所用人脸数据库为中国科学院计算机技术研究所CAS-PEAL-R1共享人脸图像数据库,其中总共包含30863幅人脸图像文件,这些图像文件可分为两个主要的子集:(1)正面人脸图像子集;(2)非正面人脸图像子集。本发明所研究的多姿态人脸识别正是基于此库中的非正面人脸图像子集,其中包括1040人的人脸图像,实验中选取其中50人的图像,每人包含有21种不同的姿态变化。这21种姿态变化是由三种俯仰变化(仰视、平视和俯视)和七种左右摇摆视角变化(从九个摄像头获取的图像中挑选)组合而成。图5中给出了人脸库中某人在俯视状态下发生七种视角变化时的图像。图6所示为针对库中的人脸图像进行人脸区域检测并进行归一化后的结果,所得人脸图像大小为230×270。
构建测试人脸库,首先从每人每种俯仰变化情况下的人脸中选取1幅,共3幅,然后从CAS-PEAL-R1正面子集库的Normal库中选取1幅人脸图像,这样总共4幅人脸图像用做测试图像,构建得到测试人脸库,共50×4=200幅测试图像。每人每种俯仰变化情况下剩余的50×18=900图像分别用于构建三种俯仰变化情况下的人脸能量图。图7所示为测试图像库中部分人脸图像。
实验1:人脸能量图直接作为特征的实验比较
为验证本发明的有效性,将人脸能量图作为多姿态人脸识别的初级特征直接用于分类识别,并与直接采用原图像进行识别的方法进行对比实验,实验中采用最近邻分类器。图9给出了实验结果。通过实验数据可知,直接基于狭义人脸能量图可到达72.5%的最优识别率,从识别时间看,狭义人脸能量图用于识别的实验中,计算能量图需要耗费时间为15.86秒,对于200幅测试图像将计算能量图的时间和识别时间综合到一起为245.66秒,而直接采用原图像用于识别则共需要1134秒,显然,采用人脸能量图的方法可大大减少系统的运行时间,提高系统的效率。另外,广义人脸能量图尽管更多的节省运算时间,但由于叠加图像数量较多,并且求均值后使得图像模糊的程度加剧,关键信息丢失严重,所以识别率有较大下降。
从距离分类器角度考虑,广义人脸能量图是用一个点代表一个类别的人(过分集中),但是当样本点在特征空间的分布散布程度较大时将导致对有些样本点错误分类。直接采用原图像用于分类识别,即每幅图像作为一个样本点,每个样本点都被视为所属类别的代表(过分分散),当图像中受到干扰因素的影响时,容易造成误分类。狭义人脸能量图则是按照一定的准则把属于同一个类别的人脸样本集合划分成三个具有一定“凝聚性”的子集,并用各个子集的平均样本作为该类别的标准样本代表,然后利用该标准样本集合借助于最近邻法最终完成分类工作。显然,狭义人脸能量图中每个人脸样本子集均采用了平均处理,很好的抑制了原始人脸图像样本集合中干扰因素的影响,同时由于减少了训练样本的个数,节省了一定的存储空间和计算时间。
实验2:结合二次特征提取的人脸能量图与其他方法的实验比较
本发明采用二维局部保持投影方法对狭义人脸能量图执行了进一步的特征提取,图10为识别结果。显然,基于人脸能量图和二维局部保持投影的方法具有优秀的识别效果。说明人脸能量图蕴含了多姿态人脸绝大部分的非线性信息,二维局部保持投影算法可以有效提取多姿态人脸变化中所蕴含的这些信息。
图11给出了本发明方法与其他几种典型的多姿态人脸识别方法的实验对比。LLR算法和人脸图像合成方法属于姿态校正方法,结果表明,旋转角度过大而导致无法定位到眼睛准确位置的情况,识别效果极差,两种方法的识别率在73%左右。基于Gabor小波变换的多姿态人脸识别,识别率达到80%,但由于Gabor变换扩充了样本,增加了数据量,识别速度较慢。基于局部保持投影算法(LPP)的多姿态人脸识别最优识别率为79.5%,综合考虑识别率和识别时间,该方法是较优秀的。本发明的识别率为72.5%,但这只是采用初级特征识别的结果,当考虑到多姿态人脸中的非线性信息,对狭义人脸能量图进行二次特征提取后,识别效果得到较大改善。
实验3:人脸能量图增强预处理对识别效果影响的实验比较
人脸能量图存在图像亮度和对比度差的问题,所以通过调整图像均值和标准差的方法对人脸能量图进行了图像增强预处理,均值和标准差的取值不同在一定程度上会影响特征提取和识别的效果,所以本发明进行了大量实验,通过实验数据对比选取了合理的参数取值。图8所示为不同均值和标准差对识别率的影响分析图。通过分析可知,对于局部保持投影和二维局部保持投影方法当均值取值范围在100~140之间,标准差取值在60~100之间时,识别效果最优秀。其中,二维局部保持投影方法在均值为130,标准差为70时,达到的最高识别率87.5%。本发明实验中所得最优识别率,分别是在相应的均值和标准差取值条件下达到。
具体实施方式
下面结合附图对本发明作进一步描述:
基于人脸能量图的多姿态人脸识别方法,首先需要从人脸数据库中读取多姿态人脸图像,并基于AdaBoost算法和手工分割方法对人脸图像进行人脸区域检测,然后基于人脸区域图像构建人脸能量图,再对人脸能量图进行图像增强处理,提高图像分辨力,最后通过二维局部保持投影方法对人脸能量图进行二次特征提取,去除冗余信息,通过最近邻分类完成人脸识别。
1、读取多姿态人脸图像与人脸区域检测
1.1、人脸姿态变化定义
结合图2,人脸在3维空间中的变化分别为沿X、Y、Z轴的平移和旋转,其中沿X轴的左右平移、沿Y轴的上下平移、沿Z轴的前后平移以及以Z轴为中心轴旋转某一角度引起的人脸图像倾斜都可以通过几何归一化的方法得到有效克服。但是对于人脸图像以X为中心轴旋转引起的上下俯仰变化、以Y轴为中心轴旋转引起的左右摇摆变化几何归一化也无法克服。本发明将人脸图像以X轴为中心轴旋转而引起的变化称为俯仰变化,按照旋转角度的不同可分为仰视、平视和俯视;人脸图像以Y轴为中心轴旋转带来的变化称为左右摇摆变化。
1.2、AdaBoost算法
给定样本图像集(x1,y1),…,(xn,yn),其中xi表示第i个训练样本图像,i=1…n,n为样本总个数,yi=0表示训练样本为非人脸、yi=1表示训练样本为人脸图像。
初始化权值:w
1,i表示第1次循环时第i个训练样本的权值,令
分别表示非人脸图像和人脸图像的初始权值,其中m,l分别表示非人脸图像和人脸图像的个数。
AdaBoost算法具体描述如下:
(1)权值归一化,
其中,wt,i表示第t次循环时第i个训练样本的权值,表示第t次循环中所有训练样本的权值求和。
对于每一个特征j,构造弱分类器hj,其中弱分类器是指存在一定分类错误率εj、分类能力相对较弱的分类器,然后在每个特征值分布的极大值和极小值间穷举搜索阈值参数θj,使得hj的错误率εj最小。定义εj=∑iwt,i|hj(xi)-yi|,弱分类器用hj(x)表示如下:
其中:h
j(x)为训练样本x的分类结果,p
j是方向指示符,
是从样本x中取到的第j个特征的特征值,θ
j是第j个特征对左右的判决阈值,而
表示样本x在坐标(m′,n′)处的像素值,
表示m′<m,n′<n时特征j的特征值;
(2)选择最小错误率εt=argminεj,其对应的最优弱分类器为ht(x);
(3)更新样本权重:
如果样本图像x
i被正确分类e
i=0,否则e
i=1,且
(4)最后输出强分类器
其中:
重复以上过程T次,t=1,…,T。
1.3、人脸区域检测
结合图5和图6,本发明需要首先从多姿态人脸库中读取具有俯仰变化和左右摇摆变化的多姿态人脸图像。然后通过AdaBoost算法和手工分割的方法获取有效的人脸区域。
Adaboost分类器是由多层弱分类器级联而成,由第一层分类器获得的正确结果触发第二层分类器,由第二层输出的正确结果触发第三层分类器,以此类推。相反,从任何一个层输出的被否定的结果都会导致的检测立即停止。通过设置每层的阈值,使得绝大多数人脸都能通过,非人脸不能通过,这样靠近级联分类器后端的层拒绝了大部分的非人脸。实验表明,对于双眼可见的人脸图像,AdaBoost算法可以有效地检测出人脸区域。
当人脸图像存在较大角度的倾斜时,采用AdaBoost算法将无法检测到有效的人脸图像。所以本发明针对部分无法自动检测到人脸区域的图像采用手工分割的方式实现了人脸区域的检测。在分割人脸区域图像的过程中需要遵守的原则是:首先要包含完整的人脸区域,同时需要保证所有分割出的人脸区域图像的眼睛处于同一水平位置。
1.4人脸区域图像尺寸归一化
在获得人脸区域图像后,需要对所有图像进行尺寸归一化。本发明中将人脸区域的尺寸统一归一化为230×270像素。图6和图7为检测出的人脸区域图像。
2、人脸能量图构建
本发明针对无法通过几何归一化方法进行校正的俯仰变化人脸图像和左右摇摆变化的人脸图像,借鉴步态识别中的步态能量图的思想提出了使用人脸能量图的解决方案。
步态能量图(GEI)是指通过加权平均的方法将一个周期内的步态图像合成一幅图像。它全面反映了一个周期内不同时刻步态的变化情况,而且具有对周期的准确性要求不高的优点。借鉴这一思想,本发明将不同姿态的人脸区域图像叠加起来形成人脸能量图,这样一张图像同样能够反映不同姿态的人脸变化情况。但与步态能量图不同,人脸能量图没有周期性,它表示的是不同俯仰角度和不同左右摇摆角度的人脸姿态变化。
2.1、狭义人脸能量图
以人脸的平视角度作为零度,人脸能够出现的最大俯仰角度为-450和600,一般情况下人脸的俯仰角分布在[-300,300]之间。本发明将俯仰角度在[-50,50]之间的人脸图像定义为平视范围人脸图像,将[50,300]间的定义为仰视范围人脸图像,[-300,-50]之间的定义为俯视范围人脸图像。根据俯仰角度范围不同,本发明提出狭义人脸能量图的概念,具体如下:
狭义人脸能量图(Narrow face energy image,NFEI):指同一人在同一俯仰角度范围、不同左右摇摆角度下的一系列图像叠加求和再求平均得到的均值图像,根据人脸俯仰角度范围不同每1个人包含3幅能量图像,分别为仰视能量图、平视能量图、俯视能量图。
给定多姿态灰度人脸图像Ij(x,y),狭义人脸能量图的计算公式如(1)所示:
其中,Mk代表同一俯仰角度范围、左右摇摆角度变化时图像的总数,k表示不同的俯仰角度范围(1表示仰视,2表示平视,3表示俯视),j表示第j个左右摇摆角度变化的图像,x,y代表二维图像平面坐标。
2.2、广义人脸能量图
本发明给出广义人脸能量图的概念,具体如下:
广义人脸能量图(Generalized face energy image,GFEI),指同一人在不同俯仰角度、不同左右摇摆角度下的一系列图像叠加求和后再求平均得到的均值图像,每1个人包含1幅广义能量图。
对于给定的多姿态灰度人脸图像Ij(x,y),广义人脸能量图的计算公式如(2)所示:
其中,M表示同一人的不同姿态图像总数,j代表第j幅变化图像,x,y代表二维图像平面坐标。
本发明采用中国科学院计算所构建的CAS-PEAL-R1人脸库的非正面人脸图像子集进行实验,共包括1040人的人脸图像,每人包含21种不同的姿态变化,并且只含有姿态变化。这21种姿态变化是由三种俯仰变化(仰视、平视和俯视)和七种左右摇摆变化(从九个摄像头获取的图像中挑选)组合而成。
结合图3,所示为某一人俯视、平视、仰视三种俯仰情况下发生七种左右摇摆变化时的图像及其对应的狭义人脸能量图和广义人脸能量图。
3、人脸能量图的增强处理
结合图3,人脸能量图边缘比较模糊,存在亮度差,对比度不明显的缺点,所以需要对人脸能量图进行增强处理,扩大相邻亮度值之间的差别,提高分辨能力,将感兴趣的特征有选择地突出,衰减不需要的特征,提高图像的可懂性。
由于改变图像均值能够改变图像整体亮度,改变图像的标准差可以增强感兴趣区域和背景之间的亮度差异。所以本发明采用给定的均值和标准差取代原图像的均值和标准差,从而达到调整原图像亮度和对比度的效果。图像增强的公式如(3)所示:
其中,F'是增强处理后的图像,F代表原图像,μ是原图像的均值,σ是原图像的标准差,μ'为给定的均值,σ'为给定的标准差。具体步骤如下:
3.1计算原人脸能量图像均值和标准差
假设原人脸能量图像大小为M×N,灰度值I(x,y),则首先需要计算其均值和标准差,公式如下:
3.2、通过实验确定最优的给定均值和标准差
结合图8,由于图像增强的效果对于二次特征提取获取特征的识别效果有一定影响,所以本发明结合二次特征提取过程分析了图像均值和标准差的最优取值规律,并最终获得最优的给定均值μ'和标准差的数值σ'。通过公式(3)可完成人脸能量图的增强处理。
结合图4,为人脸图像经增强处理之后的效果。增强处理前人脸能量图(a1)的均值和标准差为112、50;(a2)均值和标准差为118、46;(a3)的均值和标准差为115、42。本发明通过大量的对比实验得出三幅图像均值和标准差的最优取值分别为130、70。通过图4可以看出,增强处理后人脸区域的特征变得更加明显可分,为后续的特征提取和分类识别奠定很好的基础。
4、人脸能量图的二次特征提取
人脸能量图是多姿态人脸图像叠加获得的初级特征,可直接用于分类识别。但是由于人脸能量图中仍存在数据冗余,识别效果不佳,所以本发明采用二维局部保持投影对人脸能量图做二次特征提取。
二维局部保留投影(2DLPP)是基于图像矩阵的局部保留准则的算法,目标函数为:
其中,Yi、Yj分别为不同人脸能量图像矩阵Xi、Xj对应的投影特征矩阵;令W为权值矩阵,wij为其中的元素,人脸能量图像Xi为m×n的矩阵。目标函数修改如下:
其中,X=[X
1,…,X
M],M为所有训练样本个数,D为对角阵,其中的每一个元素D
ii=∑
jw
ij,L为拉普拉斯矩阵,L=D-W,I
n为n阶的单位矩阵,
表示克罗内克积。约束条件A≠0,最优化目标为:
采用拉格朗日乘子法对A求偏导,得广义特征方程:
A应为最小特征值对应的特征向量。选择前d个最小特征值对应的特征向量组成投影矩阵A=[A1,A2,…,Ad](d≤n),原始人脸能量图像矩阵Xi就被嵌入到低维空间中,即Yi=ATXi,这样可获得所有训练样本的低维特征Y=[Y1,Y2,…,YM]。
5、测试人脸的分类识别
5.1、测试人脸图像的人脸检测与特征提取
测试过程,首先需要从测试库中提取人脸图像,并基于AdaBoost算法对图像进行人脸区域检测,然后对大小为m×n,具有姿态变化的测试人脸区域图像样本X,执行二维局部保持投影降维处理:
Y=ATX (10)
其中,A是训练获得的投影矩阵,Y是m×d(d≤n)维的特征矩阵。
5.2、基于广义人脸能量图的分类识别
对于测试人脸X的低维特征矩阵Y可以直接与M类的训练样本降维得到的特征Y=[Y1,Y2,…,YM]进行比较,通过基于欧氏距离的最近邻分类法可获得测试人脸的类别结果。
5.3、基于狭义人脸能量图的分类识别
对于测试人脸X的低维特征矩阵Y可以直接与M类的训练样本降维得到的特征
行比较,通过基于欧氏距离的最近邻分类法,计算测试特征矩阵与训练样本特征矩阵的距离,如果Y与Y
i,j的最近,Y被属于第i类,完成测试人脸分类。