2. 重庆邮电大学 信息无障碍与服务机器人工程技术研究中心, 重庆 400065
2. Research Center for Information Accessibility and Service Robot, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
作为模式识别领域最重要的研究方向之一,人脸识别技术正逐步应用于人们的日常生活中。随着人脸考勤、人脸门禁等应用的普及,人脸识别开始迈向新的领域[1]。特征提取是人脸识别系统中的重要步骤,好的人脸特征应同时满足简单性与有效性。人脸特征提取一般可以按照全局特征和局部特征来分类,常用的全局特征提取算法包括主成分分析法(Principal Component Analysis, PCA)[2-3]、独立分量分析法(Independent Component Analysis, ICA)[4]和离散余弦变换(Discrete Cosine Transform, DTC)[5]等。相比于全局特征,局部特征由于其对光照、姿态变化等影响有较强鲁棒性而得到了广泛应用,经典的局部特征提取算法主要有局部Gabor变换[6]、局部二值模式(Location Binary Pattern, LBP)[7]、局部方向模式(Location Direction Pattern, LDP)[8]等。局部方向模式LDP是Jabid等[9]在2010年首次提出的一种人脸表情特征提取方法。2012年,Jabid等在文献[10]中证实了LDP纹理提取算法在人脸识别领域也有着较好的表现。与LBP相比,LDP特征提取算法对光照变化及随机噪声不敏感,且可以得出较好的纹理提取结果。2014年,李杰等[11]对原始LDP算法的编码方向进行了归一化处理的改进,得到了较好的人脸识别结果。2016年,罗元[12]发现4方向的LDP特征足以作为人脸特征进行识别,在识别速率上有了很大提高。同年,Luo等[13]将LDP特征与全局特征PCA结合在一起作为人脸的特征描述,全局特征与局部特征的融合使识别率得到了显著提高。
目前为止,大多数基于LDP的人脸特征算法都采用固定的分块灰度直方图来描述其纹理信息,不能根据特定的人脸而自适应地提取特征。针对这一问题,本文提出了一种基于兴趣点定位的改进LDP算法,以兴趣点为中心建立LDP纹理提取窗口。兴趣点也可理解为特征点,其所在位置包含了人们最感兴趣的信息。兴趣点的一个重要特点是“可重复性”,即在不同图像中的相同场景具有相似的兴趣点分布结果。以人脸兴趣点提取为例,同一个人脸在不同的图像中可能会有位移、旋转、姿态偏转等状态变化,但兴趣点在该人脸上的分布应是相似的。利用兴趣点的这一特点,本文提出的改进LDP算法通过兴趣点自动地定位LDP特征提取窗口,弥补了固定窗口提取特征不能很好地适应图像中人脸的位置改变、姿态偏转等情况而导致提取效率较低的缺点。本文算法在Yale人脸库及FERET数据库上进行实验,结果表明,本文算法在识别率与稳定性上明显优于LDP算法。
1 局部方向模式(LDP)局部方向模式(LDP)是一种基于LBP算法的改进方法,该方法弥补了LBP方法对光照变化及随机噪声不稳定的缺点。LDP算法的关键是采用Kirsch掩膜[14]计算图像8个方向的边缘响应。以下是8个方向的Kirsch模板:
$ \begin{array}{l} {\mathit{\boldsymbol{M}}_0}:\left[{\begin{array}{*{20}{c}} {-3} & {-3} & 5\\ {-3} & 0 & 5\\ { - 3} & { - 3} & 5 \end{array}} \right]\begin{array}{*{20}{c}} {}\\ {} \end{array}{\mathit{\boldsymbol{M}}_1}:\left[{\begin{array}{*{20}{c}} {-3} & 5 & 5\\ {-3} & 0 & 5\\ {-3} & { - 3} & { - 3} \end{array}} \right]\begin{array}{*{20}{c}} {}\\ {} \end{array}\\ {\mathit{\boldsymbol{M}}_2}:\left[{\begin{array}{*{20}{c}} 5 & 5 & 5\\ {-3} & 0 & {-3}\\ {-3} & { - 3} & { - 3} \end{array}} \right]\begin{array}{*{20}{c}} {}\\ {} \end{array}{\mathit{\boldsymbol{M}}_3}:\left[{\begin{array}{*{20}{c}} 5 & 5 & {-3}\\ 5 & 0 & {-3}\\ {-3} & { - 3} & { - 3} \end{array}} \right]\\ {\mathit{\boldsymbol{M}}_4}:\left[{\begin{array}{*{20}{c}} 5 & {-3} & {-3}\\ 5 & 0 & {-3}\\ 5 & { - 3} & { - 3} \end{array}} \right]\begin{array}{*{20}{c}} {}\\ {} \end{array}{\mathit{\boldsymbol{M}}_5}:\left[{\begin{array}{*{20}{c}} {-3} & {-3} & {-3}\\ 5 & 0 & { - 3}\\ 5 & 5 & { - 3} \end{array}} \right]\begin{array}{*{20}{c}} {}\\ {} \end{array}\\ {\mathit{\boldsymbol{M}}_6}:\left[{\begin{array}{*{20}{c}} {-3} & {-3} & {-3}\\ { - 3} & 0 & { - 3}\\ 5 & 5 & 5 \end{array}} \right]\begin{array}{*{20}{c}} {}\\ {} \end{array}{\mathit{\boldsymbol{M}}_7}:\left[{\begin{array}{*{20}{c}} {-3} & {-3} & {-3}\\ { - 3} & 0 & 5\\ { - 3} & 5 & 5 \end{array}} \right] \end{array} $ |
在一个3×3的灰度像素块上,将中心点X分别与8个方向的Kirsch算子进行卷积运算,从而获得中心点周围的8邻接像素值,即8方向的边缘响应返回值,记作mi (i=0, 1, …, 7)[15]。选取前k个较大的Kirsch值赋1,其余均赋0,得出相应的LDP编码。具体的编码方式如图 1所示。
将四周8邻域的编码按照顺时针方向读取8个二进制编码,并将该二进制数作为此矩阵的中心点的灰度值,记作LDPk。LDPk具体由式(1) 得出。
$ LD{P_k} = \sum\limits_{i = 0}^7 {{b_i}({m_i} - {N_k})} \times {2^i};{b_i}(\alpha ) = \left\{ {\begin{array}{*{20}{c}} {1, } & {\alpha \ge 0}\\ {0, } & {\alpha < 0} \end{array}} \right. $ | (1) |
其中:mi为8个邻接像素中第i个边缘响应值,Nk为选定的8个mi中第k个比较大的值。
在LDP特征向量生成方面,一般采用将人脸平均分为若干个图像块,分别计算每个图像块的LDP编码,最后将其结合起来作为人脸的LDP特征向量。然而,贡献最大的纹理特征往往是在人脸中最具代表性的兴趣点附近生成。受此启发,本文提出了一种基于兴趣点的改进LDP人脸特征提取算法。
2 基于兴趣点定位的改进LDP人脸识别 2.1 兴趣点定位对人脸兴趣点的定位是本文算法的核心步骤,兴趣点所在的位置包含了丰富的用于人脸分类识别的特征信息。考虑到兴趣点提取的速率以及兴趣点数目须一致的问题,本文选择了加速鲁棒特征(Speeded Up Robust Feature, SURF)点提取算法与K-means聚类算法共同实现兴趣点的定位。
2.1.1 SURF点位置信息提取SURF是由Bayet等[16]于2006年提出的一种鲁棒的局部特征描述子。SURF点的检测定位首先要构建图像的高斯金子塔尺度空间。输入图像I经过高斯滤波后的每个像素都采用Hessian矩阵行列式进行近似。式(3) 为像素点X=(x, y)在尺度σ下Hessian矩阵计算。
$ \left. {\mathit{\boldsymbol{HX}}{\rm{, }}\sigma } \right) = \left[{\begin{array}{*{20}{c}} {{L_{xx}}\left( {\mathit{\boldsymbol{X}}{\rm{, }}\sigma } \right)} & {{L_{xy}}\left( {\mathit{\boldsymbol{X}}{\rm{, }}\sigma } \right)}\\ {{L_{xy}}\left( {\mathit{\boldsymbol{X}}{\rm{, }}\sigma } \right)} & {{L_{yy}}\left( {\mathit{\boldsymbol{X}}{\rm{, }}\sigma } \right)} \end{array}} \right] $ | (2) |
其中:Lxx(X, σ), Lxy(X, σ), Lyy(X, σ)分别是高斯二阶微分
$ {\mathit{\boldsymbol{D}}_{{\rm{SURF}}}}{\rm{ = det(Happrox)}} = {\mathit{\boldsymbol{D}}_{xx}}{\mathit{\boldsymbol{D}}_{yy}}{\rm{ - (}}\omega {\mathit{\boldsymbol{D}}_{xy}}{{\rm{)}}^2} $ | (3) |
其中,高斯加权系数ω取0.9。通过计算DSURF求出三个尺度(本层及上下层)下所有极值点,并进行非极大值抑制(Non-Maximum Suppression, NMS),即将某像素点与其邻域26个点进行比较,若非局部最值,则剔除,其余保留。最后,采用三维二次函数插值拟合进行极值点精确定位,即可得出SURF点的位置信息。
2.1.2 K-means聚类算法定位兴趣点K-means聚类算法采用距离作为相似性的评价指标,根据给定的聚类数目K,计算出目标矩阵中K聚类元素中心点[17]。在得出人脸图像的SURF点具体坐标后,随机选择其中K个特征点作为聚类中心cj=(cj1, cj2),其他特征点作为聚类对象si=(si1, si2),计算聚类对象与聚类中心的欧氏距离D(si, cj)。其计算公式如下:
$ D({s_i}, {c_j}) = \sqrt {{{({c_{i1}} - {s_{j1}})}^2} + {{({c_{i2}} - {s_{j2}})}^2}} $ | (4) |
若聚类对象si满足D(si, cj)=min{D(si, cj), j=1, 2, 3, …, K},则将其归入cj所在的类ωj。根据聚类结果,重新计算聚类中心。聚类中心即ωj中所有点的算数平方。具体计算如下:
$ {c_j} = \left( {\frac{1}{n}\sum\limits_{{s_{j1}} \in {\omega _j}} {{s_{i1}}}, \frac{1}{n}\sum\limits_{{s_{j2}} \in {\omega _j}} {{s_{i2}}} } \right) $ | (5) |
聚类中心更新完毕后,需对其更新状态进行判断。若此次聚类中心状态与上次状态一致,则认为聚类完毕。最终得到的聚类中心即兴趣点的位置。聚类前后的对比图如图 2所示。
兴趣点根据不同图像的特征进行自动分布的特点决定了其对人脸姿态变化的鲁棒性。图 3为人脸图像在不同姿态下的兴趣点分布图对比。由图 3可知,对于不同人脸及姿态变化,兴趣点会自动地分布定位以适应不同人脸的特点,仍主要集中于信息丰富的五官等部位,在人脸识别分类过程中有助于达到同类样本之间相似度最大而不同样本之间相似度最小的目的。
与LBP算法相比,LDP特征提取算法具有对光照、随机噪声鲁棒性强等优点。文献[12]的研究表明,4个方向的LDP算法足以很好地描述出人脸纹理特征。图 4分别表示人脸图像经8方向的原始LDP算子处理的纹理特征提取图与经4方向LDP算子处理的纹理特征提取图。
一般来说,在人脸识别中,LDP纹理特征通常采用将人脸平均分为若干个子窗口的方式进行提取,子窗口位置的选择是固定的,不能突出反映不同人脸的不同特点,比如LDP算法提出者Jabid在其文献[9]中采用7×6的分块方式;同时,该算法遍历整幅图像,运行速度较为缓慢。为了解决这两个问题,本文提出了一种基于兴趣点的人脸LDP特征提取方法,命名为SURF-LDP。
本文提出的SURF-LDP是基于兴趣点定位的改进LDP算法,由兴趣点提供为人脸识别贡献最大的区域分布,自动地确认LDP特征提取窗口。兴趣点的提取是根据不同图像的不同特点提取的,因此本文算法实现了LDP特征提取窗口的自动选取,对同一人的不同姿态变化具有较好的鲁棒性。在兴趣点处进行的纹理提取阶段,本文选择了4方向的LDP算法,此算法在之前的工作中已验证在保证一定的识别效果同时有着更高的速率[12]。
基于SURF-LDP的人脸识别算法流程为:
步骤1 对人脸图像进行SURF点提取。
步骤2 采用K-means聚类算法对SURF点的分布与数目进行优化。
步骤3 以经聚类定位出的兴趣点为中心,向四周扩展11×11像素,得出相应的图像块Pn,在Pn上进行4方向的LDP特征提取,本文选择M4~M7这4个方向进行纹理特征提取,并计算其直方图特征。Jabid在其论文实验中验证了当k=3时,可以获得更好的识别率[9],所以本文也取k=3。此时LDP特征数据的维数记为C83=56维,图像块Pn相应的LDP特征的直方图HLDPn可由式(7) 计算:
$ {\mathit{H}_{\mathit{LD}{\mathit{P}_\mathit{n}}}} = \sum\limits_{\mathit{i} = 0}^3 {\mathit{f}(\mathit{LD}{\mathit{P}_3}(\mathit{x},\mathit{y}),{\mathit{C}_\mathit{i}})} $ | (6) |
其中:
步骤4 将图像块Pn的直方图特征由左到右、由上到下的顺序联合起来,作为人脸的SURF-LDP特征。人脸特征描述向量如式(7) 所示。
$ {\mathit{\boldsymbol{H}}_{{\rm{LDP}}}} = {\left\{ {\begin{array}{*{20}{c}} {\frac{{{H_{LD{P_0}}}}}{\sigma }, } & {\frac{{{H_{LD{P_2}}}}}{\sigma }, } & { \cdot \cdot \cdot, } & {\frac{{{H_{LD{P_n}}}}}{\sigma }} \end{array}} \right\}^{\rm{T}}} $ | (7) |
其中,σ为HLDPn的标准差。
步骤5 以SURF-LDP特征向量作为样本模板,采用SVM分类器对人脸进行分类识别。
3 实验结果与分析本文实验分别在FERET数据库及Yale数据库上进行验证。Yale数据库包含了165张人脸照片,每人11张;FERET数据库共包含1 400张人脸照片,每人7张。图 6为Yale数据库与FERET数据库中部分人脸样本。
为了便于实验结果的统一对比,本文将两个数据库中人脸图像的尺寸作了初始化处理,大小均设置为100×100。为了得出本文算法中最适合的兴趣点聚类数目,分别在不同的聚类数目下进行人脸识别实验。其中,两个人脸库中的各类人脸均选择4张图像作为训练样本,剩下人脸图像作为测试样本。图 7为本文提出的人脸识别算法在不同数目的兴趣点下的最佳识别率,分别取了8、16、24、32、40、48六种聚类数目进行比较。
由图 7可知:当聚类数目小于32时,人脸识别准确率随着兴趣点数目的增多而变高;当聚类数目大于32时,人脸识别率并没有继续增加。这是由于当兴趣点数目大于32时,容易由于兴趣点的分布过于密集而造成重复提取,对于识别准确率并没有太大贡献;同时,兴趣点数目的增多意味着特征提取范围变大,增加了运算耗时。综合识别率与运算耗时两个因素,在与其他算法进行比较时,本文算法的兴趣点聚类数目选择为32。
分别使用文献[10]中Jabid提出的经典算法LDP、文献[12]中提出的4方向的LDP方法(4-LDP)、文献[13]中提出的融合PCA与LDP的特征提取算法(PCA-LDP)以及本文提出的SURF-LDP算法作为特征提取算法,分类识别方法均使用SVM方法,对比它们的平均识别率R、平均识别时间T与识别率标准差S,结果如表 1所示。其中:SURF-LDP(8) 表示采用本文方法进行融合的8方向改进算法;SURF-LDP(4) 表示采用本文提出的4方向改进算法。
由表 1可知,在Yale与FERET数据库中:从平均运行时间来看,4-LDP的运算速度最快,这是由于该算法将经典的8方向LDP改进为4方向LDP进行简化,同样也牺牲了一定的识别率;4方向SURF-LDP的平均运行时间较经典LDP运行时间分别减少了8 ms与3 ms,较PCA-LDP分别减少81 ms与82 ms,较8方向的SURF-LDP分别减少了35 ms与42 ms,可知SURF-LDP具有相对较好的实时性。从人脸平均识别率来看,8方向SURF-LDP的识别率最高,然而却是以一定的运行时间作为代价的;4方向的SURF-LDP的识别率较PCA-LDP的识别率分别高4.6%与3.6%,与经典LDP分别高出9.2%与7.0%,和4-LDP相比分别高出5.8%与8.3%,仅比8方向的SURF-LDP分别低0.4%与0.5%,可知本文提出的4方向的SURF-LDP算法在人脸识别系统中有着较好的性能表现。
4 结语本文提出的基于兴趣点定位的SURF-LDP算法,首先提取人脸图像的SURF点并作聚类处理,得出兴趣点位置;然后以每个兴趣点为中心在其周围提取4方向的LDP纹理特征作为描述子;最后采用SVM分类器进行分类识别。实验结果表明,在具有较高人脸识别率的同时,本文提出的算法SURF-LDP也具有较好的实时性与稳定性。SURF-LDP的实时性主要依赖两点:1) 在进行纹理特征提取时采用了4方向的LDP方法,相对于文献[10]与文献[13]中的8方向提取速度有了很大的提高;2) 本文方法的提取范围是32个11×11大小的图像块,较遍历整幅图像的范围减小许多。虽然本文算法添加了SURF点定位与聚类的步骤,但由于SURF算法本身在提取速度上的优越性,以及本文剔除了特征描述部分仅保留了特征点定位部分,因此该算法仍可保证较好的实时性。另外,本文方法采用对兴趣点附近位置进行LDP特征提取,并将其作为特征描述子,而兴趣点位置有用信息丰富,且随着人脸光照、姿态等变化,兴趣点位置可相应移动,因此本文算法在识别效果与稳定性方面也有着良好表现。
[1] | 李武军, 王崇骏, 张炜, 等. 人脸识别研究综述[J]. 模式识别与人工智能, 2006, 19(1): 58-56. (LI W J, WANG C J, ZHANG W, et al. A survey of face recognition[J]. Pattern Recognition and Artificial Intelligence, 2006, 19(1): 58-56.) |
[2] | SHIEH M-Y, CHIOU J-S, HU Y-S, et al. Applications of PCA and SVM-PSO based real-time face recognition system[J]. Mathematical Problems in Engineering, 2014, 2014: Article ID 530251. |
[3] | 温浩, 卢朝阳, 高全学. 融合小波变换和张量PCA的人脸识别算法[J]. 西安电子科技大学学报(自然科学版), 2009, 36(4): 602-607. (WEN H, LU Z Y, GAO Q X. Face recognition algorithm based on wavelet preprocessing and tensor PCA[J]. Journal of Xidian University, 2009, 36(4): 602-607.) |
[4] | 黄璞, 陈才扣. 基于局部人脸图像的ICA人脸识别方法[J]. 计算机工程与设计, 2010, 31(11): 2550-2553. (HUANG P, CHEN C K. ICA face recognition method based on partial face image[J]. Computer Engineering and Design, 2010, 31(11): 2550-2553.) |
[5] | 尹洪涛, 付平, 沙学军. 基于DCT和线性判别分析的人脸识别[J]. 电子学报, 2009, 37(10): 2211-2214. (YIN H T, FU P, SHA X J. Face Recognition Based on DCT and LDA[J]. Acta Electronica Sinica, 2009, 37(10): 2211-2214. DOI:10.3321/j.issn:0372-2112.2009.10.018) |
[6] | FANG L, LI S. Face recognition by exploiting local Gabor features with multitask adaptive sparse representation[J]. IEEE Transactions on Instrumentation and Measurement, 2015, 64(10): 2605-2615. DOI:10.1109/TIM.2015.2427893 |
[7] | LEI L, KIM D-H, PARK W-J. Face recognition using LBP eigenfaces[J]. IEICE Transactions on Information and Systems, 2014, E97.D(7): 1930-1932. DOI:10.1587/transinf.E97.D.1930 |
[8] | 武伟, 江艳霞, 张喆. 基于改进的LDP人脸识别算法[J]. 光电工程, 2014, 41(12): 74-77. (WU W, JIANG Y X, ZHANG Z. The face recognition algorithm based on improved local directional pattern[J]. Opto-Electronic Engineering, 2014, 41(12): 74-77.) |
[9] | JABID T, KABIR M H, CHAE O. Robust facial expression recognition based on local directional pattern[J]. ETRI Journal, 2010, 32(5): 784-794. DOI:10.4218/etrij.10.1510.0132 |
[10] | JABID T, KABIR M H, CHAE O. Local Directional Pattern (LDP) for face recognition[J]. International Journal of Innovative Computing Information and Control, 2012, 8(4): 2423-2437. |
[11] | 李杰, 徐汀荣, 李海彦. 基于改进LDP的人脸识别[J]. 计算机应用与软件, 2014, 31(5): 148-150, 230. (LI J, XU T R, LI H Y. Face recognition based on improved LDP[J]. Computer Applications and Software, 2014, 31(5): 148-150, 230.) |
[12] | 罗元, 张天, 张毅. 一种改进的LDP面部表情特征提取方法[J]. 半导体光电, 2016, 37(1): 122-125. (LUO Y, ZHANG T, ZHANG Y. An improved LDP for facial expression feature extraction[J]. Semiconductor Optoelectronics, 2016, 37(1): 122-125.) |
[13] | LUO Y, ZHANG T, ZHANG Y. A novel fusion method of PCA and LDP for facial expression feature extraction[J]. Optik-International Journal for Light and Electron Optics, 2016, 127(2): 718-721. DOI:10.1016/j.ijleo.2015.10.147 |
[14] | 刘海军, 常东超, 张凌宇. 改进的局部方向模式纹理表示方法[J]. 中国图象图形学报, 2014, 19(4): 520-526. (LIU H J, CHANG D C, ZHANG L Y. Improved local directional pattern texture descriptor[J]. Journal of Image and Graphics, 2014, 19(4): 520-526.) |
[15] | 高现文, 付炜. 局部定向模式在人脸识别中的应用[J]. 计算机工程与应用, 2011, 48(12): 98-201. (GAO X W, FU W. Local directional pattern in face recognition application[J]. Computer Engineering and Applications, 2011, 48(12): 98-201.) |
[16] | BAY H, TNYTETAARS T, VAN GOOL L. SURF:Speeded Up Robust Features[C]//ECCV'06:Proceedings of the 9th European Conference on Computer Vision, LNCS 3951. Berlin:Springer-Verlag, 2006, 1:404-417. |
[17] | 陈兴蜀, 吴小松. 基于特征关联度的K-means初始聚类中心优化算法[J]. 四川大学学报(工程科学版), 2015, 47(1): 13-19. (CHEN X S, WU X S. An improved initial cluster centers selection algorithm for K-means based on features correlative degree[J]. Journal of Sichuan University (Engineering Science Edition), 2015, 47(1): 13-19.) |