APP下载

改进的多尺度局部二值模式的表情识别方法

2017-10-20中北大学计算机与控制工程学院芦敏周海英

河北农机 2017年10期
关键词:二值顺时针人脸

中北大学计算机与控制工程学院 芦敏 周海英

改进的多尺度局部二值模式的表情识别方法

中北大学计算机与控制工程学院 芦敏 周海英

针对传统的局部二值模式(LBP)对局部特征描述不够充分的特点,提出一种改进的多尺度局部二值模式的人脸面部表情识别方法,在多尺度局部二值模式的基础上,通过引入一个可调参数α于编码中以调节局部纹理的细节提取控制。在每个区域图像中,将每个像素与可调参数α进行比较,计算它的顺时针编码值和逆时针编码值,并分别形成各自灰度直方图。上述方法在保留了局部特征的同时,可以有效降低噪声和光照的影响,增强了特征的鲁棒性。采用支持向量机(SVM)进行分类训练与测试。在三个数据集上进行的实验结果表明,采用带有可调参数的纹理细节控制策略可以得到一个较好的控制阈值,与多尺度局部二值模式以及双向局部二值模式(BLBP)相比较,提高了分类的准确率。

人脸表情识别;多尺度局部二值模式;可调参数;双向局部二值模式;支持向量机

引言

面部是情感交流的重要区域,人们可以通过面部表情的变化有效表达思想情感,也可以辨识情感状态,属于一种有效的非语言信息交流方式。表情识别研究具有重要的学术价值和应用前景,是人机交互、机器视觉、行为科学研究的重要方面,逐渐成为热点之一。

人脸表情识别(facial expression recognition,FER)系统包括预处理、人脸检测与区域分割、特征提取和分类四个部分。其中的特征提取是人脸表情识别系统的一个重要环节,可以对图像进行多尺度、多方向的纹理信息检测的Gabor小波变换所需时间长,产生的特征维数巨大,选择不同的降维方法会影响准确性。相比于Gabor小波变换,LBP算法可以快速对特征进行提取,不仅计算简单,而且纹理识别力强[1]。传统LBP算子存在不足之处,对灰度变化敏感,受噪声影响较大,这是由于它是通过比较中心像素与邻域像素的灰度值的大小获取特征,因此导致识别效果并不理想。

本文中提出了一种改进的多尺度局部二值模式的人脸面部表情识别方法。基于多尺度局部二值模式,引入一个可调参数α于编码中,针对每个人脸表情图像分别拆分形成上下两个区域图像,对每个区域中的像素计算它的顺时针编码值和逆时针编码值,并分别形成各自的两个灰度直方图,最后将上述四个直方图合并连接以得到一个统一的直方图表达,作为图像的整体特征。此方法可以更好地表示人脸表情的纹理特征,并减少噪声和光照的影响。在JAFFE数据集、TFELD数据集以及CK+数据集上的实验结果均表明,改进的多尺度局部二值模式用于人脸表情识别具有更高的识别准确率。

1 LBP算子理论

1.1 传统的局部二值模式

传统局部二值模式(Local BinaryPattern,LBP)用来描述图像局部的纹理特征,具有灰度不变性和旋转不变性等优点。传统LBP算子定义在3×3窗口内[1],当中心像素值小于邻域像素值时,就编码为1,否则编码为0。从左上角开始沿着顺时针方向读取数值,得到的8位二进制数,就是LBP编码值。将LBP编码值转换为十进制数,则得到该编码对应的LBP值。一个简单的传统局部二值模式编码过程如图1所示。

图1 LBP编码方式

给定一个像素点(xc,yc),LBP 编码如公式(1):

其中,P为邻域像素的个数,gc是中心像素的灰度值,gp是该像素每个邻域像素的灰度值。

1.2 多尺度局部二值模式

传统LBP算子的参考区域和参考点数局限于3×3的区域内,Ojala等人对传统LBP进行扩展[1],用于表达不同尺度的图像特征分布信息。此方法可以对邻域半径和参考点数进行改变,将邻域由矩形变为圆形。由于圆形邻域的取样方式不能保证像素点每次都落在整数点上,通常使用双线性插值的方法对这些没有完全落在整数点的像素点进行灰度值计算。给定一个像素点(xc,yc),LBP 编码如公式(2):

其中,P为等距离分布在圆形边缘上像素点的个数,R为半径,gc是中心像素灰度值,gp是该像素每个邻域像素的灰度值。

1.3 双向局部二值模式

传统的LBP中,通过沿顺时针方向循环来获得LBP编码。由于仅在顺时针方向上取得编码,因此获得的LBP码总是不能表示完整的纹理信息,并且对噪声和光线变化敏感。因此,Talele Kiran等人提出了双向LBP算子(BLBP)[2],沿顺时针方向以及逆时针方向获取完整的纹理信息。BLBP是对每个输入像素都给出两个LBP码,即顺时针编码的值和逆时针编码的值。给定一个像素点(xc,yc),LBP 的反向编码如公式(3):

