基于PCA和LBP的自适应加权融合人脸识别算法
2019-01-12郭振铎徐庆伟
杨 艳, 郭振铎, 徐庆伟
(中原工学院 电子信息学院, 河南 郑州 450007)
人脸识别技术是生物特征识别领域的研究热点之一,近年来,随着模式识别和人工智能技术的发展,该技术受到诸多学者的关注[1]。一般来说,人脸识别的过程主要包括特征提取和识别两部分。人脸描述特征可以分为全局特征和局部特征两类,常用的全局特征提取方法为子空间法,包括主成分分析(PCA)[2]、线性判别分析(LDA)[3]和独立分量分析(ICA)[4]等。常用的局部特征提取方法有局部二值模式(LBP)[5]、方向梯度直方图(HOG)[6]及Gabor[7]特征等。全局特征侧重于反映人脸的整体变化,其识别技术对光照、姿态等因素较为敏感;与全局特征相比,局部特征则侧重于反映人脸细节的变化,对光照、姿态的变化较为鲁棒[8]。为提高识别效果,许多学者将不同特征进行融合,如苏煜等提出了采用傅里叶变换和Gabor小波变换方式将全局和局部特征进行集成的人脸识别方法[9],杨海燕等将改进的LBP和PCA特征进行融合实现人脸识别[10],均取得了较好的识别效果。
分类器对人脸识别有着重要影响。常用的几种分类器算法主要有最近邻算法(Nearest Neighbor, NN)、K近邻算法(K-Nearest Neighbor, KNN)、支持向量机算法(Support Vector Machine, SVM)及基于协同表示和正则化的最小二乘分类算法(CRC-RLS)等。NN算法和KNN算法是通过计算不同特征值之间的距离进行分类的,但当样本中存在噪声时,分类结果易受影响[11-12];SVM是一种有效的二分类有监督学习算法[13],对于多分类问题,需要将多个SVM分类器进行级联来实现,但是效果不够理想。近年来,稀疏表示方法在人脸识别领域得到了广泛应用,比较典型的算法有稀疏表示分类(SRC)[14]和CRC-RLS[15-16]等。其中CRC-RLS算法是将稀疏表示分类算法(SRC)中最小化L1范数约束转化为L2范数约束,并对分类准则进行改进,提高了运算速度。
为充分利用全局特征和局部特征的优点,提取更多的判别信息,进一步提高人脸识别的精度,本文提出了一种基于PCA和LBP特征的分数层加权融合的人脸识别方法。
1 特征提取相关算法
1.1 主成分分析(PCA)
基于主成分分析(PCA)进行特征提取的基本思想是通过K-L变换提取原始空间数据的主要特征,将高维人脸图像投影到低维特征子空间,使数据在一个低维的特征空间进行处理,这样在减少数据冗余的同时保持了原始数据的有效性。本文选择PCA算法中的特征向量作为全局特征,具体算法如下:
给定n维空间的人脸图像样本X=(x1,x2,…,xm)∈Rn×m,xi代表第i幅图像,m代表图像的个数,n代表人脸图像的维数。
首先对样本的所有数据进行中心化,即去均值化,公式如下:
(1)
然后,由式(1)得到矩阵A=(a1,a2,…,am),求人脸图像样本的协方差矩阵AAT,并对其进行特征值分解,可得
Λ=UT(AAT)U
(2)
其中,Λ为由特征值组成的对角阵,U为由特征向量组成的正交矩阵。特征值为λi(i=1,2,…,n),且λ1≥λ2≥…≥λn,特征向量为ui(i=1,2,…,n),即
(3)
最后选择由前d个较大的特征值所对应的特征向量组成的矩阵作为样本的投影矩阵,即
U*=(u1,u2,…,ud)
(4)
已知样本集X,将其投影到特征子空间上,得到d维特征向量,即
XPCA=(U*)TX
(5)
1.2 LBP特征
针对传统LBP特征提取算法存在的邻域大小固定,尺度不变等缺点,Ojala等对基本的LBP算子进行了改进,提出了基于圆形邻域的多尺度的纹理特征提取算法,将圆形邻域代替3×3正方形邻域。其特点是对光照不敏感,并可以较好地描述局部细节纹理。该算法的基本思想是将中心像素点的灰度值设为阈值,并结合双线性差值算法得到邻域点的值,通过将圆形邻域内的像素点阈值与中心像素阈值作比较,得到一组二进制码来表述局部纹理特征。LBP算子一般用LBPP,R来表示,其中R代表圆形区域的半径,P表示邻域内包含的像素个数。当P、R值不同时,LBP算子也不同。
对于任意的LBP算子,其编码公式为
(6)
其中,gc表示中心像素的灰度值,gp(p=0,1,…,P-1)表示圆形邻域上像素的灰度值,具体实现过程如图1所示。
图1 LBP编码计算示意图
经过LBP特征提取后,得到图像中每个像素点(x,y)对应的LBP编码值f(x,y),根据统计直方图思想,采用式(7)得到LBP的特征向量。图2所示为一幅图像的LBP编码及对应的直方图。
(7)
图2 LBP编码特征图及直方图
2 自适应加权融合识别算法
2.1 CRC-RLS分类算法
基于协同表示和正则化的最小二乘法(CRC-RLS)是在原有的稀疏表示算法基础上进行的改进,采用L2范数实现正则化,有效地提高了算法的计算效率。算法描述如下:
假设有归一化的人脸图像训练样本X=(X1,X2,…,XC),其中C为样本类别个数,Xi为第i类训练样本,即Xi=[xi,1,xi,2,…,xi,ni],ni为第i类训练样本的个数。测试样本y由所有的训练样本协同表示,据此构造如下优化模型:
(8)
式中,λ为正则化参数,ρ为协同表示系数。利用解析方法求得协同表示系数的最优解为
(9)
计算正则化协同表示误差:
(10)
利用协同表示误差进行分类,分类准则如下:
(11)
2.2 改进的加权融合算法
传统的CRC-RLS算法采用基于全局特征的PCA算法提取人脸特征,当人脸受到光照、表情及姿态等影响时,识别准确率下降较快。为提取更多的判别信息,提高识别率,本文结合全局特征PCA和局部特征LBP的优点,提出一种分数层的自适应加权融合策略。首先分别计算两种特征对应的协同表示误差,然后提出一种新的权重计算方法进行分数层的自适应加权融合,最后对融合结果进行分类识别。具体实现过程如下:
步骤1:特征提取。分别利用PCA和LBP方法对人脸训练样本集X和测试样本y进行特征提取,得到对应的特征向量XPCA、yPCA和统计直方图特征XLBP、yLBP。
步骤2:计算协同表示系数。利用CRC算法计算协同表示系数如下:
(12)
(13)
(14)
(15)
步骤4:自适应加权融合与识别。对协同表示误差进行归一化,归一化后的协同误差为rPCA和rLBP,然后采用加权融合策略实现人脸识别,具体分类准则如下:
(16)
式中,CCIPCA和CCILBP为加权融合系数。为提高识别效果,采用一种新的权重计算策略,即将SRC算法中的SCI(Sparsity Concentration Index)指标进行扩展,引入L2范数并提出CCI(Collaborative Concentration Index)指标来自适应计算融合权重系数,具体计算方法如下:
(17)
(18)
3 实验仿真与分析
3.1 实验人脸库
为验证本方法的有效性,选用ORL和Extended Yale B人脸库数据进行仿真。ORL人脸库诞生于英国剑桥Olivetti实验室,共有40个不同年龄、不同性别和不同种族的人的图像(每个人10幅共计400幅灰度图像),分辨率为92×112,采用黑色背景。图像中人脸的表情和细节均有变化(包含笑与不笑、眼睛睁着或闭着、佩戴或不佩戴眼镜等变化),人脸姿态也有变化,其中深度旋转和平面旋转最多可达20度,人脸尺寸也存在最多10%的变化。图3所示为ORL数据库中的部分人脸图像。
Extended Yale B人脸库全称为Yale人脸数据库B扩展库,包含38个人在64种不同光照条件下的人脸图像,共计2 432幅,每幅图像的分辨率为168×192,图4所示为Extended Yale B数据库中的部分人脸图像。
图3 ORL人脸库部分图像
图4 Extended Yale B人脸库部分图像
3.2 仿真分析
从ORL数据库每个类别中选择5个样本作为训练样本,构成训练集,其余样本构成测试集。对于Extended Yale B数据库,每一类选择32个样本构成训练集,其余样本构成测试集。
为了验证所提算法的有效性,分别利用ORL和Extended Yale B两种人脸数据库中的数据进行仿真实验。在本实验中,对比了4种方法在PCA特征提取维度不同情况下的识别效果,曲线图如图5所示。
从图5可以看出,当PCA特征维数不同时,与其他3种方法相比,本文算法的识别率有显著提高。特别是对于ORL数据库,当样本特征维数为60时,本文方法的识别率高达98%,较KNN算法提高了6.5%,当样本特征维度为150时,本文算法的识别率为97%,较KNN算法提高了7%。对于Extended Yale B人脸库,当样本特征维数为500时,本文方法的识别率达到99.1%,分别较NN、KNN和CRC-RLS算法提高了17.11%、17.19%和2.06%。
为测试本文算法与改进LBP的识别性能,对不同数据库提取LBP特征,结果如表1所示。
(a) ORL数据库识别效果
(b) Extended Yale B数据库识别效果图5 不同特征维数与识别效果的比较
表1 不同算法的识别率%
由表1可知,采用本文算法的识别率远高于单独采用基于LBP特征时不同分类方法的识别率。对于ORL数据库,本文算法较KNN算法提高了13.5%,较NN算法提高了7.5%。对于Extended Yale B数据库,本文算法识别率提高更加显著,较CRC-RLS算法提高了44.49%。
上述实验结果与分析表明,本文方法较传统算法对光照、姿态和表情变化具有更强的鲁棒性,可以有效提高人脸识别的效果,降低误识率。
4 结 语
针对光照、姿态和表情变化会对人脸识别效果产生影响的问题,本文提出了一种基于LBP和PCA特征的自适应加权融合人脸识别算法,即将两种特征分数层进行加权融合,采用一种基于L2范数的CCI指标自适应地计算融合权重。与传统的LBP和PCA算法相比,本文算法识别率得到了显著提高,达到了较好的识别效果。