基于分块加权LBP技术的人脸识别算法
2018-05-22管灵霞杨会成
管灵霞,杨会成,鲁 春,童 英
(安徽工程大学电气工程学院,安徽 芜湖 241000)
引言
生物识别技术是指通过人类生物特征信息进行身份认证的一种高科技技术。通常利用计算机技术,结合光学、声学、生物传感器等技术原理工作。根据其进行身份认证的特征,一般分为两种类型:生理特征识别和行为特征识别。利用指纹特征、人脸特征、虹膜特征、掌纹特征等人体固有的生理特征进行身份认证的生物识别技术属于生理特征识别;利用声音特征、笔迹特征、步态特征等人体行为特征进行身份认证的识别技术属于行为特征识别。其中,人脸识别相对于其他生物识别技术的最大优势在于具有唯一不可复制性及识别过程隐秘性等特点,在近几年得到了飞速的发展。
当前,人脸识别技术已经成为国内外科研人员密切关注的热门课题,我国的人脸识别技术也逐渐成熟。近年来,人脸识别技术作为人工智能学科中发展最为快速的一个分支,已经出现在我们的生活中,比如:春节期间各大车站的刷脸验票系统、Face++技术为支付宝提供的刷脸登录系统、还有百度家的小度机器人等。
人脸识别技术最为关键的技术内容就是人脸特征信息的提取。根据人脸特征信息提取的范围,可分为基于全局人脸特征、基于局部人脸特征两种。人脸的全局特征信息,主要有肤色、轮廓、五官的分布情况等整体信息。而局部特征用来描述人脸细节,比如大嘴巴、高鼻梁、眯眯眼等和一些面部特殊标志,如痣、伤疤等。全局用于粗略匹配,局部用于精细匹配。基于全局人脸特征的方法主要有以下几种:主元分析PCA(Principal Component Analysis)[1]、线性判决分析 LDA(Linear Discrimi-nant Analysis)[2]、非负矩阵因子 NMF(Nonnegative Matrix Factorization)[3]。基于全局人脸特征识别技术虽然能从整体对人脸进行提取,可以很好地留下图像的纹理特征信息,但是这种方法对于光线条件和人脸姿态比较敏感。基于局部人脸特征的方法主要有以下几种方法:局部二值模式 LBP(Local Binary Pattern)[4]、局部特征分析LFA(Local Features Analysis)[5]、Gabor小波[6]等。基于局部人脸特征对光线条件、人脸形态和面部遮挡等变化具有更好的鲁棒性,所以局部特征提取方法近年来得到了较大发展,更多地运用在人脸识别方向上。
LBP是一种灰度范围内的纹理描述方式,有旋转不变性及灰度不变性等许多优点。芬兰奥卢大学的Ahonen等人1996年第一次在人脸识别领域运用LBP算子[7],把人脸图片划分为多个区域,一定程度上实现了混合人脸特征的技术,取得了较好的实验效果。之后,LBP在人脸识别领域的应用得到了研究人员广泛的关注[8-9],但还存在相当多的问题需要解决。
本文在基本LBP算法的基础上提出基于分块加权LBP技术的人脸识别算法[10-12],将人脸分为5×3子分块,根据人脸五官在人脸识别中的不同贡献度赋予不同的权重,并通过ORL和YALE两种人脸数据库实验这种算法的准确性。
1 LBP算法的基本原理
1.1 LBP算子
在模式识别领域和数字图像处理领域,LBP指的是局部二值模式[4],是一种用来描述图像特征信息的算子,且描述的是图像的局部纹理特征。LBP算子最开始是为了辅助图像局部对比度,并不是一个完整的特征描述算子,后来提升为一种有效的纹理描述算子,度量和提取图像局部的纹理信息,对光照具有不变性,是一种局部信息提取方法。
初始LBP算子定义在一个在3×3的矩形区域内,如图1所示,阈值是该区域中心像素的灰度值,依次把该中心像素周围8个像素的灰度值与其进行比较,若中心像素值小于等于周围像素值,则该周围像素点的位置被标记为1,若中心像素值大于周围像素值,则该周围像素点的位置被标记为0。按照这样的方式,这个3×3领域内的8个周围像素按照一定的顺序可以转换为一个8位的二进制无符号数,这个无符号数就是该区域的LBP值。
图1 原始LBP算子计算示意图
由于矩形区域不具有旋转不变性且3×3的区域有一定的局限性,Ojala[14]等人提出多分辨率LBP算子方法,将LBP算子定义在一个半径为R(R>0)的圆形区域内,有P(P>0)个邻域像素均匀分布在圆周上,如果周围像素的灰度值没有落在中心像素位置上,可以通过双线性插值法计算得出。则定义在圆形区域的LBP算子的计算公式如下:
其中,gc是该区域中心像素的灰度值,gi是该中心像素周围的第i个像素灰度值,P为采样点数,R为该圆形区域半径。图2为几种不同的LBP算子。
图2 几种LBP算子
1.2 旋转不变性LBP算子
当图片在发生旋转的时候,中心像素四周的周围像素位置也会发生变化,则LBP算子的值也会发生变化(除非全为1或全为0)。同时,由上文可知,当P的值越来越大的时候,LBP值的数目越来越多。比如,当P=5时,LBP值有25=32个;当P=10时,LBP值有210=1024个。Ojala等人在原始LBP算子的基础上提出了具有旋转不变性的LBP算子,通过不断旋转圆形邻域得到一系列初始定义的值,取其最小值作为该邻域的值[14-16]。计算公式定义为:
式中,ROR(x,i)是指二进制数值x绕着圆形区域依次右移i位,其中二进制数值x有P位。
1.3 旋转不变的均衡LBP算子
由上可知,当LBP值的数目变得庞大,采用包含LBP算子的统计直方图来描述人脸图像的时候,统计直方图的图像信息会过于分散,不能高效地描述图像。因此考虑降低LBP值的种类,只通过保留较少种类的LBP值信息有效描述图像。
在LBP算子的定义中,因为是二进制模式,所以只会包含0和1两种值,那么只会出现两种跳变,0到1或1到0。基于此,Ojala提出一种新的思想:如果一个局部二进制模式的循环二进制值跳变不超过2次时,称其为LBP算子的均衡模式(Uniform Pattern),如果跳变超过2次,定义为混合模式。比如,P=6时,000000和111111有零次跳变,001100有两次跳变,这3个值都是均匀模式;101001有四次跳变,是非均衡模式。均衡LBP算子的度量定义为U,满足U≤2的模式叫做均衡模式,定义如下:
其中gP=g0,表示旋转不变的均衡LBP算子。U值越大,说明图像的结构信息变化越大,越不均衡,跳变频率越高;U越小,结构越均衡,跳变频率越低。
经过上述的改进,对于参数 (P,R),原来的不同LBP二值模式的数量有2P种,现在减少到均衡模式有P+1种,其余所有的非均衡模式算为1种,则共有P+2种LBP二值模式。有效减弱了LBP值的种类,降低了LBP模式的维数,减少了噪声的影响。
2 基于分块加权LBP技术的人脸识别算法
2.1 分块加权LBP算法特征提取
实验发现,人脸的五官局部差异较大,使用旋转不变的均衡LBP算子的统计直方图来表达人脸的特征信息必然会有部分信息丢失。尤其当光照和人脸表情变化时,上述方法的识别率会显著降低。针对这个问题,提出分块 LBP算法[17]。
分块LBP算法,先把图像划分为不重叠的矩形区域,然后对得到的矩形分块进行特征分析,再将每个分块图像的直方图按照规律排列构成完整的直方图,这个完整直方图就是整个人脸图像的统计直方图,可以把它作为整个人脸的特征向量,如图3所示,将人脸分为5×3的子分块。这种改进的方法能高效地提取人脸图像的局部信息,提高光照和人脸表情变化时的识别效果[18-20]。
图3 分块LBP统计直方图生成过程
由于人脸各部分的特征值在人脸识别技术中的贡献值不同,尤其是五官所在区域,因此,为提高识别精度,需要对相应部分进行合理的权重分配。对于人脸识别贡献程度最大的部分,如鼻子、嘴巴所在区域权重设为3,对于人脸识别贡献程度较大的部分,如眼睛、眉毛所在区域权重设为2,对于人脸识别贡献程度较小的区域权重设为1,如图4所示。
图4 人脸信息的子分块权重
2.2 人脸特征匹配
常用的对比直方图相似性的方法有以下三种:
(1)直方图相交距离(Histogram intersection):
(2)Chi(χ2)统计法(Chi square statistic):
(3)对数似然统计法(Log-likelihood statistic):
本文选用Chi(χ2)统计法对比不同直方图之间的相似性,两个样本之间计算得到的χ2值越小,说明两个直方图越相似。计算选定训练样本的分块加权LBP算法的统计直方图χ2值,与计算的测试样本的分块加权LBP算法的统计直方图χ2值进行比较,通过最近邻分类器进行人脸识别。
3 实验与结论
3.1 实验仿真
本文中的PC实验环境为 Window7,实验平台为MATLAB7.0。
为了验证本文中提出的改进的LBP算法的性能,实验选取ORL和YALE人脸库,并比较在传统LBP算法、分块LBP算法和加权分块LBP算法三种不同算法下训练样本数不同情况下的识别准确率。
ORL人脸库共有40人,每人10幅图片,共包含400幅人脸图片,图片尺寸92×112,部分图片包含发型、表情等信息特征。YALE人脸库共有15个不同年龄、不同肤色的志愿者,每人11幅图片,共包含165幅人脸图片,图片尺寸100×100,多数包含不同表情、不同姿态的信息特征。
实验步骤如下:
(1)预处理。对人脸图像进行高斯滤波和直方图均衡化等一系列预处理。
(2)提取预处理后图像的LBP直方图特征,分别是传统LBP方法、5×3分块LBP方法、5×3分块加权LBP方法。
(3)将直方图融合成为识别特征。
(4)将训练图像与测试图像进行人脸特征匹配。
(5)通过最近邻分类器进行人脸识别。
从ORL人脸库和YALE人脸库每个志愿者的人脸图片中分别挑出1幅、3幅、5幅图片作为训练样本,剩下图片作为测试样本。
实验过程中发现,使用传统LBP人脸识别技术存在相对较多误识别情况,如图5所示。但是,在使用5×3分块加权LBP方法时,能正确进行人脸识别,如图6所示。但是,使用分块加权LBP方法也存在个别误识别情况,图7为在ORL人脸库中某个误识别结果。初步判断误识别原因为该测试图像受光照影响较大,图片亮度较低,为了验证这种猜测,对该照片进行一系列光照补偿处理,将光照补偿得到的测试图像再次进行人脸识别可得到如图8所示的实验结果,进一步论证了猜测结论。
图5 传统LBP人脸识别方法误识别结果
图6 5×3分块加权LBP方法的图像人脸识别结果
图7 ORL人脸库中的误识别结果
图8 图像进行光照补偿处理后的人脸识别结果
3.2 实验结论
在ORL数据库中不同算法的识别率见表1,在YALE数据库中不同算法的识别率见表2。
表1 ORL数据库中不同算法的识别率
表2 YALE数据库中不同算法的识别率
由表1和表2可得出以下结论:
(1)人脸识别实验中,训练的样本数目越大,人脸识别的准确率越高。
(2)图像是否分块能影响人脸识别准确率,分块LBP算法提取人脸信息特征的能力强于传统LBP算法。
(3)根据人脸五官在人脸识别中的不同贡献值给不同的子分块加权明显优于传统LBP算法和5×3分块LBP算法。该方法在ORL人脸数据库中识别率高达96.71%,在YALE人脸数据库中识别率可达95.83%。
4 结束语
本文提出了一种基于分块加权LBP技术的人脸识别算法。通过将人脸分为5×3子分块,根据人脸五官在人脸识别中的不同贡献度赋予不同的权重提取人脸信息特征。本文使用MATLAB软件进行仿真,通过在ORL和YALE两种人脸数据库中训练不同样本数,比较传统LBP方法、5×3分块LBP方法和5×3分块加权LBP方法的人脸识别准确率。实验证明分块加权LBP技术在人脸识别中可以有效提高识别准确率。
参考文献:
[1]LATA Y V.Impact of image resizing factor in face recognition system using PCA[J].Journal of Global Research in Computer Science,2011,2(4):161-166.
[2]ETENMAD K,CHELLAPPA R.Discriminant analysis for recognition of human face image[J].Journal of the Optical Society of America A,1997,14(8):1724-1733.
[3]LEE D D,SEUNG H S.Learning the parts of objects by non-negative matrix factorization[J].Nature,1999,401(6755):788-791.
[4]OJALA T,PIETIKAINEN M,HARWOOD D.A comparative study of texture measures with classification based on feature distributions[J].Pattern Recognition,1996,29(1):51-59.
[5]PENEV PS,ATICK JJ.Local feature analysis:a general statistical theory for object representation[J].Network Computation in Neural Systems,1996,7(3):477-500.
[6]DAUGMAN JG.Uncertainty relation for resolution in space,spatial frequency,and orientation optimized by two-dimensional visual cortical filters[J].Journal of the Optical Society of America A,1985,2(7):1160-1169.
[7]AHONEN T,HADID A,PIETIKAINEN M.Face description with local binary patterns:application to face recognition[J].IEEE Transactions on Pattern Analysis And Machine Intelligence,2006,28(12):2037-2041.
[8]张雯,王文伟.基于局部二值模式和深度学习的人脸识别[J].计算机应用,2015,35(5):1474-1478.
[9]牛连强,赵子天,张胜男.基于Gabor特征融合与LBP直方图的人脸表情特征提取方法[J].沈阳工业大学学报,2016,38(1):63-68.
[10]杨海燕,刘国栋.基于MB-LBP算子和 Multilinear PCA算法的人脸识别[J].计算机应用研究,2012,29(12):4733-4735.
[11]周汐,曹林.分块LBP的素描人脸识别[J].中国图象图形学报,2015,20(1):50-58.
[12]李春利,沈鲁娟.基于改进LBP算子的纹理图像分类方法[J].计算机工程与设计,2016,37(1):232-236.
[13]OJALA T,PIETIKAINEN M,MAENPAA T.Multiresolution gray scale and rotation invariant texture classification with local binary patterns[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2002,24(7):971-987.
[14]刘丽,谢毓湘,魏迎梅,等.局部二进制模式方法综述[J].中国图象图形学报,2014,19(12):1696-1720.
[15]郭婷婷,范铁生.基于改进型局部二值模式的人脸识别方法研究[J].数字技术与应用,2013(12):71-72.
[16]郭贺飞,陆建峰,董忠汶.一种基于改进LBP特征的人脸识别[J].现代电子技术,2015,38(4):98-101,105.
[17]GOTTUMUKKAL R,VASARI V K.An improved face recognition technique based on modular PCA approach[J].Pattern Recognition Letters,2004,25:429-436.
[18]张茹,薛凯,李玮晖,等.基于分块技术的改进 LPB人脸识别算法的研究[J].电脑知识与技术,2016,12(11):173-176.
[19]袁宝华,王欢,任明武.基于完整LBP特征的人脸识别[J].计算机应用研究,2012,29(4):1557-1559.
[20]李旭.基于分块加权局部二值模式的新生儿疼痛表情识别[D].南京:南京邮电大学,2014.