基于二次修正的LBP 算子和稀疏表示的人脸表情识别
2014-04-01陈炳权刘宏立
陈炳权 ,刘宏立
(1. 湖南大学 电气与信息工程学院,湖南 长沙,410082;2. 吉首大学 信息科学与工程学院,湖南 吉首,416000)
人脸表情是人类情感信息传播与人际关系协调的重要方式,是机器视觉、模式识别和智能控制等领域的重要内容。相关研究结果表明,6 类(生气、厌恶、恐惧、高兴、伤心和惊讶)基本的人脸表情在人类日常交流中传递的信息占信息总量的55%[1],由此可见,作为高端的生物特征人脸表情识别,其潜在的应用前景巨大。特征提取和表情的分类是人脸表情识别的主要研究内容。用于人脸表情识别的特征提取方法通常包括整体法、局部法、光流法、模型法和几何法,前2 种用于静态图像特征的提取,后3 种用于动态图像特征的提取。在整体法中,经典算法包括主元分析法(PCA)[2]、独立分量分析法(ICA)[3]和线性判别分析法(LDA)[4];局部法的经典算法主要包括Gabor 小波法和LBP 算子法。Gabor 小波在特征提取方面具有良好的视觉特性和生物学背景,然而,该算法需要计算不同尺度和方向的小波核函数,由此产生的高维特征向量既不利于算法的实时处理,又在一定程度上造成了信息冗余。与Gabor 小波相比,LBP 算子法虽能有效地提取人脸表情特征,但传统的LBP 算子法存在直方图维数大、算法鲁棒性差等缺陷[5-6]。传统局部二元模式(LBP)算子是一种有效的纹理算子,应用于人脸表情识别,存在以下不足:传统的LBP 人脸表情识别方法采用 χ2度量直方图间差异,由于 χ2度量以及高维空间的判别过程的复杂性,影响了算法的实时性[7],同时,子区域尺寸越大,其识别率越低[8];在特定情形下遗漏局部结构信息,主要是由于没考虑中心位置像素点的作用;该算子对噪声也很敏感,从而限制了LBP 算子提取特征的效果,究其原因是LBP 算子过多地考虑了像素点间的相互关系。稀疏表示理论为高维数据的降维处理提供了数学理论依据。该理论将信号投影到变换空间上,从而更准确地表示信号。Baraniuk 等[9-10]将稀疏理论应用于人脸识别,很好地解决了二值数据对噪声敏感问题,能更好地容忍图像的干扰和噪声,提高了人脸识别率。稀疏理论能成功地应用于模式识别,其主要原因是该理论中有一个能够准确地刻画图像信号内在结构信息和本质属性的超完备字典,用尽可能少的数据表示图像信息,直方图维数得到了有效降低。本文在文献[6, 11-15]的基础上,提出一种稀疏表示与基于修正的LBP 人脸表情相融合的识别算法,采用小波包分解算法将人脸表情图像分解为4 个不同频段的图像,有效地解决LBP 算法中数据量不足;人脸表情图像采用稀疏表示法,由此构建合适的超完备字典,为高维数据的降维提供理论依据;建立基于神经网络的集成分类器模型,完成3 个分类器对表情类型分类。
1 基于二次修正的LBP 算子模型
传统LBP 算子能对灰度图像中局部邻近区域的纹理信息进行有效度量与提取,是一种描述纹理的有效算子。采用LBP 算子对图像f( x,y)的像素进行标识时,其像素的环形领域由半径为r 的圆周上对称分布的m 个邻点构成,由插值方法确定近邻点的位置不在像素点中心的灰度,LBP 算子描述的纹理定义如下[5]。将环形领域内纹理图像描述为
其中:gc为窗口的中心点灰度; g0, …, gm-1是半径为r 的圆周上对称分布的m 个领点的灰度。
当不考虑中心点的灰度时,其纹理图像表示为
通常周围点的灰度和中心点的灰度往往独立的,则式(2)可写为
即
通过给每个s(x)函数赋予一个权重因子2m,就可以得到描述局部图像纹理的空间结构特性的窗口LBP数值为
点数和半径的大小分别用M 和r 表示。当M=8,r=1 时,LBP 算子如图1 所示,LBP 编码图像如图2所示。
图1 LBP 计算示意图Fig.1 Diagram of LBP calculation
图2 LBP 编码图Fig.2 LBP code diagram
在人脸表情特征提取过程中,其传统的识别流程如下[11]:分割人脸→求解分割人脸图像的直方图→求解人脸的特征直方图→求解人脸联合直方图。即取合适大小的窗口,并对该合适窗口内部的LBP 编码进行统计,最终求得LBP 直方图。由此可知,整个人脸表情图像在合适大小窗口条件下的联合直方图就是要识别的人脸表情特征。
由LBP 编码与人脸特征提取的过程可知:要准确地提取出图像中差别小的特征,提高差别图像的数据是有效方法之一。在传统的LBP 算法中,若数字模式的个数越多,则局部纹理结构能够细腻地描述出来,但该模式所含有的平均数据量越少,统计意义越差;相反,模式个数越少,该模式所含有的平均数据量越大,统计意义越好,但每种表情差别越小,反映在表情特征数据就更少。
本文在文献[9]的基础上,根据小波包理论,采用分解与重构相结合的方法,将1 幅表情图像变换成许多张图像,且每张图像包含了人脸的不同表情数据,打破了传统采用单一图像表达其人脸表情数据的缺陷,可以有效地增强人脸表情图像的数据量。
由小波包的相关理论可知:首先可以将人脸表情分成相互关联的4 幅图像即垂直高频图像、低频图像、对角高频图像和横向高频图像,每幅图像大小为原图像的1/4,并包含不同频率上的不相关信息,然后进行重构。在重构每种频率的图像时,将其他频率图像置为零,最后得到的图像大小与原来的一样,但表达信息完全不同。完成LBP 编码图像计算后,对相应图像块数据进行叠加,采用这种叠加方式可以有效地保证原图像信息不会丢失,特别是嘴巴、眼睛和眉毛等特征会更细腻地表达出来。其分解与重构过程分别如图3 和图4 所示。
图3 小波包的分解过程Fig.3 Decomposition process of wavelet packet
图4 小波包的重构过程Fig.4 Reconstruction process of wavelet packet
完成重构图像后,对相应的LBP 特征进行提取,对LBP 图像进行编码计算采用统一模式。令窗口重叠度为1,M=8,r=1。本文将图像分为2i个块,并令图像块的层数i=4,其图像编码计算流程如下:(1) 对每个小方块中的直方图数据进行计算;(2) 逐一合并上述中的每一个小方块,并对合并的直方图数据进行计算,直到整个人脸表情直方图特征合并计算完成为止;(3) 逐一串联所有直方图特征,从而求解出整幅图像的识别特征。可见,采用该方式提取的特征兼顾了局部与全局的纹理信息,表情识别中整体不同但局部相似的难题便得到有效解决。图5 所示为上述直方图块的合并流程。
图5 LBP 直方图块的合并过程Fig.5 Union process of LBP histogram block
二次修正的LBP 人脸表情识别算法如下:
(1) 根据小波包相关理论分解原人脸表情图像为横向高频图像、垂直高频图像、低频图像和对角高频图像这4 幅图像,其大小分别为原图像的1/4,之后对每种特定频率图像进行重构(其他频率图像置零);(2) 在第i 层图像中,将每种频率图像分解为2i-1块,求解其LBP 编码值;(3) 将横向高频图像、垂直高频图像、低频图像和对角高频图像这4 幅图像的对应块进行串联,并求解其LBP 直方图特征;(4) 提取修正的LBP 直方图特征。
2 稀疏表示的人脸表情特征优化
稀疏表示已成功地应用于人脸表情识别[14-15],能准确地表达人脸表情图像的本质属性和内在结构信息,这主要得益于超完备字典的构建,体现在用尽可能少的数据来表示人脸表情图像信息。
将上述基于二次修正的LBP 算法提取的人脸表情图像特征作为表情图像的初始特征,建立训练样本LBP 特征的超完备字典。所采用的稀疏表示模型优化人脸表情图像的特征向量,从而有效地提高了自然交互环境下的人脸表情识别率和算法的鲁棒性。
2.1 稀疏表示模型的优化算法
将稀疏表示模型应用于基于二次修正的LBP 算法提取的人脸表情特征的选择与优化,将人脸表情测试对象看作训练图像集的线性组合,求解最稀疏解,从而保证人脸表情图像中视觉特征的内在结构及特征信息之间关联性被有效提取。
设目标类别集C ={c1, c2, …, cl},人脸表情图像特征即为k 维二次修正的LBP 算子提取的特征向量,本文将二次修正的LBP 算提取的人脸表情特征向量作为超完备的列集,并记为 di,1,di,2, …,di,n∈Rk,由此得到的矩阵为Di=( di,1,di,2, …,di,n)∈Rk×n。
将来自类别ci的待识别人脸表情图像作为训练样本的线性组合,记为
其中:T ∈Rk×n;αi,j∈R,i=1, 2, 3, …, l;j=1, 2, 3, …,ni。于是,将所有已知类别训练样本的特征向量构成的矩阵设为
用已标记类别的训练表情图像线性组合表示人脸表情图像的Gabor 特征向量,即
其中:ψ 为系数向量;Δ为噪声向量。稀疏表示的根本出发点就是从求解所有的系数向量ψ=(α1,α2,α3, …,αn)T中寻找最稀疏的一个表示。对于确定的列向量 T,若 k <n,则超完备字典D={d1, d2, d3, …, dn}的元素dj线性不相关,其系数向量有多种形式。
对于零均值的列向量T=( t1, t2, t3, …, tk),超完备字典D={d1, d2, d3, …, dn}的元素dj具有零均值,并且单位化的l2范数为
本文考虑噪声的稀疏表示模型为
2.2 本文算法
令目标类别集合C={c1, c2, …, cl},已知类别的表情图像样本数目设为 n1, n2, …, nl;di,1,di,2, …,di,j∈Rk(i=1, 2, …, k,j=1, 2, …, ni)表示类别ci第j 幅入脸表情图像的LBP 特征向量。本文表情特征提取算法如下。
(1) 对已知类别的每幅表情图像进行2 次修正LBP 变换,由式(3)求解人脸表情图像特征值LBP(M,r),其值构成列向量di,j(i=1, 2, …, k;j=1, 2, …,ni),从而得到每幅人脸表情图像的LBP 特征向量。
(2) 超完备字典对应的矩阵D由式(5)将di,j列向量依次连接而成。
(3) 对每幅待识别的人脸表情图像进行LBP 编码,由式(3)得到的LBP(P,R)排列形成列向量T ∈Rk,即待识别人脸表情图像的特征向量。
(4) 对超完备字典对应的矩阵D 进行零均值化、向量T 零均值化和l2范数单位化。
(5) 根据式(8)求解向量T 的稀疏系数向量,人脸表情图像的稀疏表示特征向量就是该系数向量ψ。
3 基于神经网络的集成分类器表情分类算法
选择人脸表情分类器通常考虑以下几个因素[16-17]:人脸表情细微的形变;表情的各种特征表达方法需要进行比较和选择,寻求最佳表达方式;图像预处理要剔除外界因素的干扰,有用信息要尽量保留。
单一的分类器识别结果具有许多不确定性,通常只能从某一个层面描述待识别样本的属性,多分类器融合方法克服了单分类器此弱点,具有如下优点:整体和局部特征的优势得到体现;增大了各单分类器的差异,有利于各单分类器的互补;在神经网络的基础上,利用系统的决策误差调整各层间的权值和阈值,能实现融合规则的自动调整和优化。本文采用非线性的神经网络集成分类器作为表情识别的分类器,其输入为人脸特征的灰度值及其坐标位置,保证了分类的准确性和稳定性,提高了人脸表情识别效果。所设计的基于神经网络的集成分类器模型如图6 所示。
图6 基于神经网络的集成分类器模型Fig.6 Integrated classifier model based on neural network
图6 所示为所描述的模型由输出层、隐含层和输入层构成,其中:输入层中的每个节点的输入是单分类器对同一个样本的决策向量,其向量的长度等于类别数目;单分类器判定样本所对应类别的概率即为分量,在某设定规则条件下运算分量及其对应的权值,隐含层的输入值就是该运算结果。根据经验公式对隐含层节点数m 进行计算,该层的输入经过某激励函数计算后就是每个节点的输出,输出层的输入就是该输出与权值的运算结果。
从上述分析可知:人脸表情的类别数就是输出层节点数n,系统判定输入样本属于某类别的概率就是该节点的输出值,集成分类器模型的最终输出就是该值,且由激励函数运算得到,其中最接近1 的那个分量就是样本预测的类别,节点输出值大于等于0 但不会超过1。
设 z={z1, z2, …, zl} 为该模型的输入,zi=( zi1, zi2, …, zin)T为分类器i 对样本图像的输出,该输出值以新的特征作为输入层节点i 的输入。模型的实际输出向量为O={o1, o2, …, on},集成分类器最终判定输入样本属于类别ck的概率就是输出向量的分量ok。
设隐含层节点j 的输出为yj,输出层节点k 的期望输出值为dk,隐含层节点j 与输入层节点i 的连接权值为wij,输出层节点k 与隐含层节点j 的连接权值设tjk,学习率为η,激励函数为 f ( x) =1/(1 +e-x),阈值为θ,则输出层神经元和隐含层神经元的输出分别为:
输出层和隐含层权值修正为:
输出层和隐含层阈值修正为
由输出向量中的最大分量所在的位置确定了输入样本所属类别,从而实现训练好的神经网络完成从输入到输出的映射。其实现步骤如下。
(1) 将样本分为测试集和训练集2 部分,并将后者再次细分为l 组,以训练l 个单分类器。
(2) 在一定的学习率η 下,将权值wij,tjk和阈值θ初始化。
(3) 输入层节点i 的输入zi即为计算分类器i 对训练 集 中 的 每 个 样 本 图 像 X 的 输 出zi=( zi1, zi2, …, zin)T。
(4) 计算输出层和隐含层节点的净输入量和净输出量,根据输出层节点的误差,修正输出层和隐含层的阈值和权值,之后转向步骤(3)。
(5) 当迭代的次数大于阈值时,停止其修正,并记录该时刻的权值与阈值。
4 实验结果分析
所用人脸表情数据库为日本的JAFFE 表情库,包括10 个日本妇女的7 种正面表情:平静、愤怒、恐惧、高兴、悲伤、厌恶、惊奇,每种表情有3~4 张图像,灰度人脸表情图像大小为128×128,格式为bmp。为了减少图像中诸如人脸大小,关键点位置和灰度等因素的影响,先归一化处理人脸表情图像,从而保证归一化处理后的图像方差、大小、灰度均值相等,如图7 所示。考虑到包含信息的比率与处理数据量的关系,本文将所有的人脸表情图像归一化为64×64。
图7 JAFFE 表情库原始图像与预处理后的图像Fig.7 Original image and preprocessing image in JAFFE expression library
为验证本方法的有效性,在Windows XP 环境下的Intel(R) Core(TM)2 Duo CPU 机器上进行试验。将所有人脸表情图像分成测试集和训练集,其中测试样本为每个人每种表情中的任意一幅图像,训练样本就是剩下的图像。为训练单分类器,将训练集细分成 3组,每一组用来提取其中某1 个特征,整个训练集训练基于神经网络的多分类器。
本文方法与文献[16]中经典LBP 算法对人脸表情图像的识别率比较见表1。从表1 可知:除了“伤心”表情外,所有表情都被较准确地识别出来。其原因是人脸表情库中“悲伤”得不厉害,常常与“平静”混淆,但就总的识别率而言,本文方法与经典LBP 算法和单一的二次修正的LBP 算法相比,平均识别率分别提高11.0%和3.7%左右,单个样本识别时间分别减少0.010 s 和0.014 s,提高了识别速度。
表1 本文算法与传统LBP 算法识别率和识别时间的比较Table 1 Recognition rate’s comparison between traditional LBP algorithm and proposed algorithm
5 结论
(1) 将传统LBP 算法从以下几个方面进行了二次修正:将原图像经过小波包分解和重构,得到了不同频段图像,有效地增加了原图像的数据量,改进了原算法数据量不足的问题;采用修正的LBP 算法对表情图像进行特征提取,建立训练样本LBP 特征的超完备字典,通过稀疏表示模型优化了人脸表情的特征向量,由于稀疏表示中采用所有表情训练图像的信息来构建超完备字典,这样能够很好地描述表情图像特征内在的结构细节信息及其内在关联性,较好地去除不相关的部分信息并保留重要的视觉特征信息,有效地提高了识别率,算法具有一定的鲁棒性;将多特征集成分类器的输出进行融合,构建基于神经网络的多分类器模型,表情特征分类的准确性和稳定性得到提高。
(2) 与经典LBP 算法对比,本文算法具有一定的鲁棒性,人脸表情的识别率提高约15%,识别速度也得到一定提高。
[1] Mehrabian A, Russell J A. An approach to environmental psychology[M]. Cambridge: MIT Press, 1974: 101-156.
[2] Andrew J, Calder A, Burton M, et al. A principal component analysis of facial expressions[J]. Vision Research, 2004, 41:1179-1208.
[3] 周晓彦, 郑文明, 邹采荣, 等. 基于特征融合和模糊核判别分析的面部表情识别方法[J]. 中国图像图形学报, 2009, 14(8):1615-1620.ZHOU Xiaoyan, ZHENG Wenming, ZOU Cairong, et al. Facial expression recognition based on feature fusion and fuzzy kernel discriminant analysis[J]. Journal of Image and Graphics, 2009,14(8): 1615-1620.
[4] 支瑞聪, 阮秋琦. 基于多尺度分析矩特征的人脸表情识别[J].信号处理, 2009, 25(5): 692-696.ZHI Ruicong, RUAN Qiuqi. Facial expression recognition based on multi-scale analysis and invariant moments[J]. Signal Processing, 2009, 25(5): 692-696.
[5] HAN Hu, SHAN Shiguang, CHEN Xilin, et al. A comparative study on illumination preprocessing in face recognition[J].Pattern Recognition, 2013, 46(6): 1691-1699.
[6] 付晓峰. 基于二元模式的人脸识别与表情识别研究[D]. 杭州:浙江大学电气工程学院, 2008: 25-40.FU Xiaofeng. Research on face recognition and expression recognition based on the local binary pattern[D]. Hangzhou:Zhejiang University. College of Electrical Technology, 2008:25-40.
[7] XIE Xudong, Lam K M. Facial express recognition based on shape and texture[J]. Pattern Recognition, 2009, 42: 1003-1011.
[8] Wright J, Ma Yi, Mairal J, et al. Sparse Representation for computer vision and pattern recognition[J]. Proceedings of the IEEE, 2010, 98(6): 1031-1044.
[9] Baraniuk R, Candes E, Elad M. Applications of sparse representation and compressive sensing[J]. Proceedings of the IEEE, 2010, 98(6): 906-909.
[10] Wright J, Yang A Y, Ganesh A, et al. Robust face recognition via sparse representation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(2): 210-227.
[11] 张娟, 詹永照, 毛启容, 等. 基于Gabor 小波和稀疏表示的人脸表情识别[J]. 计算机工程, 2012, 38(6): 207-209.ZHANG Juan, ZHAN Yongzhao, MAO Qirong, et al. Facial expression recognition based on gabor wavelet and sparse representation[J]. Computer Engineering, 2012, 38(6): 207-209.
[12] 何良华. 人脸表情识别中苦干关键技术的研究[D]. 南京: 东南大学信息科学与工程学院, 2005: 1-10.HE Lianghua. Several key technologies research on facial expression recognition[D]. Nanjing: Southeast University.School of Information Science and Engineering, 2005: 1-10.
[13] 傅由甲, 相入喜, 黄鸿, 等. 基于支持向量机的多姿态人脸特征定位[J]. 计算机工程, 2011, 37(17): 7-10.FU Youjia, XIANG Ruxi, HUANG Hong, et al. Multi- view face features localization based on support vector machine[J].Computer Engineering, 2011, 37(17): 7-10.
[14] 胡正平, 李静. 基于低秩子空间恢复的联合稀疏表示人脸识别算法[J]. 电子学报, 2013, 41(5): 987-991.HU Zhengping, LI Jing. Face recognition of joint sparse representation based on low-rank subspace recovery[J]. Acta Eletronica Sinica, 2013, 41(5): 987-991.
[15] 殷俊, 杨万扣. 核稀疏保持投影及生物特征识别应用[J]. 电子学报, 2013, 41(4): 639-645.YIN Jun, YANG Wankou. Kernel sparsity preserving projections and its application to biometrics[J]. Acta Eletronica Sinica, 2013, 41(4): 639-645.
[16] Shan C, Gong S, Mcowan P. Robust facial expression recognition using local binary patterns[C]// IEEE International Conference on Image Processing. ICIP, 2005, 2: 370-373.
[17] 吕兴会. 基于多特征集成分类器的人脸表情识别研究[D]. 青岛: 中国石油大学计算机与通信工程学院, 2010: 37-42.LÜ Xinghui. Research on facial expression recognition based on multi-feature integrated classifier[D]. Qingdao: China University of Petroleum. College of Computer & Communication Engineering, 2010: 37-42.