其中,P为邻域像素的个数,gc是中心像素的灰度值,gp是该像素每个邻域像素的灰度值。

2 改进的多尺度局部二值模式

改进的多尺度局部二值模式算子是在多尺度局部二值模式的基础上提出的特征提取方法,由于人脸表情识别主要是对人脸的眼睛、眉毛、嘴巴等灰度变化比较明显的区域进行识别,而多尺度局部二值模式和BLBP都不能很好地将这些区域的特征突出,并且容易受到光照和噪声的影响,本文通过引入一个可调参数α,调节控制邻域像素点和输入像素进行比较时的阈值,如公式(4)所示,当α=0时就是传统的LBP算子。

当邻域像素灰度值与中心像素灰度值之间的差小于或等于给定的可调参数α时,则编码为0,否则编码为1。

给定一个像素点(xc,yc),R=1,P=8,为方便理解以 α=10 为例。根据公式(4)进行编码:

图2 输入图像模板

通过公式(4)计算得到中心像素gc=54的顺时针编码的值:

图3 顺时针编码方式

如图3所示进行编码得到改进的多尺度LBP编码方式的二进制编码为(b7,b6,b5,b4,b3,b2,b1,b0)=(11000111)2,改进的多尺度局部二值模式顺时针的十进制编码值=201。

图5(a)~(g)为选取不同的阈值α时多尺度局部二值模式顺时针编码的实验结果,α 的值分别为 0,5,10,15,20,25,30。容易看出当α值较小时,可以更多地描述出图像的细节特征,当α值较大时,则强调了邻域像素与输入像素之间的对比度,可以更好地描述灰度变化大的区域。但当α值太小时纹理特征过于详细,不利于提取本文所需的人脸五官区域的特征,并且容易受到噪声干扰,如图 5(a)、(b)、(c)所示。当 α 值太大时,又会丢失一些重要的纹理轮廓信息,如图 5(e)、(f)、(g)所示。依据图5(a)~(g)不同取α值时的结果图像可以看出多尺度局部二值模式顺时针编码时最佳的α值选取范围在15左右。

为提取到更加明显的人脸表情纹理特征,我们将每个像素顺时针编码得到的值与逆时针编码得到的值来表示输入像素的灰度值,也就是每个像素都用两个值来表示。顺时针编码方式即公式(4)所示,逆时针编码方式依据公式(5)进行,编码方式如图4所示。

图4 逆时针编码方式

如图4,进行逆时针编码得到LBP顺时针的二进制编码(b7,b6,b5,b4,b3,b2,b1,b0)=(11100011)2,LBP 顺时针的十进制编码=227。给定像素点(xc,yc)则用顺时针编码的值201和逆时针编码的值227表示。图5(h)~(n)为选取不同的阈值α时多尺度局部二值模式逆时针编码的实验结果,α的值分别为0,5,10,15,20,25,30。可以看出,多尺度局部二值模式逆时针编码时最佳的α值选取范围也在15左右。

图5 选取不同α值的多尺度局部二值模式顺时针编码图像

3 基于支持向量机(SVM)的分类算法

SVM主要建立一个超平面作为分类决策面[3],SVM从根本上讲是解决二分类问题[4],对于6种表情的分类是一个多分类问题,需要将其转换为二分类问题,通常处理的方式有“一对多”和“一对一”。

本文采用SVM中的“一对一”分类方式,训练模型时每次只需训练两种表情图片,计算量小,速度快。对于k个类别,构建k(k-1)/2个SVM,将测试样本输入由k类中第i类样本和第j类样本构造的二分类器中,这样在输入测试样本时,仅需在每个二分类器中判断属于其中哪一类而进行识别,无需同时与所有类别的表情进行对比,大大提高了识别准确率。

图6 JAFFE数据集部分人脸表情图片

本文针对人脸面部表情的6种表情进行训练,分别是生气、厌恶、害怕、开心、伤心、惊讶。如图6为JAFFE数据集中一个人的部分人脸表情图像。首先分别对不同类型的表情给定标签,6种表情的标签是 1,2,3,4,5,6,分别对应的表情类别是开心、惊讶、生气、厌恶、害怕、伤心。根据SVM“一对一”分类的原则,6种表情共需构建6(6-1)/2=15个SVM。将开心和惊讶的表情特征作为第一个SVM的训练数据,得到第一个二分类器;将开心和生气的表情特征作为第二个SVM的训练数据,得到第二个二分类器;依次类推,将害怕和伤心的表情特征作为第十五个SVM的训练数据,得到第十五个二分类器。

测试时,将测试样本输入已经构建好的二分类器中,如果SVM的输出结果为第i类,则第i类得票数加1,如果输出结果为第j类,则第j类得票数加1,依此类推,最后统计得票最多的类别作为最终的分类结果。

4 结果与分析

4.1 实验过程

