APP下载

基于支持向量机的实时表情识别

2010-05-05张鹏贾银山刘陪胜

微型电脑应用 2010年6期
关键词:分类器准确率向量

张鹏,贾银山,刘陪胜

0 引言

面部表情在人们的交流中起着非常重要的作用,是人们进行非语言交流的一种重要方式。表情含有丰富的人体行为信息,是情感最主要的载体,是智能的体现,对它的研究可以进一步了解人类的心理状态。目前,对表情的研究主要分为心理学领域和计算机领域的研究。在计算机领域,面部表情分析是情感计算中的研究热点,其目的在于建立友好、人性化的人机交互界面,使计算机具备感知和理解人的情绪的能力。

面部表情是一种刻画情绪、认知、主体状态以及他们在社会交往中的作用和角色的方法[1]。就自动识别的观点来看,面部表情可以被认为是脸部组成部分和它们的空间关系的变形或是脸部的颜色变化。对面部表情自动识别的研究,围绕在这些变形或脸部颜色的静态或者动态特性的表示和分类上。

本文提出了在实时图像中通过对面部表情的识别,来自动识别人的情感的方法。它是基于支持向量机的机器学习方法。脸部特征跟踪器从视频流特征运动中收集了一系列位移,然后由已经训练好的SVM分类器去识别未知的表情。

1 面部特征的提取

选取适合于视频系统的特征位移方法来获取面部特征形变信息。在能够很好地反映表情变化的眉毛、眼睛、鼻子、嘴等五官周围标定23个特征点,其中鼻尖点与两眼内点作为标准化处理时的基准点,除鼻尖外的22个点作为面部的特征点。引用基准点的目的是对跟踪的特征点进行标准化,通过对3个基准点所构成三角形的平移及旋转的判断,得到其它特征点的准确位置和特征位移。从而消除由距离相机的远近、头部运动(如平移或头部倾斜)等引起的特征位移的误差,提高识别的准确率。

如图1所示,使用主动形状模型(ASM)[2][3]方法自动地对特征点进行标定,然后用改进的L-K光流算法[4]对标定的特征点进行跟踪,获得它们在随后一系列帧中的位置。对于每个表情,用中性表情和面部表情所表示的高峰帧特征点之间的欧氏距离来计算特征位移向量。图2所示,为每个表情建立其特有的特征运动模式。在运动量是最小值(初期的中性表情阶段)和在运动稳定的达到峰值时(表情序列的最后阶段),特征位置都会被自动捕获。

图1 面部特征点的标定与跟踪

图2 特征点运动模型

2 表情的分类

2.1 支持向量机

支持向量机(SVM)[5][6]是一种基于结构风险最小化原则的学习方法。它的基本思想是在样本空间或特征空间,构造出最优超平面,使得超平面与不同类样本集之间的距离最大,从而达到最大的泛化能力。其理论是从线性可分情况下的最优分类面发展而来的,基本思想可用图2的二维情况来说明。

图中实心点和空心点分别代表两类样本,H为分类线,H1和H2分别为过各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间隔(margin)。所谓最优分类线就是要求分类线不但能将两类正确分开,而且使分类间隔最大。

利用Langrange优化方法可以把上述最优分类面问题转化为其对偶问题:

α为与每个样本对应的Langrange乘子,求解对应的样本就是支持向量,得到最优分类函数:

对于非线性问题,可以通过非线性转化为某个高维空间中的线性问题,在变换空间最优分类超平面。选用合适的核函数K(xi,xj)满足Mercer条件变换到高维空间,并选取适当的惩罚参数C﹥0,得最优问题:

相应的分类函数为:

将SVM推广解决多分类问题[7]有两种方法,第一种方法是通过层叠的二值分类器,将多分类问题转化为二分类问题。第二种方法是通过修改目标函数,从根本上解决SVM处理多分类问题。目前多采用第一类方法。对于K类问题,给定训练集,其中。由此可见,求解多分类问题,实质上就是找到一个把Rn上的点分成K部分的规则。常用的方法有:

1)一对多SVM分类

一对多SVM分类是最为简单的,也是最为普通的实现方案。对于k(k≥2)类SVM分类问题,把其中某一类作为一类,其余k-1类视为一类,自然地将k分类问题转化为二分类问题。这种分类方法在训练过程中,每个分类函数都需要所有的样本参与。

2)一对一SVM分类

该方法在每两类训练一个分类器,因此对于一个k类问题,将有k(k-1)/2个分类函数。当对一个未知样本进行分类时,每个分类器都对其类进行判断,并为相应的类别“投上一票”,最后得票最多的类别即为该未知样本的类别。

3)层(树)分类方法

这种方法是一对一方法的改进,首先将所有类别分成两个子类,再将子类进一步划分成两个次级子类,如此循环下去,直到得到一个单独的类别为止,这样就得到一个倒立的二叉分类树。该方法将原有的多类问题同样分解成了一系列的两类分类问题,其中两个子类间的分类函数采用SVMs。

2.2 表情的分类

本文使用一种支持向量机编码多分类的方法,子分类器的数目N=log2K,表情类别数K=7,则子分类器的数目为3。对7种表情采用二进制编码,如表1:

表1 表情类别编码表

