融合小波和LBP-GD特征的人脸表情识别
2018-10-18刘婷婷郝凯锋
张 良,李 玉,刘婷婷,郝凯锋
(中国民航大学智能信号与图像处理天津市重点实验室 天津 东丽区 300300)
面部表情蕴含着丰富的情绪变化和心理活动,是一种重要的非语言交往手段。文献[1]认为,55%的面部表情、38%的声音以及7%的语言构成了人类的情感表达。人脸表情识别目前已经是机器视觉、人工智能、情感计算等领域的一个研究热点,一般分为预处理、特征提取、表情分类3个部分[2]。
目前,主流的表情特征提取方法有:活动外观模型(active appearance model,AAM)[3],Gabor小波变换[4-5],主成分分析法(principle component analysis,PCA)[6]以及局部二元模式(LBP)[7-12]等。在这些方法中,AAM能够描述对象的纹理和形状两种属性,但是难以确定初始参数,并且计算复杂。PCA倾向于图像整体,很难分别局部表情的差异。Gabor小波提取的是多尺度多方向信息,由此产生的高维特征向量不利于算法的实时处理。相比于Gabor小波特征,LBP具有灰度和旋转不变性,同时在一定程度上可以抑制光照的影响,计算简单,是一种有效的局部纹理描述算子。在识别表情时,传统LBP算法很难精确描述不同方向上额头、眼睛、嘴巴等关键表情区域的灰度变化趋势,分类效果不太理想。所以本文提出了一种融合了梯度方向的LBP-GD算子,不仅保持了LBP本身的优点,同时可以描述纹理的方向信息。
目前小波分析在图像处理领域应用广泛。提升小波具有空间域局部性的特征,可以实现图像的高低频分离,高频分量主要包含图像的细节信息,低频分量则汇集了图像的主要信息。本文采用LBP-GD特征与提升小波的低频分量特征融合的特征提取方法,然后用K近邻方法进行表情分类。在JAFFE和Cohn-Kanade(CK)表情库上的识别结果验证了该方法的可行性。
1 表情图像预处理
预处理是表情识别的第一步。首先,分别对图像进行垂直和水平积分投影,定位出双眼中心位置,根据双眼中心位置对图像旋转和裁剪[13]。依据人脸五官的形状及位置,裁剪标准为:假设眼睛的间距为d,则以双眼中心为基准,向上取0.5d,向下取1.5d,向左和向右各取0.9d。裁剪后的图像在长宽比和大小方面都不一样,故将图像大小归一化为128×128像素。为了减少光照影响,进行灰度归一化操作,就得到了归一化的纯表情区域。处理结果如图1所示,图中,上层是原始图像,下层是预处理之后的图像。
图1 表情图像预处理
2 特征提取
2.1 提升小波变换
提升算法的中心思想是把小波滤波器分解为多个基本模块,分步完成。提升方案为:分裂、预测和更新[14],如图2所示。
图2 提升方案示意图
1)分裂
2)预测
预测的核心是利用ej−1与oj−1之间的相关性,用来预测差值对应于sj的高频分量,表示预测算子:
3)更新
为了保留sj的整体特征,还需要一个更新过程:
式中,sj−1是sj的低频分量;是更新算子。
经过以上操作,输入信号sj分解为低频分量sj−1和高频分量dj−1;低频分量sj−1可以继续分解,重复上述3个步骤,sj−1分解为sj−2和dj−2;经过n次分解后,sj可表示为其中sj−n是sj的低频分量,而则是sj的由低到高的高频分量序列。
图像经提升变换后可以获得4个子图,依次是:低频子图(LL)、水平高频子图(HL)、垂直高频子图(LH)及对角高频子图(HH)。经过k次分解后,低频分量的大小变为原图的1/4k倍,如图3所示。
图3 提升小波3次分解示意图
2.2 局部特征提取
2.2.1 局部二值模式(LBP)
LBP是一种用来描述图像局部特征的算子,其定义为:在像素3×3邻域内,如果邻域像素值大于中心像素值,那么编码为1;反之,为0,如图4所示。
图4 LBP算子示意图
由于LBP算子不能分析不同尺度和频率的纹理特征,文献[7]提出了LBP圆形算子。假设gc为圆形邻域的中心像素值,则就是以R为半径的圆环上对称分布的P个邻域的像素值。
像素点gc的LBP值可以用公式表示为:
通常用LBP模式的统计直方图来描述图像的信息,上面的圆形算子会产生2P种LBP模式,这就使得直方图维数过多,并且直方图也过于稀疏,因此,文献[12]又提出一种均匀模式(uniform pattern)用来对LBP降维。当某个LBP模式对应的二进制数由0到1或由1到0的变化不多于两次时,那么这个LBP模式就是一个均匀模式类,可以表示为:
2.2.2 梯度方向算子(GD)
梯度方向是指中心像素点与相邻像素点的方向角度的变化率[15-16]。如式(6)所示:
为了方便计算,把θ量化为T个主方向。量化之前,做映射:其中:
量化函数为:
如T=8,这T个主方向就是内的值被量化为ϕt。
图5 LBP-GD特征提取过程
2.2.3 LBP-GD算子
相较于人脸识别,表情识别的难度更大,所以对表情细节特征的提取特别关键。由于LBP很难描述纹理方向的微小变化,因此,本文在LBP特征中加入梯度方向信息,也就是LBP-GD算子。首先,把图像分为9个互不重叠的子块,提取每个子块的GD特征和LBP特征并把两种特征融合,就获得了每个子块的LBP-GD特征然后把9个子块的LBP-GD特征按顺序级联成为一个空域增强的表情特征向量其中为第i个子块的加权系数。具体过程如图5所示。
2.3 提升小波和LBP-GD特征融合
图像经提升小波变换后得到的低频分量是原图像的近似描述,低频分量包含图像信号的整体特征,可以稳定的表达面部的表情变化。LBP-GD特征包含表情的纹理及细节信息,在判别表情时可以提供更为精细的确认[16]。因此,本文用提升小波的低频分量特征与LBP-GD特征融合的方法来识别表情。如果提升小波的低频分量特征为LBP-GD特征为那么融合后的特征向量为:
3 实验结果与分析
为验证提出方法的有效性,在JAFFE和CK表情库上分别进行与人相关和与人无关两种类型实验。
JAFFE表情库包含10位日本女性的7种(高兴、生气、害怕、厌恶、悲哀、吃惊、中性)不同表情,每种表情有2~4张,共213张图像。从JAFFE表情库中选取10个人的6种基本表情图像,共182张。为了保证实验的合理性,与人相关的实验设计为:从每人的6种表情中各选出1幅作为测试集,其余的作为训练集,实验进行3次取平均值。与人无关的实验设计为:选出1人的所有图像为测试集,其余的为训练集,采取十折交叉法,取平均值作为最终识别率。
CK表情库由123人的图像序列组成,包含6种基本表情(害怕、生气、厌恶、悲哀、高兴、吃惊)、中性和蔑视。从中选出40人的6种基本表情,每种表情各取4张,一共960张,进行与人相关和与人无关的实验。
首先,对图像进行预处理,以减少其他因素的干扰。在提取LBP-GD特征之前对图像进行分块,由于人脸表情器官所蕴含信息的差异性,本文设计了如图6所示的一种不规则的分块方式,并对每个子块设置不同的权值系数。在本次实验中,LBP算子中的P和R分别取值为8和1,GD算子中的主方向T设为8。进行多次实验发现,当子块的加权系数为{5,3,5,3,2,3,1,5,1}时可以得到较好的表情识别结果,那么相应的LBP-GD特征为其中为第i个子块的LBP-GD特征。所以LBP-GD特征的总维数为比传统LBP特征的维数(256×9)极大减少。
图6 面部分块方式
用表1、表2分别表示采用不同的分块方式在不用表情库的识别率。从表1、表2中的数据可以看出,如果不对图像分块,则识别率很低,主要原因就是丢失了一些结构上的细节信息,所以在提取LBP特征时一般会先对图像进行n×n分块。把图像按3×3规则分块后,在JAFFE和CK上的识别率都显著提高。通过对比实验可知,在对图像使用相同分块方式的情况下,LBP-GD特征在两个表情库上的表现都比LBP特征好。观察图6a可知,规则分块方式会把眼睛、鼻子、嘴划分到不同的子块中,进而分散了表情信息。而本文提出的不规则分块方式根据这些表情器官的结构特点进行分块,能够突出表情变化的主要区域。从表1、表2中的数据可以得出结论:采用不规则分块方式和LBP-GD特征可以提高表情识别率。
表1 采用不同的分块方式在JAFFE上的识别率 %
表2 采用不同的分块方式在CK上的识别率 %
提升小波具有多分辨率的特性,不同分解次数得到的低频分量包含的表情信息不同,所以分解次数的选择就非常重要。选择提升小波的低频分量用作表情特征,对图像进行1~4次分解,在JAFFE和CK上的识别率如表3~6所示。
表4 1~4次的低频分量在CK上的识别率 %
表5 1~4次的低频分量在JAFFE上的训练时间 s
表6 1~4次的低频分量在CK上的训练时间 s
由表3、表4可以看出,对图像进行1~2次分解时得到的识别率差别不大。但是从第3次分解开始,在两个表情库上识别率都开始下降。因为随着分解次数的增多,低频分量中包含的信息量减少,不能准确描述表情变化,所以放弃3次及以上的小波分解。在数据量方面,2次分解得到的低频分量的向量维数为32×32,是1次分解得到的低频分量向量维数的1/4。在训练时间方面,由表5和表6可以看出,2次分解在两个表情库上所用的时间均少于1次分解。综合以上两方面因素,选择2次小波分解来进行实验。
对图像进行2次小波分解,将得到的低频分量特征和高频分量特征结合来识别表情。表7、表8分别表示不同情况下,在不同表情库上的识别率。
表7 在JAFFE上的识别率 %
表8 在CK上的识别率 %
从表7和表8可以看出,加入不同方向的高频细节分量后,有的方向上的识别率提高,有的方向上的识别率反而下降。主要原因是加入高频分量后,在增加图像细节信息的同时也造成了信息冗余,或者是该方向的高频信息中可能包含与表情无关的信息,进而影响了识别性能。
相较于高频分量特征,LBP-GD特征可以准确描述不同方向上眼睛、鼻子、嘴等关键表情区域的灰度变化趋势,因此本文采用将LBP-GD特征和提升小波的低频分量特征加权融合的特征提取方法,然后用K近邻分类,实验结果如表9所示。
从表10可以看出,在与人相关的实验中,本文算法要优于同类算法的识别结果。现阶段,多数表情识别都是基于与人相关的实验,考虑到应用方面,与人无关的实验更有研究价值。从表9可知,本文采用的特征融合方法不仅在与人相关的实验中取得较高的识别率,在与人无关的实验中也能实现不错的分类结果,有较高的实用性,同时过程较为简单,易于实现。
表9 LBP-GD特征和低频分量特征加权融合的识别率 %
表10 算法性能比较(与人相关)
4 结束语
本文将提升小波与LBP-GD特征结合,可以得到较高的表情识别率。首先,由于人脸表情器官所蕴含信息的差异性,本文设计了一种不规则的分块方式,并为每个子块设置不同的权值系数。其次,LBP-GD特征可以有效刻画纹理的方向信息,同时保持LBP本身的优点,因此对表情变化的描述更加高效。表情图像经过提升小波分解后得到的低频分量集中了原图中的大部分信息,并且维数少,大大减少了数据量。实验结果表明,将提升小波的低频分量特征和LBP-GD特征结合的特征提取方法能够准确的提取脸部的表情信息,并且计算量小、具有较高的识别率。