NSCT和CS-LBP的低分辨率人脸识别
2018-12-22孙万春张建勋郑集元陈虹伶朱佳宝
孙万春,张建勋,郑集元,陈虹伶,朱佳宝
(重庆理工大学 计算机科学与工程学院,重庆 400054)
0 引 言
目前,低分辨率人脸识别方法主要分为两个方向:①频域方法,计算简便、理论通俗易懂、快速进行并行处理。②空域方法,对图像进行模型分类。针对不同的类型运用不同算法进行处理,主要包括基于学习和模式识别、最大后验概率法(MAP)等。基于频域的方法,受限于平移运动和线性空间不变化约束,限制了其灵活性和应用范畴。基于空域的方法[1]能够对其通过先验知识的方法,具有一定的灵活性和运用场景,是目前研究热点方向。
李嘉頔等[2]对低分辨率图像进行分块后提取局部特征,利用加权PCA融合特征方法来提高人脸识别率,该方法并没有对图像中的重要特征进行单独提取,在低分辨率图像处理上识别率并不理想。文献[3]提出了一种基于图像进行超分辨率极限学习机的识别方法,通过构建超分辨率图像,并利用极限学习机的模型进行类别判断。杨威等[4]提出一种改进的稀疏表达分类方法,该方法仅仅针对低分辨率图像进行相适应的匹配系数关系调整,并不适用于任何场景。
本文提出了一种基于非下采样Contourlet变换(nonsubsampled Contourlet,NSCT)和CS-LBP(center-symmetric local binary pattern)的低分辨率人脸识别方法[5]。对采样到的低分辨率图像,首先通过NSCT对其进行滤波分解,借助CS-LBP在光照变换时受影响较小的优点[6],分块去提取经过已经得到的高低频图像信息,将得到的特征直方图级联起来,以获取较为完整的能表达人脸的向量直方图。针对最后分解得到图像维度过高的问题,使用主成分分析法(principal component analysis,PCA)进行降维,提高实时性。
1 基于NSCT的CS-LBP特征提取
1.1 非下采样Contourlet变换(NSCT)
图1 NSCT分解
经由NSCT分解输出的低频子带部分蕴含着图像中较多的能量信息,主要包含较多的大尺度背景图像内容,因此低频部分能对于目标背景对比有着很重要的参考性。而高频部分[10]则在细节上表现力较为出色,能用分解出来的系数较大的值表示图像中诸如轮廓和边缘界限这样的明显信息。如图2所示,展示了在二层条件分解下NSCT输出各阶段结果。
图2 NSCT分解框架
1.2 分块局部特征CS-LBP
LBP[11]提取图像特性算法是以度量纹理进行的,即局部二值模式,尤其对于发生旋转和灰度变换时对图像仍然具有稳定识别性。具体原理是以9个像素组成的九宫格来表示,依据中心像素及临近点来进行取值,其定义如式(1)所示
(1)
对于图像中心点其像素表示为MXc,Yc,其像素点亮度值为ic;CS-LBP[12]分块中心对称局部二进制模式表示如式(2)和式(3)所示,对于公式中的量化函数sx
(2)
(3)
对每一个邻域给定一个权值2p到sip-ic以得到其LBP值,此编码值是可以表达诸如幅度变化等局部模式信息的。对于MXc,Yc的8位邻域,共计28种表示,中心对称局部则只需计算59种。图3展示了MXc,Yc的CS-LBP局部特征提取的编码过程。
图3 CS-LBP编码
CS-LBP编码的特殊结构,使得其在对外界光照变换下能够具有较高的鲁棒性。利用CS-LBP这一特性可对NSCT分解出来的人脸特征进行直方图构造,其表示如下
(4)
设图3(b)代表它的3×3矩阵,以中心对称的局部采样参考,n=59。利用式(5)~式(7)可计算出59维度的向量Fi,j,图像采样的特征可表达为
Rk=r0,r1,…,rh
(5)
(6)
p=0,1,…,n-1
(7)
以Rk=r0,r1,…,rh表示低分辨率下图像按矩阵分割的子块定义特征信息,用LBP提取后级联,最后以Fi,j展示其结果向量,以级联每一个直方图向量得到完整的人脸特征直方图。而NSCT分解来的低频子带人脸特征,用图4表达其提取过程。
图4 低频子带图像级联提取
1.3 特征降维PCA
人脸进行分块提取特征[13],其特征直方图维数较高,特征的矢量矩阵运算复杂,实时监测性能较差。通过实验发现可以利用PCA降维来解决。PCA是经典矩阵降维方法,其原理是使用KL(karhunen-loeve)变换,将人脸特征从原来的多维通过映射到一个低维度上,保留特征不变情况下降低了运算量。将原来维度上的特征指标通过矩阵映射到一个较低维度上,达到降维。对于给定的一个特征直方图F(m,n)=X1,X2,…,Xm,其定义如下
(8)
以上公式中,Xi是特征矩阵,特征向量征集合F(m,n)中第i幅图像特征。Xi,j为Xi中的第j行向量。对于样本图像X1,X2,…,Xm,灰度图像的均列向量是
(9)
(10)
(11)
利用式(11)可表示任意维度下的特征级联直方图。
传统的PCA降维[14,15]最终得到的最佳重构矩阵,其实并不能够有效地区别出鉴别出人脸的矩阵特征。文献[16]通过实验论证人脸特征向量与外界的干扰因素有着密切联系。另外文献[17]提到,PCA分量的值受到外界光线亮度、人脸本身的表情,容貌改变等客观条件影响,特别是PCA中较大的特征值的变化最显著。
为了达到有效识别基础上提高识别率,本文对维矩阵加权了前3个分量
Z=[ω1Z1,ω2Z2,ω3Z3,…,Zi]
(12)
1.4 方法流程
结合1.1节、1.2节、1.3节所述,如图5所示,对本文方法流程进行简要概述。
图5 本文方法流程
低分辨率人脸特征提取方法如下:
(1)对低分辨率图像利用NSCT分解出人脸的高低频子带特征信息。
(2)本实验中,对图像数据分成8块,通过CS-LBP来提取这幅图的局部特征信息。
(3)对于级联直方图,通过加权PCA的方式对其进行降维。
为了方便实验数据的对比,本实验利用最近邻分类器来进行数据的对比工作。
2 实验结果与分析
NSCT对于图像的高低频子带信息分解过程的优劣主要依靠阈值参数λ的选择,因此如何选择λ,对本文的实验结果有非常大的影响。为了能够更好的对λ性能进行测试,本文采用公开的ORL数据集,对于不同的阈值参数选择其结果如图6所示。从图6中可知,阈值参数在一定范围内,其对识别率的影响呈现一定的低态走势。为了能够分解出较为理想的纹理特征,达到较好的实验效果,λ取值为0.019 97。
图6 NSCT阈值参数选取与识别率关系
为了验证本文基于NSCT的CS-LBP特征对低分辨率人脸识别的有效性,本实验采用了ORL数据集,并与(CS-LBP+PCA)[2]、(DTCWT+LBP)[18]两种不同的识别方法进行比较。
本实验中,基于ORL人脸数据集。分辨率大小均为92×112像素,由60个人、每个人9幅图,共计540幅图像构成。按照不同的姿态、光照、拍摄角度等干扰的优劣对每个人的9幅图分成3组测试集。
实验过程中,参考文献[19]的数据集标定方法,预先通过双眼标定,对每个训练集的人脸库分别进行平滑下采样至46×56像素和23×28像素。为了方便NSCT运算,将处理后的图像均上采样到原始分辨率92×112。表1~表3分别表示不同的数据集环境测试的实验结果。每组测试集均包含了每个人83种不同条件下的图像。实验数据结果见表1~表3。
表1 ORL 测试集1识别率/%
表2 ORL 测试集2识别率/%
表3 ORL 测试集3识别率/%
通过实验对比,本文算法的识别率均高于CS-LBP+PCA、DTCWT+LBP,对于文献[2]算法,仅仅对低分辨率图像进行了分块处理的方式来提取局部人脸的细节特征,在算法上并没有进行针对性优化。而文献[18]算法同本文算法相比均提取了高低频的图像特征信息,对边缘和轮廓提取的特征较好,所以在识别率相对于前者更加健壮。DTCWT通过利用传统小波变换的方式,能提取不同频率中的局部特性,更清晰的描述边缘特征等细节信息,而NSCT则通过分解不同尺度的高低频子带信息,分解系数中包含着更多的能量信息,并且对高维信息具有更好的稀疏表达能力。从表1~表3可以看出,随着姿态、光照干扰越来越大,本文算法相比文献[18]算法能够在细节特征上更具有鲁棒性,在更复杂的干扰条件下识别率更具有优势。
3 结束语
针对目前低分辨率人脸识别率较低,提出了一种基于NSCT和CS-LBP相结合的识别方法。在低分辨率人脸识别领域上采用NSCT的滤波分解来提取人脸高低频子带信息;其次鉴于对于光照条件下考虑到CS-LBP在局部特征表现上具有较好的鲁棒性,利用该特性进行人脸高低频子带信息提取工作,从而得到其级联特征;由于CS-LBP对于局部特征算子处理过程中会产生较高的特征维度问题,本实验通过采用PCA对其进行降维处理来解决实际效率问题。通过本文方法发现其应用在对低分辨率图像人脸识别率上具有较好的效果。此外,今后希望能够通过深度学习等方法进一步提高本文的识别率。