张敦凤, 高宁化, 王 姮, 冯兴华, 霍建文, 张 静
(西南科技大学 信息工程学院,四川 绵阳 621000)
人脸识别是一项基于人脸特征的生物特征识别技术,已广泛应用于机器视觉和模式识别领域。传统的局部二值模式(local binary pattern,LBP)特征提取方法难以适应光线和人脸表情变化带来的扰动,不能完整地表现出整张人脸的特征信息[1,2]。为解决上述问题[3~5],王燕等人[6]采用离散余弦变换(discrete cosine transform,DCT)的方法提取人脸图像的频域特征,对眼部和嘴部区域进行伸长的局部二值模式(elongated LBP,ELBP)特征提取,准确率达94.43 %和98.79 %。邓燕妮[7]等人提出一种高维局部二值模式(high dimensional LBP,HLBP)的方法提取人脸图像的局部特征和全局特征,并通过均匀K均值算法解决高维局部二值模式带来的维数过多问题,识别率达到98.67 %和96.5 %。Huang K K等人[8]提出一种融合多尺度LBP和Gabor变换的方法提取人脸特征,并在两种特征之间添加权重,在光照及表情变化的情况下,仍然有较高的识别率。上述改进方法大都集中在不同变换方法与LBP特征的融合,算法复杂度较高,计算量大,且存在特征维数过多而导致识别率下降的问题。
本文提出一种基于分块LBP和分块像素均值的人脸图像特征融合方法,在保证特征维数增加不大的情况下,明显提高了基于LBP方法的识别能力。
LBP是一种基于统计特征分析的、高效的纹理描述方法[9,10]。在此,采用改进的LBP方法,将LBP算子定义在一个半径为R的圆形区域内,有K个像素点均匀分布在圆周上,此时的LBP算子表示圆心像素点与圆周上像素点之间的关系,具有更优的旋转不变性,LBP值计算
(1)
由于人脸的不同部位,如眼睛、鼻子、嘴巴等特点不同,一张人脸图像只求取一次LBP值,必然会造成信息的丢失,鲁棒性较差,当人的表情和光照发生变化时,识别率会显著降低[11]。采用分块的办法,以人脸面部特征为依据,将人脸图像分为不同的子块,对每一块分别计算LBP值,得到统计直方图,然后将各个子块的统计直方图按顺序连接,用得到的整体LBP统计直方图表示人脸特征,如图1所示。
图1 分块LBP特征提取
分块的优点在于能充分发挥LBP提取局部特征的优势,显著提升人脸识别的准确率,理论上,分块越细,越能描述子块的细节信息,但随着分块数量的增加,LBP统计直方图的维数呈指数增长,大大增加了计算的时间复杂度,导致识别速度降低。另一方面,过细的分块会使得人脸图像过于稀疏而丢失统计特性,引发过拟合现象,降低识别率。针对上述问题,探究了人脸识别问题下的人脸图像最优分块方法,以平衡识别时间与识别准确率之间的矛盾,具体算法在实验分析中详细介绍。
为进一步丰富人脸特征,避免复杂的数学变换增加计算量,考虑到像素点的值作为构成图像的基本元素,是站在全局的角度对图像本身进行描述,能与LBP算子提取局部特征进行互补。因此,本文将人脸图像分为8×8,16×16,25×25的子块,提取每一块区域的像素均值特征,依次连接,形成统计直方图,记为行向量Feature A;然后将分块LBP特征直方图记为行向量Feature B,将两者以行向量张成的方式进行融合,融合得到新的特征行向量Feature C,以此来表征人脸图像,融合过程如图2所示。
图2 特征融合示意图
在整个特征融合过程中,由于LBP特征和均值特征在数值大小上存在较大的差异,为了能够更好地统一两种特征,对两种特征进行归一化处理,将所提取的特征向量映射到[0,1]之间
(2)
式中xi为当前特征值,xmax,xmin为当前特征向量x的最大值和最小值,xv为归一化后的特征值。
1)人脸图像预处理:对人脸图像进行直方图均衡化处理,在保障原本像素点大小关系不变的前提下减小像素值之间的差异,增强人脸图像局部特征。
2)LBP特征提取:将人脸图像分为不同的子块,利用LBP算子对每一个子块进行计算,得到LBP统计直方图,并将所有子块的统计直方图连接成一个特征向量,同时按式(2)进行归一化处理。
3)均值特征提取:将人脸图像分为不同的子块,计算每个子块的像素均值,然后将各子块的均值相连,形成均值向量,并按照式(2)方法做归一化处理,用归一化后的均值向量表征人脸图像的分块像素均值特征。
4)特征融合:将步骤(2)和步骤(3)提取出的两部分特征向量,利用1.2所阐述的方法进行特征融合。并在融合后的特征向量最后添加类别标签。
5)基于SVM的分类识别:将步骤(4)得到的特征向量作为样本,按比例分为训练样本和测试样本两部分,将训练样本作为输入,用SVM方法训练分类器[12~14],再将测试样本输入训练好的分类器中,由分类器给出预测的样本类别标签,再与实际类别标签进行对比,统计出识别准确率,具体方法在实验分析部分进行详细的叙述。
基于MATLAB和WEKA平台,依托YALE、ORL标准人脸数据库以及自建人脸库设计本文实验,三个数据库样本数量如表1所示。
其中,标准人脸库中的数据存在光照及表情变化不明显、背景干扰小、与实际应用环境差别较大等缺陷,自建人脸数据库针对上述几点进行了改进,合计采集20个人的人脸图像,每人20张图片,分别拍摄于寝室、操场、教室等不同地方,且大部分人脸图像的表情都不相同,下面以自建数据库中3张典型的人脸图像为例,其分块LBP特征提取过程如图3所示。
表1 YALE、ORL样本数量
图3 自建人脸图像分块LBP特征提取过程
可以看出:3张人脸图像表情和光线亮度都存在明显变化,反映在最终的LBP特征直方图中也存在明显区别,但每一块分块的LBP特征直方图增量趋势相似。图3结果为2×2分块LBP特征,维度为1 024维。
本文在分块LBP特征提取上,将人脸图像划分为2×2,4×4,6×6三种分块,在均值特征提取上,将人脸图像划分为8×8,16×16,25×25三种分块情况,单种特征或者两两特征组合,共设计了7组具有代表性的实验。同时为了确保实验数据的可信度,每一组实验采取了十折交叉验证的方法,将样本平均分为10份,每一次用其中的9份作为训练样本,1份作为测试样本,循环10次,每一次的识别率如图4所示,统计得到的平均识别率如表2所示。
图4 标准人脸库下的识别结果
方法特征维数YALU/%ORL /%自建人脸库/%LBP25666.0685.0074.50LBP2×2102483.6495.5082.75LBP4×4409685.3496.5085.75LBP6×6921684.2495.2586.00LBP2×2+均值8×8108886.6798.7591.25LBP2×2+均值16×16128089.7099.7594.50LBP2×2+均值25×25164995.1599.7596.25
从上述结果可以看出:只用LBP算子提取特征的时候,分块的方法能大幅度提高传统方法的识别率,但随着分块的增多,特征维数急剧增加,图像被分割得过于稀疏,反而丢失了一些统计特性,导致识别率有下降的趋势。在 4×4分块的情况下,YALU库上的识别率提高了19.28 %,ORL库上的识别率提高了11.5 %,且特征维度适中,当融合进25×25的均值特征后,在YALE和ORL上的识别准确率高达95.15 %和99.75 %,相比单一LBP特征,识别率提高了11.51 %和4.25 %。同时,特征维数仅仅增加了625维,证明了融合均值特征的方法在大大提高识别准确率的同时,也较好地控制了特征维数的增加。针对ORL标准人脸数据库,在2×2的分块模式下提取LBP特征,通过调用WEKA中的集成算法,比较了C4.5决策树、朴素贝叶斯、K近邻、PART决策、随机森林、以及SVM等6种算法的识别准确率,所有算法均采用WEKA默认参数,实验结果如表3所示。
表3 不同算法下的准确识别率 %
实验结果可以看出:LBP融合均值后的特征在6种方法下的识别准确率较分块LBP特征有很大提升,其中,随机森林方法提升了40%,进一步证明了本文所提特征融合方法有效性。另一方面,在同一种特征情况下,SVM的识别准确率高于其他5种方法,SVM在解决人脸识别问题上有着独特的优势。
实验证明:所提方法在YALE和ORL标准人脸库及自建人脸库上的识别准确率高达95.15 %,99.75 %和96.25 %。所提方法在提高识别准确率的同时,能较好地控制特征维数的增加。后续工作将考虑更多种方式的特征融合,并应用于复杂变化环境下的人脸识别。