基于LTP和局部PCA的低分辨率人脸识别算法
2020-09-08卞加祁姚志均胡学龙陈舒涵
卞加祁, 姚志均, 胡学龙*, 陈舒涵
(扬州大学 a. 信息工程学院; b. 人工智能学院, 江苏 扬州 225127)
近年来, 监控摄像头的应用颇为广泛, 故人脸识别系统备受重视.由于摄像头常处于非可控状态, 光照变化和远距离等场景下拍摄得到的人脸图像一般分辨率较低.如何提高此类低分辨率人脸的识别准确率具有重要的现实意义.目前,低分辨率人脸识别方法主要有超分辨率重建[1-4]和稳健特征提取[5-8]等.Shi等[1]基于正则化模型构建“幻想人脸”; Zangeneh等[2]提出新的耦合映射方法, 采用深度卷积神经网络进行低分辨率人脸重建, 此类算法通过构建高低样本间的学习模型来预测高分辨率人脸图像, 仅侧重于人脸图像重建的质量,却未考虑识别性能. Pong等[3]基于局部线性回归算法预测高分辨率人脸Gabor特征; Shakeel等[4]通过基于稀疏编码的算法学习投影矩阵构建高分辨率人脸特征,该类算法侧重于特征重建, 以提高识别性能.超分辨率重建算法虽能较好地重建人脸图像质量或提高识别性能, 但其计算量大, 不利于实时应用.分辨率稳健特征提取则是在传统特征方法的基础上加以改进,以适应低分辨率下人脸识别的环境.李嘉頔等[5]将中心对称局部二值模式(center symmetric local binary pattern, CS-LBP)运用于低分辨率人脸识别, 有效解决了局部二值模式(local binary pattern, LBP)在低分辨率下识别率较低的问题; Yang等[6]采用更稳定的中心对称局部三值模式(center symmetric local ternary pattern, CS-LTP)进行低分辨率人脸识别, 进一步提高了识别准确率.然而, 当环境略受干扰时, 单一特征提取算法的识别率便会大幅下降, 其应用范围受到相应的限制, 故多特征融合人脸识别算法成为研究热点.Sun等[7]提出一种多尺度融合方法, 克服了单一特征人脸识别算法鲁棒性差的缺陷; 张一凡[8]提出完备局部二值模式(complete local binary pattern, CLBP)和局部三值模式(local ternary pattern, LTP)特征提取方式相融合的方法,增强了低分辨率人脸识别的鲁棒性.但当面对复杂的环境变化或人脸图像模糊时, 上述多特征融合人脸识别算法的准确率仍须提高.LTP继承了LBP纹理特征的主要优点且加强了对局部区域噪声的抗干扰性[9].局部主成分分析(principal component analysis, PCA)能够有效提取边缘主方向的分布信息,得到的轮廓结构稳定,有利于图像的特征提取[10].本文拟融合LTP和局部PCA算法进行低分辨率人脸识别,以期提高识别率和增强鲁棒性.
1 本文算法
1.1 LTP算子
设中心像素为pc, 自定义一个阈值t, 若邻域像素值m≥pc+t, 则可将原像素点量化为1, 并将LTP算子局部邻域关系记为S(m,pc,t),
(1)
LTP对人脸图像中每个像素的编码表示为
(2)
式中i为邻域像素个数.图1给出了阈值t=4时LTP算子的示意图.根据式(2), LTP的编码有3n种模式, 此时编码的复杂度大幅提升且灰度值超限.故为了简便, 现将LTP分为如图2所示的正负LBP通道.
1.2 局部PCA
利用邻域模板(如q×q的方形区域) 对人脸图像(x,y)处的像素Ix,y进行局部PCA构建.局部PCA的协方差矩阵
(3)
其中
(4)
(5)
(6)
计算协方差矩阵的特征值以构建特征值矩阵, 然后进一步提取人脸轮廓特征.求解协方差矩阵的特征值λ1,λ2:
(7)
(8)
由于环境干扰导致图像的边缘像素位置不确定,λ2将成为一个不稳定的数值, 一般舍弃λ2,仅保留λ1.为了方便统计人脸轮廓特征, 采用邻域模板质心像素的灰度值归一化[11]求特征值λ1, 归一化后的特征值所构成的人脸特征如图4所示.
本文算法流程如图5所示, 具体步骤如下:
1) 对低分辨率图像进行上采样,使其与训练图像的大小相同;
2) 分别提取经上采样处理后的人脸图像的LTP和局部PCA特征;
3) 将经上采样处理的人脸图像分割成8×8块的子区域, 统计各子区域中的正通道、负通道LTP和局部PCA的特征直方图, 分别记作FP_LTP,FN_LTP,FPCA;
4) 在各子区域内, 以形如[FP_LTP,FN_LTP,FPCA]的线性方式融合LTP和局部PCA的直方图特征;
5) 将融合后各子块的人脸特征首尾相连, 形成一个向量, 并将其作为最终的人脸特征;
6) 采用卡方距离[12]度量测试集和训练集的直方图相似度;
7) 利用最近邻分类器寻找最优的训练集进行人脸识别.
2 仿真实验
为了验证本文算法的有效性, 现与CS-LBP+WPCA[5]、CS-LTP[12]以及LTP+CLBP[8]算法进行低分辨率人脸识别对比分析.实验环境为Intel Core i7 CPU(2.2 GHz)、8 GB内存, Windows10操作系统, 编程平台为MATLAB 2017b.
对ORL和FERET两个公共数据集进行平滑下采样, 使之作为低分辨率人脸数据集.
ORL数据集上有40位志愿者,每位有10幅图像, 共400幅图像,因各图像拍摄时间不同, 故面部表情及光照条件存在差异.原始人脸的分辨率为112×92像素, 灰度级为256.随机抽取每位采集者6幅面部图像作为训练集, 其余图像作为测试集, 对训练集和测试集作6次平滑下采样,分辨率分别为8×7, 14×11, 20×15, 26×19, 32×23, 38×27像素.
FERET数据集上有200位志愿者,每位有7幅图像,共1 400幅图像,各图像的光照、表情及姿态变化明显差异.原始图像分辨率为80×80像素, 灰度级为256.随机抽取每位采集者6幅面部图像作为训练集, 其余作为测试集, 并对训练集和测试集作6次平滑下采样, 分辨率分别为11×11, 13×13, 15×15, 17×17, 19×19, 21×21像素.
为了计算方便, 将各自低分辨率人脸上采样到原数据集的分辨率.本文算法中LTP的阈值t设定为3.局部PCA中, 每个像素的邻域设定为3×3像素.在ORL和FERET数据集上的仿真结果如图6~7所示.由图6~7可知,本文算法在ORL数据集上不同分辨率下的识别率均高于其他3种算法,尤其在超低分辨率(8×7像素)下本文算法的识别率依然高达95%; 在FERET数据集上本文算法的识别率低于在ORL数据集上的结果,但仍高于其他几种算法的识别率,表明本文算法对环境具有更强的鲁棒性.