专利名称:一种具有光照鲁棒性的人脸特征提取方法
技术领域:
本发明涉及生物特征自动识别技术,特别涉及一种在光照变化条件下进行人脸识别的特征提取方法。
背景技术:
近年来随着生物特征识别技术的长足发展,人脸识别技术越来越受到研究者的关注。该技术在视频监控,人机交互,身份认证方面都有巨大的应用优势。目前对于在有控制条件下的人脸识别研究比较多,且取得的效果都比较好。但是在光照变化下,人脸识别的效果急剧下降,而该问题目前还未能有效地解决。通常对于光照条件下的人脸识别有如下几种处理方法 (1)对光照进行物理预处理 由于在物理上有很多数学模型可以描述光照的产生与变化,这样我们可以预先减少光照对后续识别的影响。在专利200510011647.5申请中,作者利用图像比技术来合成任意光照下的人脸图像以次实现人脸图像的光照归一化。在专利200480036270.2中,作者利用主动光源来获取人脸图像。通过该光源对被拍摄的人脸图像区域进行照射,而后使用电子图像采集装置获取相应图像。在”Illumination Invariant Face Recognition Using Near-Infrared Images”(Stan Z.Li et al,IEEE Transactions on PAMI,Vol.29,No.4,April 2007,pp.627-639.)一文中,也是采用装置来获取活动近红外图像以减少光照的影响。
(2)光照不变的特征提取 光照不变的人脸图像特征提取不需要先进行光照的预处理,该方法主要是采用某种对光照不敏感的算法而直接提取所需要的特征。一类方法是使用2.5D或3D模型来对人脸图像进行建摸,如“K.W.Bowyer,K.I.Chang,and P.J.Flynn,“A Survey of 3D and MultiModal 3D+2D Face Recognition,”(Proc.Int’1 Conf.Pattern Recognition,pp.358-361,Aug.2004.)该种方法可以描述人脸的几何形状,因此可以少受环境光照的影响。另外一类方法是基于二维人脸图像的,在文献“HyperBF Networks for Real Object Recognition,”(R.Brunelli et al Proc.IJCAI,pp.1,278-1,284,Sydney,Australia,1991.)中,作者使用边缘人脸图(edge map)来表示人脸。边缘信息代表着灰度图像表面色彩或方向的不连续地方,这种边缘对光照的变换不敏感。另外一种是使用Gabor滤波器(gabor filter)或者log gabor,心理学上的研究证明该滤波器与人眼对视觉信息的处理相仿,见文献“A Robust Method for Detecting Image Features with Application to Face Recognition and Motion Correspondence”,(B.Manjunath et al,ICPR B,pp.208-212,1992)。
上述二类对光照处理方法有各自的优缺点,对光照的物理预处理可以最大程度上减少光照对人脸的影响。但是寻找光照的产生、反射等模型比较复杂,另外对设备的要求比较高,比如说红外装置等,所以该方法不具有灵活性,而且成本也比较高。所以通常是采用第二类方法,但其中的3D算法复杂性比较高,还有处理的速度也比较慢,不符合实时应用要求。在实际应用比较普遍的还是基于二维图像的处理。
发明内容
本发明的目的是提供一种具有光照鲁棒性的人脸特征提取方法,该方法对不同光照条件下,尤其是较差光照条件下形成的人脸图像,均能有效提取出人脸识别所需要的特征,而且其处理速度快,能够满足实际应用要求。
本发明解决其技术问题,所采用的技术方案为一种具有光照鲁棒性的人脸特征提取方法,包括如下步骤 a、人脸图像的预处理对M行N列大小的原始二维人脸图像IP采用边缘检测算法提取人脸的轮廓特征,再对人脸轮廓图像进行二值化处理后,得到二值化后的大小为M行N列的人脸预处理图像I预P;或者将原始二维人脸图像IP应用离散傅立叶变换,进行只保留相位信息的重构得到二值化后的大小为M行N列的人脸预处理图像I预P。
b、分块将人脸预处理图像I预P,进行无重叠的均匀分块,得到
L为子块的总数,各子块IiP大小一致,为
行、
列。
c、方差投影熵对各子块IiP在行方向和列方向上分别应用方差投影公式,得到投影后的行向量值和列向量值,分别表示为和其中的
和
为各自的向量大小;而后分别计算子块IiP的行投影对数能量熵和列投影对数能量熵得到子块IiP对应的二个熵值[ENi1P,ENi2P],(i=1,2,3,...,L),所有子块IiP的熵值[ENi1P,ENi2P]构成全局人脸特征向量 d、特征数据库的建立对得到的n(n>1)幅M行N列大小的原始二维人脸图像Ip分别进行以上a~c步的操作,得到n个全局人脸特征向量IfeaP,P=1,2,3,...n,构建形成人脸特征数据库。
e、识别认证对于每一幅新的M行N列未知人脸图像I0,也进行以上a~c步的操作,得到该未知人脸图像的全局人脸特征向量Ifea0,将其与d步的人脸特征数据库中的人脸特征向量IfeaP,应用欧几里德距离进行逐个匹配,计算出该未知人脸图像I0与被匹配图像的距离值,将该未知人脸图像I0的类别标示为在特征库中最短距离的那幅人脸图像。
与现有技术相比,本发明的有益效果是 一、采用边缘检测算法提取的人脸轮廓特征,进行二值化后得到的预处理人脸图像,或者进行离散傅立叶变换相位重构后获得的预处理人脸图像,可以减少光照对后续特征提取的影响。实验也证明二值化的人脸轮廓特征、人脸图像的相位信息都具有一定的光照不敏感性。所以采用边缘检测算法提取的二值化人脸轮廓特征或只保留相位信息重构的人脸图像既简化了后续的计算与处理,也对于后续识别具有较好的效果,使其在差光照条件下也能有效提取识别特征。而方差投影是对图像灰度分布的一种刻画,因为人脸信息主要分布在行方向和列方向上,采用这二个方向的投影足以描述人脸的主要信息,因此其识别效果比较好;由于方差投影刻画的是图像内的方差信息,而方差信息可以直接反映光照在图像上的分布差异,能够有效地提取出各种光照条件下尤其是差光照条件下的图像光照差形成的识别信息。而积分投影是表示灰度的累积信息,会将光照差信息模糊或掩盖,提取效果差,计算数据量大,计算复杂。
并且,方差投影可以将二维图像降到二个一维向量,即行向量和列向量,这种降维有利于增加识别速度,与现有的基于二维算法的gabor小波或者loggabor小波相比,其计算也更加简单。
二、对数能量熵的计算熵是信息论中广泛使用的概念。本发明将熵与方差投影相结合,提出了方差投影熵的概念。当方差投影将二维变为一维后,我们进一步使用对数能量熵计算其行熵值和列熵值,把一维向量变为一个单独的值。这样我们的算法复杂性进一步降低。而且熵可以描述数据源中含有的丰富信息,使特征的表示更加紧凑而不失代表性。
总之,本发明采用边缘检测算法提取人脸的二值化轮廓特征,或进行离散傅立叶变换只保留相位信息重构的人脸图像等预处理,减少光照对后续特征提取的影响,并后续采用无重叠的均匀分块方差投影熵的分析计算方法,使得本发明对不同光照条件下,尤其是较差光照条件下形成的人脸图像,无需使用复杂的光照模型或成象设备,均能有效提取出人脸识别所需要的特征,而且其处理速度明显提高,具备实时处理能力,能更好地满足实际应用要求。
上述的a步中的边缘检测算法为Sobel边缘检测算法。
上述的a步中应用离散傅立叶变换,进行只保留相位信息的重构得到二值化后的人脸预处理图像I预P的具体做法是将原始二维人脸图像IP作离散傅立叶变换,得到其变换后的二维复数系数矩阵,其系数表示为A(x)=|A(x)|exp(i*φ(x)),其中|A(x)|表示该系数的模值,φ(x)是该系数的相位值;而后将|A(x)|赋予一个实数值1,保留相位信息不变,利用逆离散傅立叶变换AIDFT(x)=IDFT(A(x))得到重构后的人脸预处理图像I预P。
采用Sobel边缘检测算法提取人脸的二值化轮廓特征,或者采用傅立叶离散变换方式重构得到的人脸预处理图像,其计算简单,且有效地保留了对光照不敏感的二值化人脸轮廓特征或人脸相位信息,有利于其后续的识别。
上述d步中在得到n个全局人脸特征向量IfeaP,(P=1,2,3,...n)后,先用线性鉴别分析进行降维处理,得到降维后的n个全局人脸特征向量In-feaP,(P=1,2,3,...n);再构建形成人脸特征数据库;相应e步的欧几里德距离中的IfeaP也替换为In-feaP。
其中应用线性鉴别分析进行降维后构成的数据库,消除了冗余信息,一方面可以使数据量更少,计算也更简单,另一方面可以使数据的表示更加准确,识别效果更好。
下面结合附图和具体的实施方式对本发明作进一步的详细说明。
图1是本发明方法的步骤框图。
图2a是实施例一的未处理前的原始二维图像。
图2b是用实施例一的a步方法对图2a进行预处理后得到的预处理图像。
图2c是用实施例一的b步分块方法对图2b进行分块后得到的256个子块。
图3a是实施例的三未处理前的原始二维图像。
图3b是用实施例三的a步方法对图3a进行预处理后得到的预处理图像。
图3c是用实施例三的b步分块方法对图3b进行分块后得到的256个子块。
具体实施例方式 实施例一 图1示出,本发明的第一种具体实施方式
是基于离散傅立叶变换相位重构的光照鲁棒性人脸特征提取方法,包括如下的a~e步的操作 a步、人脸图像的预处理 对M行N列大小的原始二维人脸图像IP应用离散傅立叶变换,进行只保留相位信息的重构得到二值化后的大小为M行N列的人脸预处理图像I预P。其具体的作法如下 对M行N列大小的原始二维人脸图像IP作离散傅立叶变换,本例中M=N=128即对128行128列大小的原始二维人脸图像IP。其中的一维离散傅立叶变换的公式为, 其中的yi对应于一维向量中的元素,我们可以对二维图像分别进行行方向和列方向的离散傅立叶变换,得到其变换后的二维复数系数矩阵,其系数可以表示为 A(x)=|A(x)|exp(i*φ(x)),(2) 其中|A(x)|表示该系数的模值,φ(x)是该系数的相位值。而后将|A(x)|赋予一个实数值1,保留相位信息不变,利用逆离散傅立叶变换, 即得到重构后的二值化二维人脸相位图像I预P。
图2b即是用本例的以上方法,对图2a的原始二维图像进行预处理后得到的预处理图像。
b步、分块 将人脸预处理图像I预P,进行无重叠的均匀分块,得到
L为子块的总数,各子块IiP大小一致,为
行、
列。本例中L=256,各子块IiP的行数为行,列数为列,即
各子块IiP为8行和8列的图像块。
图2c就是用本例的以上分块方法对图2b进行分块后得到的256个子块。
分块的目的是减少光照,姿态,表情等变化对人脸图像的影响。
c步、方差投影熵 对各子块IiP在行方向和列方向上分别应用方差投影公式,得到投影后的行向量值和列向量值,分别表示为和其中的
和
为各自的向量大小;而后分别计算子块IiP的行对数能量熵和列对数能量熵得到子块IiP对应的二个熵值[ENi1P,ENi2P],(i=1,2,3,...,L),所有子块IiP的熵值[ENi1P,ENi2P]构成全局人脸特征向量 对各子块IiP在行方向和列方向上分别应用以上的方差投影公式,得到投影后的行向量值和列向量值行向量值和列向量值从水平和垂直两个方向描述了人脸图像在水平和垂直的灰度分布情况,可以用来刻画人脸区域的特征分布。对比积分投影,方差投影可以更有效地描述光照条件下的人脸特征。而后分别计算子块IiP的行对数能量熵和列对数能量熵得到子块IiP对应的二个熵值[ENi1P,ENi2P],(i=1,2,3,...,L),所有子块IiP的熵值[ENi1P,ENi2P]构成全局人脸特征向量更具体的操作为 对各子块Ii在行方向和列方向上分别应用方差投影公式, 其中 表示列方向上的平均积分投影 表示行方向上的平均积分投影 得到投影后的行向量值和列向量值,分别表示为v[j]=[V1,V2,...,V8]和U[i]=[U1,U2,...,U8]。这样通过投影操作后,原二维的人脸图像就可以用一维的二个向量来表示,这样维数也大大地降低,有利于后续的分类识别。
当得到列向量和行向量表示后,我们需要进一步对其计算对数熵。熵是一种复杂度的描述。同时也可以理解为其中元素的分布情况。我们这里利用熵的概念主要是为了进一步降低特征的维数,同时能保持较好的分类能力,甚至是提高其分类效果。而后应用对数能量熵公式来计算行熵值和列熵值,得到子块IiP对应的二个熵值[ENi1P,ENi2P],ENi1P表示行熵值,ENi2P表示列熵值。这样全局人脸特征就可以用来表示。
d步、特征数据库的建立 对一幅以上的n幅M行N列大小的原始二维人脸图像Ip分别进行以上a~c步的操作,得到n个全局人脸特征向量IfeaP,P=1,2,3,...n,构建形成人脸特征数据库; 对一幅以上的n幅M行N列大小的原始二维人脸图像Ip分别进行以上a~c步的操作,得到n个全局人脸特征向量IfeaP,P=1,2,3,...n,构建形成人脸特征数据库。
本例中n=39,也即39幅原始二维人脸图像IP进行处理,得到了39个全局人脸特征向量IfeaP构成的人脸特征数据库。
e步、识别认证 对于每一幅新的M行N列未知人脸图像I0,也进行以上a~c步的操作,得到该未知人脸图像的全局人脸特征向量Ifea0,将其与d步的人脸特征数据库中的人脸特征向量IfeaP,应用欧几里德距离进行逐个匹配,计算出该未知人脸图像I0与被匹配图像的距离值,将该未知人脸图像I0的类别标示为在特征库中最短距离的那幅人脸图像,此即本实施例进行人脸识别的结果。
实施例二 本例与实施例一基本相同,不同的仅仅是d步中在得到n个全局人脸特征向量IfeaP,(P=1,2,3,...n)后,先用线性鉴别分析(LDA)进行降维处理,得到降维后的n个全局人脸特征向量In-feaP,(P=1,2,3,...n),再构建形成人脸特征数据库;相应E步的欧几里德距离中的IfeaP也替换为In-feaP。其中,降维处理的具体做法为 在d步中在得到n个全局人脸特征向量IfeaP,(P=1,2,3,...n)后,将其组成一个大的二维矩阵,其列数就是对应的人脸特征向量数目即n,其行数为原人脸特征向量所含有的特征数目=512。其中来自同一个人的人脸特征向量是属于同一类的。
1,先计算类内散步矩阵Sw 其中xij表示第j个人中的第i个人脸样本(这里的人脸样本已转换成上面所求的全局人脸特征向量Ifeap),uj是第j个人中所有人脸样本的平均值,Nj是第j个人中的样本个数,即属于同一个人的照片数。
2,类间散步矩阵Sb 其中u表示所有人脸样本的平均值。
3,通过计算
使类间矩阵最大,类内矩阵最小。
4,计算Sw-1Sb的特征向量值所组成的特征空间W 5,将原来的人脸样本即全局人脸特征向量投影到该特征空间上去,得到降维后的n个全局人脸特征In-feaP,(P=1,2,3,...n)。
该向量In-feaP的维数要比原来的要少,且具有更好的表示性。
实施例三 本发明的第三种具体实施方式
是基于边缘信息的光照鲁棒性人脸特征提取方法,该种方式与实施例一基本相同,仅仅是a步人脸图像的预处理不同,其预处理方法是对M行N列大小的原始二维人脸图像IP采用边缘检测算法提取人脸的轮廓特征,再对人脸轮廓图像进行二值化处理,得到二值化后的大小为M行N列的人脸预处理图像I预p。本例对原始二维人脸图像IP采用sobel边缘检测算法,提取人脸的轮廓特征。其更具体的操作说明如下 一、人脸图像的预处理(提取边缘信息) 1.对M行N列大小的原始二维人脸图像IP应用sobel算子来检测边缘;本例同样选取M=128,N=128即128行128列的原始二维人脸图像IP进行处理。
其中sobel用来检测图像边缘是用两个方向的模板与邻域做卷积来实现。这两个方向模板一个用来检测垂直边缘
另一个用来检测水平边缘
而后将垂直和水平方向模板与二维人脸图像IP做卷积处理,其中的卷积方法为,设人脸图像的某一窗口为3行3列大小,
其中的模板用
而后的卷积过程是将对应的象素相乘,而后再除以对应模块大小9,再将所得的值赋给原图像窗口的中心值。接着是将模板移动到下一窗口,继续上述操作。用公式表述为 当完成整幅图像的卷积操作后,再对人脸轮廓图像进行二值化处理后得到二值化的人脸图像I预P。
图3b即是用本例的以上方法,对图3a的原始二维图像进行预处理后得到的预处理图像,再进行分块后即得到图3c的256的子块图像。
在进行边缘检测算法,取人脸的轮廓特征时,除了可用以上的sobel算子外,还可以采用其他算子,如canny,prewit算子进行边缘检测。
本例的b~e步的作法则与实施例一完全相同。
本发明方法的计算机仿真分析 用MATLAB软件对本发明实施例一、二、三的方法以及单纯的方差投影,离散傅立叶变换(DFT)+积分投影的识别方法行仿真分析。
仿真时选用较差光照条件下形成的人脸识别测试的专用数据库CMU-PIE数据库中的30个人共390幅人脸图像,其中每个人包括13幅不同光照角度的图片。每人选取其中3幅总共39幅正面光照角度的图像用于构建数据库;其余光照角度的人脸图像作为未知图像进行识别测试。
其中人脸图像通过插值转换后大小变为128*128,分块数目L为256,子块大小为8*8。
仿真结果见下表 不同识别方法对CMU-PIE数据库中的相同30个人的人脸识别效果比较表 从表中看出实施例一的识别率为89.67%,比离散傅立叶+积分投影熵的85.33%和方差投影的71%,效果都更好。实施例二在实施例一的基础上,应用线性鉴别分析(LDA)后,一幅图像的总特征数从512维降到50维,其识别率增加到91%,识别率进一步提高;实施例三的边缘检测方法,其效果最好,识别率达到94.67%。总之本发明方法对较差光照条件下形成的人脸图像,其识别效果好。
显然,本发明用于进行处理的原始二维人脸图像IP的大小,不局限于实施例的128行、128列,而可以是任意的M行、N列,分块的大小也不局限于实施例的8行、8列,而可以是任意的m行、n列,但兼顾处理速度和识别效果,原始二维人脸图像Ip的大小以64×64、128×128、256×256为宜,分块的大小则以8×8、16×16为宜。
权利要求
1.一种具有光照鲁棒性的人脸特征提取方法,包括如下步骤
a、人脸图像的预处理对M行N列大小的原始二维人脸图像IP采用边缘检测算法提取人脸的轮廓特征,再对人脸轮廓图像进行二值化处理,得到二值化后的大小为M行N列的人脸预处理图像I预P;或者将原始二维人脸图像IP应用离散傅立叶变换,进行只保留相位信息的重构得到二值化后的大小为M行N列的人脸预处理图像I预P;
b、分块将人脸预处理图像I预P,进行无重叠的均匀分块,得到
L为子块的总数,各子块IiP大小一致,为
行、
列;
c、方差投影熵对各子块Iip在行方向和列方向上分别应用方差投影公式,得到投影后的行向量值和列向量值,分别表示为和其中的
和
为各自的向量大小;而后分别计算子块Iip的行对数能量熵和列对数能量熵得到子块IiP对应的二个熵值[ENi1P,ENi2P],(i=1,2,3,...,L),所有子块IiP的熵值[ENi1P,ENi2P]构成全局人脸特征向量
d、特征数据库的建立对得到的n(n>1)幅M行N列大小的原始二维人脸图像IP分别进行以上a~c步的操作,得到n个全局人脸特征向量IfeaP,P=1,2,3...n,构建形成人脸特征数据库;
e、识别认证对于每一幅新的M行N列未知人脸图像I0,也进行以上a~c步的操作,得到该未知人脸图像的全局人脸特征向量Ifea0,将其与d步的人脸特征数据库中的人脸特征向量IfeaP,应用欧几里德距离进行逐个匹配,计算出该未知人脸图像I0与被匹配图像的距离值,将该未知人脸图像I0的类别标示为在特征库中最短距离的那幅人脸图像。
2.根据权利要求1所述的一种具有光照鲁棒性的人脸特征提取方法,其特征在于,所述的a步中的边缘检测算法为Sobel边缘检测算法。
3.根据权利要求1所述的一种具有光照鲁棒性的人脸特征提取方法,其特征在于,所述的a步中应用离散傅立叶变换,进行只保留相位信息的重构得到二值化后的人脸预处理图像I预P的具体做法是将原始二维人脸图像IP作离散傅立叶变换,得到其变换后的二维复数系数矩阵,其系数表示为A(x)=|A(x)|exp(i*φ(x)),其中|A(x)|表示该系数的模值,φ(x)是该系数的相位值;而后将|A(x)|赋予一个实数值1,保留相位信息不变,利用逆离散傅立叶变换AIDFT(x)=IDFT(A(x))得到重构后的人脸预处理图像I预P。
4.根据权利要求1所述的一种具有光照鲁棒性的人脸特征提取方法,其特征在于,所述d步中在得到n个全局人脸特征向量IfeaP,(P=1,2,3,...n)后,先用线性鉴别分析进行降维处理,得到降维后的n个全局人脸特征向量In-feaP,(P=1,2,3...n);再构建形成人脸特征数据库;相应e步的欧几里德距离中的IfeaP也替换为In-feaP。
全文摘要
一种具有光照鲁棒性的人脸特征提取方法,其步骤为利用边缘检测或离散傅立叶变换对人脸图像进行预处理,将预处理后人脸图象进行无重叠的均匀分块后,计算每块的行、列方差投影熵,将提取出的每块行、列方差投影熵组合成人脸特征向量,构建多幅人脸图像的特征数据库。识别认证时,按相同的预处理、人脸特征向量提取方法,计算出待识别的人脸特征向量,并与特征数据库中的人脸图像特征向量逐一进行距离分类,得出识别结果。其优点是无需使用复杂的光照模型或成象设备;对光照具有较好的鲁棒性,对较差光照条件下形成的人脸图像,也能有效提取出人脸识别所需要的特征,识别率高;且处理速度快,具备实时处理能力。
文档编号G06K9/00GK101187975SQ200710050970
公开日2008年5月28日 申请日期2007年12月25日 优先权日2007年12月25日
发明者张家树, 陈存建 申请人:西南交通大学