近年来生物特征识别技术取得了迅速的发展,而具有唯一性的生物特征识别技术得到了更多人的青睐。人脸识别是根据人的脸部特征进行身份识别的生物识别技术。人脸与指纹、视网膜、虹膜等相比,具有非接触、直接、友好等优点,而且通过对人脸的表情姿态分析,还可以获得其他生物特征识别技术无法获得的一些信息。过去的几十年里,已经提出了很多经典的人脸识别方法,例如神经网络[1]、支持向量机SVM(Support Vector Machine)[2]、线性判别分析法LDA(Linear Discriminate Analysis)[3]、渐近解方法(Asymptopic solution)[4]和稀疏表示(Sparse Representation)[5]等。
本文提出了一种基于自适应对数变换和主成分分析的新算法。该算法可以对人脸数据库中由于光照条件引起的图像过亮或者过暗起到很好的补偿作用,并且能提高人脸识别的识别率。
1 对数变换
人视觉感受的光照亮度是眼睛入射光强的对数函数。因此,经过对数变换后的图像让人感觉柔和,比较符合人的视觉特点。
对数变换的优点是扩展低灰度的图像和压缩高灰度的图像,增强了图像的对比度,可以对光照不足的图像起很好的补偿作用;对数变换的缺点是对过亮高光的图像没有补偿效果,甚至会产生漂白现象。参考文献[6]提出了一种复合变换方法来克服图像漂白现象,但复合变换会压缩图像的中间阶灰度像素的信息量,造成人脸信息的丢失,对人脸识别有不利影响。
人脸数据库中同时包括过亮区域和过暗区域的图像很少。通常可以把图像简单地分为过暗图像和过亮图像。对过暗图像采用对数变换进行光照补偿,对过亮图像采用反对数变换进行光照补偿,如式(1)所示。对过亮图像采用反对数变换和过暗图像采用对数变换,都是为了考虑人的视觉感受。
式中,a一般取图像的最小灰度值,b一般取图像的最大灰度值。
过暗图像和过亮图像可以使用式(1)进行光照补偿。但由于光照条件对图像的影响不一样,所以对图像光照补偿的程度也不一样,而式(1)对所有图像的补偿程度是一样的,这样会将图像的一些特征信息丢失掉,造成人脸识别率降低。为了克服这一缺陷,本文提出了一种自适应对数变换方法,可以对人脸图像进行不同程度的光照补偿。
2 自适应对数变换
本文提出的自适应对数变换技术主要是通过增加对数函数平移系数来控制图像光照补偿的程度,进而控制图像在标准光照范围之内。
2.1对数函数的平移
为了更加精确地控制光照补偿的程度,本文将对数函数平移系数d引入到式(1)中,计算公式如下:
式(2)为自适应对数变换光照补偿公式,对于不同的图像d取不同的值,光照问题比较严重的图像d取较小值,此时图像的光照补偿幅度也比较大;光照问题不是很严重的图像d取较大值,此时图像的光照补偿幅度就比较小。
2.2 函数平移系数d的计算
为求式(2)中的对数函数平移系数d,首先要对光照标准进行定义。由于光照问题复杂多样,目前还没有一个计算标准,定义充分考虑真实系统的实际情况和人的视觉心理,将标准光照定义为一个范围,所以选择标准光照的定义更具有科学性。
定义:假设图像平均灰度值为M,图像灰度取值范围是[0,255],当平均灰度值M<103时被认为图像过暗,当平均灰度值M>167时被认为图像过亮,当平均灰度值M在[103,167]范围之内则被认为是标准光照图像。
根据定义可知,d>-1, 先设d初值为d=0且d是整数。
对数函数平移系数d的算法如下:
(1)计算图像的平均灰度值M(利用Matlab中函数mean2())。
(2)初始化d=0(d的取值范围为d>-1)。
(3)将图像经过式(2)变换生成新图像g(x,y)。
(4)根据新生成的图像计算变换后的平均灰度值M,如果M在标准光照图像灰度范围内,则计算结束。
(5)根据M值调整d值,重复步骤(3)~(5)。
3 主成分分析(PCA)算法
主成分分析PCA(Principal Component Analysis)[7]是提取图像面部特征用于人脸识别,它来源于通信理论中的K-L变换技术。本文利用PCA算法对人脸库中的图像进行特征提取和降维处理。首先对所有样本取平均值m,利用样本均值求样本集X所对应的协方差矩阵St;然后求协方差矩阵St的特征值λ,并取特征值中k个最大的特征值;最后计算出这k个特征所对应的特征向量ω1,ω2,ωk,这k个特征向量组成的矩阵W=[ω1,ω2,ωk]为主成分矩阵。该过程的具体步骤如下:
对于d维空间中的n个样本x1,x2,…,xn,将这n个样本表示成矩阵的形式X=[x1,x2,…,xn],求此矩阵的平均向量:
可以得到一个新的n维变量y,
。y就称为x在这组数据下经PCA变换后的结果,也就是变量x向w所对应的一组基进行投影,得到一组投影系数y。
4 最近邻分类器
最近邻分类器NN(Nearest Neighbor)[8]是一种以样本在特征空间的距离为分类准则的分类器。在运用PCA算法分别得到测试样本和训练样本的特征信息后,本文利用最近邻分类器进行分类识别。
假定有c个类别ω1,ω2,…,ωc的模式识别问题,每类有标明类别的样本Ni(i=1,2,…,c)个,可以规定ωi类的判别函数为:
5 仿真及算法过程
5.1仿真环境
实验利用Matlab编程实现,使用ORL和Yale人脸库作为数据集。ORL人脸库共有400幅人脸图像(40人,每人10幅,大小为112像素×92像素);Yale人脸库中共有165幅人脸图像(15人,每人11幅,大小为137像素×147像素)。
5.2 算法过程
(1)图像预处理
首先将人脸库中的图像分成训练集和测试集,并对这些图像进行预处理,本文采用的预处理办法是自适应对数变换。由于人脸库中的图像受光照条件的影响,使得人脸图像会出现光照过亮或者过暗的情况,导致识别率大幅度下降,所以对人脸图像进行光照补偿非常必要。采用自适应对数变换的目的是去除光照条件对图像的影响, 更好地突出人脸的特征,提高人脸的识别率。图1和图2为原图和经过自适应对数变换处理后的图像。
(2)PCA算法提取人脸特征
利用PCA算法去除像素之间的相关性,并对人脸图像进行特征降维处理。将人脸面部特征信息在低维空间中很好地表示出来。
(3)通过最近邻分类器进行识别
利用最近邻分类器,根据测样本投影特征矩阵与所有训练样本投影特征矩阵之间的最小距离来判断测试样本所属的类别。
算法流程图如图3所示。
(4)实验结果
本文提出了一种基于自适应对数变换和PCA算法的人脸识别算法,为了检验该算法的识别率高于PCA算法,利用Matlab软件在ORL人脸库和Yale人脸库中分别进行了验证。在实验过程中,将人脸库中图像分成训练图像、测试图像两部分。从人脸库图像中抽取1~9张图像作为样本训练图像,并对本文提出的算法和PCA算法分别计算人脸图像的识别率。计算结果如表1和图4所示。
5.3实验结果分析
(1)图像经过自适应对数变换可以增强人脸图像的特征,提高人脸的识别率。
(2)人脸库图像中的图片偏离图像平均灰度值M的标准区间(103<M<167)越大,图像需要得到的补偿就越大;相反则图像需要得到的补偿就越小。
(3)从图4中可以得出随着样本训练数的增加,算法的识别率呈现上升的趋势,但不是样本训练数越大识别率就越高。
本文结合自适应对数变换、PCA算法与最近邻分类器的特点,提出了一种基于自适应对数变换和PCA 算法的人脸识别的方法。在ORL和Yale人脸数据库上进行了实验,并对实验结果进行分析,结果表明,该方法能对人脸库中由于光照条件引起的图像过亮或者过暗起到很好的补偿作用,使得人脸图像更加清晰,提高了人脸识别的识别率。在下一步研究中可以考虑人脸图像表情变化或者人脸某些部位被遮挡时对人脸识别带来哪些影响。
参考文献
[1] 阮秋琦.数字图像处理学(第二版)[M]. 北京:电子工业出版社,2007.
[2] 谢赛琴,沈福明,邱雪娜.基于支持向量机的人脸识别方法[J].计算机工程,2009,35(16):186-188.
[3] 张健,肖迪.基于多尺度自适应LDA的人脸识别方法[J].计算机工程与设计,2012,33(1):332-335.
[4] 石兰芳, 姚静荪, 温朝晖,等. 扰动激光脉冲放大器增益通量系统的渐近解法[J]. 南开大学学报, 2012,45(5):
19-23.
[5] WRIGHT J, GANESH A, YANG A,et al. Robust face recognition via sparse representation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009,31(2):210-227.
[6] 郑庆, 闵帆, 陈雷霆. 基于复合变换的人脸光照补偿方案[J].计算机应用研究, 2008,25(2):507-508.
[7] 张铮,王艳平,薛桂香.数字图像处理与机器视觉[M].北京:人民邮电出版社,2010.
[8] 边肇祺, 张学工. 模式识别(第二版)[M].北京:清华大学出版社, 2000.