-
面部表情蕴含着丰富的情绪变化和心理活动,是一种重要的非语言交往手段。文献[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)表情库上的识别结果验证了该方法的可行性。
HTML
-
为验证提出方法的有效性,在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特征为$ H = \{ 5{H_1}, 3{H_2}, 5{H_1}, 3{H_4}, 2{H_5}, 3{H_6}, {H_7}, 5{H_8}, {H_9}\} $,其中$ {H_i}(i = 1\, , 2, \cdots , 9) $为第i个子块的LBP-GD特征。所以LBP-GD特征的总维数为$ (59 + 8) \times 9 = 603 $,比传统LBP特征的维数$ (256 \times 9) $极大减少。
用表 1、表 2分别表示采用不同的分块方式在不用表情库的识别率。从表 1、表 2中的数据可以看出,如果不对图像分块,则识别率很低,主要原因就是丢失了一些结构上的细节信息,所以在提取LBP特征时一般会先对图像进行$ n \times n $分块。把图像按$规则分块后,在JAFFE和CK上的识别率都显著提高。通过对比实验可知,在对图像使用相同分块方式的情况下,LBP-GD特征在两个表情库上的表现都比LBP特征好。观察图 6a可知,规则分块方式会把眼睛、鼻子、嘴划分到不同的子块中,进而分散了表情信息。而本文提出的不规则分块方式根据这些表情器官的结构特点进行分块,能够突出表情变化的主要区域。从表 1、表 2中的数据可以得出结论:采用不规则分块方式和LBP-GD特征可以提高表情识别率。
% 分块方式 与人相关 与人无关 LBP(不分块) 76.11 45.83 LBP(3×3规则分块) 85.00 62.31 LBP-GD(3×3规则分块) 90.16 70.22 LBP-GD(3×3不规则分块) 96.67 73.52 % 分块方式 与人相关 与人无关 LBP(不分块) 81.13 51.23 LBP(3×3规则分块) 88.38 80.33 LBP-GD(3×3规则分块) 94.55 87.50 LBP-GD(3×3不规则分块) 98.81 89.47 提升小波具有多分辨率的特性,不同分解次数得到的低频分量包含的表情信息不同,所以分解次数的选择就非常重要。选择提升小波的低频分量用作表情特征,对图像进行1~4次分解,在JAFFE和CK上的识别率如表 3~6所示。
% 分解次数 与人相关 与人无关 1 95.56 72.21 2 95.56 71.75 3 88.89 67.92 4 80.56 58.75 % 分解次数 与人相关 与人无关 1 98.73 90.88 2 98.10 90.36 3 94.56 88.40 4 88.98 71.83 s 分解次数 与人相关 与人无关 1 0.79 1.04 2 0.67 0.80 3 0.57 0.74 4 0.55 0.71 s 分解次数 与人相关 与人无关 1 4.32 5.21 2 3.27 3.88 3 3.01 3.51 4 2.88 3.37 由表 3、表 4可以看出,对图像进行1~2次分解时得到的识别率差别不大。但是从第3次分解开始,在两个表情库上识别率都开始下降。因为随着分解次数的增多,低频分量中包含的信息量减少,不能准确描述表情变化,所以放弃3次及以上的小波分解。在数据量方面,2次分解得到的低频分量的向量维数为$ 32 \times 32 $,是1次分解得到的低频分量向量维数的$ 1/4 $。在训练时间方面,由表 5和表 6可以看出,2次分解在两个表情库上所用的时间均少于1次分解。综合以上两方面因素,选择2次小波分解来进行实验。
对图像进行2次小波分解,将得到的低频分量特征和高频分量特征结合来识别表情。表 7、表 8分别表示不同情况下,在不同表情库上的识别率。
% 分量特征 与人相关 与人无关 LL2 95.56 71.75 LL2+LH2 94.89 71.09 LL2+HL2 94.89 72.88 LL2+HH2 96.00 71.04 % 分量特征 与人相关 与人无关 LL2 98.10 90.36 LL2+LH2 98.87 91.13 LL2+HL2 97.63 91.27 LL2+HH2 98.55 89.74 从表 7和表 8可以看出,加入不同方向的高频细节分量后,有的方向上的识别率提高,有的方向上的识别率反而下降。主要原因是加入高频分量后,在增加图像细节信息的同时也造成了信息冗余,或者是该方向的高频信息中可能包含与表情无关的信息,进而影响了识别性能。
相较于高频分量特征,LBP-GD特征可以准确描述不同方向上眼睛、鼻子、嘴等关键表情区域的灰度变化趋势,因此本文采用将LBP-GD特征和提升小波的低频分量特征加权融合的特征提取方法,然后用K近邻分类,实验结果如表 9所示。
% 表情库 与人相关 与人无关 JAFFE 97.22 80.40 CK 99.37 95.42 从表 10可以看出,在与人相关的实验中,本文算法要优于同类算法的识别结果。现阶段,多数表情识别都是基于与人相关的实验,考虑到应用方面,与人无关的实验更有研究价值。从表 9可知,本文采用的特征融合方法不仅在与人相关的实验中取得较高的识别率,在与人无关的实验中也能实现不错的分类结果,有较高的实用性,同时过程较为简单,易于实现。