从JAFFE数据库中选取出180张图片,生气、厌恶、害怕、开心、伤心和惊讶的图片个数均为30张。TFEID是台湾人脸表情库,共336张表情图片,包括8种表情。从中选取180张图片,生气、厌恶、害怕、开心、伤心和惊讶的图片个数均为30张。CK+数据集是由CK数据集扩展来的,是137个人的不同人脸表情视频帧,共593张表情图片,包括8种表情。从中选取180张图片,生气、厌恶、害怕、开心、伤心和惊讶的图片数均为30张进行实验。

图7 提取特征过程

对于不同邻域、不同采样点数的LBP算子,得到的模式数目也不同,并且随着采样点数的增加,得到的模式种类越来越多。模式种类数的增加会严重影响运算速度和运行效率,在特征描述时也会产生很大影响。因此,在使用LBP提取表情特征时,通常使用LBP统计直方图来反映图像的特征信息。

在判断不同人脸表情图片的相似性时,用一个直方图来表示图像特征,会丢失一些局部差异信息[5],因此通过分块的方式将图片分成多个部分,本实验中首先将人脸部分提取出来,将每幅人脸表情图片分成上半部分和下半部分,上半部分包括眉毛和眼睛,下半部分包括鼻子和嘴巴。使用改进的多尺度局部二值模式算子分别统计每个部分各个像素的特征,得到每部分的统计直方图,将其串接起来得到最终特征。然后,通过第三部分介绍的SVM进行训练和测试。实验环境为Matlab R2015b,提取特征过程见图7。

4.2 实验结果比较

通过在JAFFE数据集、TFEID数据集上分别使用多尺度局部二值模式算子、BLBP算子和本文改进的多尺度局部二值模式算子相比较,α=0时各算法的识别结果见表1、表2和表3。本文方法的表情识别率相比其他两种方法都有一定的提高。

表1 在JAFFE数据集上不同算子的识别率表

表2 在TFEID数据集上不同算子的识别率表

表3 在CK+数据集上不同算子的识别率

从表1、表2、表3可以看出在α=0的情况下,本文提出的方法识别准确率最高,其次是多尺度局部二值模式。当α=15时,在两个数据集上对本文改进的多尺度局部二值模式和多尺度局部二值模式进行实验,结果如图8所示。可以清晰地看出,在α=15的情况下,本文的算法在两个数据集上进行人脸表情识别比多尺度局部二值模式算子识别效果好,但是对于个别表情的识别准确率不佳,而本文改进的多尺度局部二值模式算子准确率均高于多尺度局部二值模式,并且准确率达到100%,充分证明了本文改进的多尺度局部二值模式在人脸表情识别上得到了较好的效果。

图8 α=15时在各数据集的识别准确

5 结束语

本文针对多尺度局部二值模式对细节特征描述不够充分并且容易受噪声和光照影响的特点,提出一种改进的多尺度局部二值模式的人脸面部表情识别方法,为二值编码的过程引入一个可变参数α,实验证明此参数对于识别准确率影响很大。在选择最优参数的情况下,将每个输入像素的顺时针编码和逆时针编码得到的值作为此像素的灰度值,使每个像素都用两个值来表示,增加细节特征,减少噪声和光照干扰,增强鲁棒性。通过SVM中“一对一”的方法进行分类训练,并且在JAFFE数据集、TFEID数据集上进行测试。实验结果表明,改进的多尺度局部二值模式与双向局部二值模式和多尺度局部二值模式相比较,识别率都有提高,充分说明了改进的多尺度局部二值模式可以更好地描述人脸表情识别所需的纹理特征。

[1]童莹.一种方向性的局部二值模式在人脸表情识别中的应用[N].智能系统学,2015,10(03)∶422~428.

[2]Talele Kiran,Tuckley Kushal.Facial expression classification using support vectormachine based on bidirectional local binary pattern histogram feature descriptor [C].2016 17th IEEE/ACIS International ConferenceonSoftware Engineering, ArtificialIntelligence,Networking and Parallel/Distributed.

[3]刘帅帅,田彦涛,郭冬梅等.基于混合特征和SVM的人脸表情识别算法[C].2009中国智能自动化会议论文集,2009,1395~1400.

[4]李明,陈凡,雷萌等.基于LVQ与SVM算法的近红外光谱煤产地鉴别[J].光谱学与光谱分析,2016,36(09)2793~2797.

[5]王进,颉小凤,胡明星等.基于LBP预处理和子图像特征采样的人脸识别[N].江苏大学学报,2016,37(01)∶85~91.

[6]张明恒,郑雨,赵一兵等.基于SVM的驾驶员面部朝向检测[N].大连理工大学报,2015,53(06)∶879~884.

芦敏,女,1992年出生,山西省太原市人,硕士,研究方向:模式识别。

猜你喜欢

二值顺时针人脸
有特点的人脸
一起学画人脸
最后才吃梨
图形前线
三国漫——人脸解锁
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
基于稀疏表示的二值图像超分辨率重建算法
为什么表的指针都按照顺时针方向转动
心情不好