按顺序取编码的第一位0,1,0,1,0,1,0这7个数字意味着将第2、4、6类的样本作为正类,第1、3、5、7类的样本当作反类训练第一个子SVM1。第二位0,0,1,1,0,0,1这6个数字意味着将第3、4、7类的样本作为正类,第1、2、5、6类的样本当作反类训练第二个子SVM2.第三位0,0,0,0,1,1,1这7个数字意味着将第5、6、7类的样本作为正类,第1、2、3、4类的样本当作反类训练第三个子SVM3。

跟踪器从视频流中提取22个面部特征的位置,计算每个特征点在中性表情和表情的峰值之间的特征位移。这些特征位移及相应的表情类型作为SVM的输入,然后对SVM分类器进行训练。得到一个训练好的SVM分类器,对实时的未知的表情进行分类。分类过程用图4描述:

图4 分类流程图

其中逻辑运算包含两个步骤:

1.根据编码表将SVM输出转化为决策结果,如果SVM1输出{+1},则决策样本x的可能类别为(2,4,6)。

2.求出所有子SVM的决策输出集合的交集即是样本x所属类别。

对于新的测试样本,如3个SVM的输出依次为{+1,-1,+1},则3个支持向量机作出的决策分别是(2,4,6)、(1,2,5,6)、(5,6,7),可判断新的测试样本归为第6类--恐惧。

3 实验结果

为了确定特征位移和SVM对表情识别的准确率,我们最初评价我们的方法仍然使用的是Cohn-Kanade面部表情数据库[8]的图像。人工定义每幅图像特征点,然后获得中性面部表情和其它表情代表的帧之间的位移。用一套20个例子的基本表情用于训练,然后对15个未知的表情实例进行分类,取得了较高的分类准确率。

本文采用k-fold cross-validation检验方法对分类结果的评价,在k-fold cross- validation检验方法中,随机将数据库分为K个子集合作为训练集,此过程循环k次。

对于视频分类,试验使用的表情数据库包括对10个对象的六种基本表情的视频序列,视频序列是中性表情到表情高潮的变化序列,对每个表情采集了5-7个序列。并对每个表情帧进行标准化,以减少头部运动带来的分类误差。如表2,列出标准化与未标准化的识别准确率的差别。

表2 标准化与未标准化的识别率比较

训练集由每种表情的35个视频序列组成,各种表情剩下的一个序列用来构成测试集。完成一次识别后每种表情的第一个序列用来构成新的测试集,而原来测试集中的序列被包含在新的训练集中,这个过程一直进行到所有的视频序列都被用作测试集一次。分类准确率通过正确分类的面部表情序列的平均百分率来衡量。表3显示了分类的准确率。

表3 使用SVM分类的准确率

使SVM分类器得到较高的分类准确率的一个参数是核函数。本文比较了Sigmoid核函数和RBF核函数的分类效果,同时,本文还比较一对一多分类与编码多分类的识别效果。表4的试验结果表明,用编码多分类比一对一多分类方法明显地提高了识别率,而且所消耗的时间也要比一对一多分类方法小得多。

表4 识别效果比较

4 结论

在本文中,我们提出了在实时图像中表情识别的方法。试验结果显示,面部特征位移与SVM结合的方法用于表情分类具有较高的分类准确率。我们使用了ASM方法自动地对特征点进行标定,提高了特征点标定的效率。使用了改进的L-K光流算法,该方法更能适用于面部特征信息的提取,对面部特征点的跟踪准确率和鲁棒性都有所提高。使用了基于编码支持向量机的多分类方法,该方法在缩小消耗时间的同时也提高了识别准确率。

由于面部表情受文化、性别等因素影响,个体差别较大,且实验的数据样本有限,因此结果不具有普遍性。下一步的工作可以考虑以更大的数据集作为实验对象,建立更为普遍的表情模型。特征提取阶段的标准化程序应进一步加强,考虑由头部转动带来的误差,得到更加准确的特征位移,从而得到更高的分类准确率。

[1]Donato G,Barlett M S,Hager J C,Ekman P,Sejnowski T J.“Classifying Facial Actions”,IEEE Trans.Pattern Analysis and Machine Intelligence,Vol.21,No.10.974-989,1999.

[2]Cootes T F,Taylor C J,Cooper D H,and Haslam J.Training Models of Shape from Sets of Examples,in Proc.British Machine Vision Conference.Springer-Verlag,1992.9-18.

[3]Cootes T F,Taylor C J,Cooper D H,and Graham J,"Active Shape Models-Their Training and Application",Computer Vision and Image Understanding,61(I),19 95.38-5 9.

[4]Jean-Yves Bouguet.Pyramidal implementation of the Lucas Kanade feature tracker.Technical Report,Intel Corporation,Microprocessor Research Labs 2000.

[5]Vapnik V.The Nature of Statistical Learning Theory.New York: Springer-Verlag 1995.

[6]邓乃扬,田英杰.数据挖掘中的新方法-支持向量机[J].科学出版社.2006.

[7]郑勇涛,刘玉树.支持向量机解决多分类问题研究[J].计算机工程与应用.2005,第41卷第23期:190-192.

[8]Kanade T,Cohn J,and Tian Y.Comprehensive database for facial expression analysis.In Proceedings of the 4th IEEE International Conference on Automatic Face and Gesture Recognition(FG’00),46-53,2000.

猜你喜欢

分类器准确率向量
向量的分解
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
聚焦“向量与三角”创新题
高速公路车牌识别标识站准确率验证法
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
向量垂直在解析几何中的应用