论文部分内容阅读
摘要:情绪识别是当前人工智能和机器学习研究领域的热点问题,情绪识别目前多采用面部表情、身体行为和语音信号分析法。该文提出了一种基于时空兴趣点的情绪识别算法,该算法从包含情绪特征的视频中提取大量的时空兴趣点,并将兴趣点进行优化处理,从而对情绪进行袁征,最后利用最近邻分类和支持向量分类分别进行情绪识别。实验在FABO数据库下,分析了开心,悲伤,恐惧,愤怒,迷惑,无聊,惊喜七种不同的情绪,分别对面部和面部结合肢体动作两种情况进行了测试,其中最佳识别率能达到80.5%,证明了该算法的有效性和鲁棒性。
关键词:时空兴趣点;情绪识别;特征提取;最近邻分类;支持向量机;面部表情;肢体动作
中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2017)13-0159-03
1概述
随着计算机视觉和多媒体技术的进步,智能情绪识别分析已是目前计算机视觉中最活跃的研究领域之一。其目的是对人类的图像序列进行检测、跟踪和识别,更科学地解释人类行为。情绪识别可以应用于生活的各个方面:游戏厂商可以智能分析玩家的情绪,根据不同表情针对性地和玩家交互,提高游戏的体验;相机厂商可以利用该项技术捕捉人类表情,比如当需要一张微笑或者生气的照片时,可以捕获被拍人员的面部表情并快速完成拍照工作;政府或社会学家可以在公共场合安装摄像头,分析整个社会群体的表情以了解人们的生活工作压力;商厦可以根据顾客对商品的购物时的动作及表情视频,对产品做相关的市场调查。
目前的情绪识别主要是基于面部表情的情绪识别,研究方法以提取二维面部特征为主,近年来,国内外的专家学者在面部表情识别领域尝试利用不同的方法以得到更高的识别率。而特征提取和分类识别是面部表情识别研究中两个非常重要的步骤,因此专家学者尝试了各种各样的方法,都在着重提高这两个关键技术。而基于肢体动作的情绪识别还处在启蒙阶段,主要工作是建立动作模型和动作分类,如刘艳结合人工智能和机器学习等技术,提取运动视频中的肢体动作特征,构建人类情绪的集合,并且建立情绪与动作之间的映射关系模型,从而有效地从运动视频中识别出运动人的情绪信息。本文将面部表情与肢体动作相结合进行时空兴趣点提取,将其转化为情绪特征,并利用分类器进行情绪识别。
2基于时空兴趣点的情绪识别模型
本文通过对若干输入视频数据的训练样本进行检测,得到大量时空兴趣点,并用非极大值抑制方法对时空兴趣点进行删减处理,得到更为有效的兴趣点,再将包含兴趣点的固定长方体区域的亮度梯度转化为特征描述符,用不同的分类器对特征描述符训练学习得到相应模型。再利用训练后的模型,输入测试视频数据,采用和训练样本相同的方法提取时空兴趣点,得到特征描述符,包括所设置参数不变,并利用最近邻分类和支持向量分类分别进行情绪识别。整個流程如图1所示。
3时空特征
经研究发现,视频数据在时间和空间两个维度上都剧烈变化的地方,往往伴随时空事件的发生。因此,问题的关键在于如何从视频中准确地抽取代表时空事件的兴趣点,并用其表征情绪。本文采用Dollar提出的基于Gaussian滤波器和Gabor滤波器相结合的时空兴趣点检测方法,首先在空间域上使用Gaussian滤波器对图像进行滤波,然后在时间域上使用一维的Gabor滤波器作用于图像序列,定义响应函数如下:
定义时空窗的大小为(x,y,t)=(2□3σ□ 1,2□3σ□ 1,2□3τ□ 1),为了提取兴趣点,采用非极大值抑制方法搜索局部极大值,即判断该点是否为其时空窗内满足一定阈值条件的最大值。虽然这种方法能够检测到很多的兴趣点,但是过多的兴趣点反而会使得实验结果不准确,所以有必要控制兴趣点的个数,可以设定阈值,取比阈值大的几百个作为最终的兴趣点。通过以上方法得到兴趣点,并且将包含兴趣点的时空窗定义为长方体,如图2所示。
图2所示为视频中的可视化的长方体。而对于一个长方体,因为数据量是比较大的,直接作为特征比较是不合适的,因此需要更进一步地,创建一个长方体描述符。首先在长方体上加以2种不同尺度的高斯滤波,得到更丰富的特征,然后计算长方体中每个点的亮度梯度,所得到的特征向量维度仍然很高,最后采用PCA降维的方法,得到长方体特征描述符。
4情绪分类器
对于已经提取好的时空特征,本文用KNN(k-NearestNeighbor,近邻分类器)和SVM(Support Vector Machine,支持向量机)两种分类器进行分类,并且根据分类识别效果进行分析对比。
4.1KNN分类器
KNN算法最初是由Cover和Hart于1968年提出的,已经是一个理论上非常成熟的方法,其思路非常简单直观,优点是易于快速实现,以及错误低。KNN是一种无参分类器,对于一个测试样本,在训练样本的特征空间中搜索与之最近的k个样本,如果这五个样本中属于某一个最多,那么就认为该测试数据属于哪一类。本文采用的是1NN,即最近邻分类,距离的度量为x2距离,当测试视频特征向量与某个训练视频特征向量之间的x2距离最小时,就判断测试视频的情绪属于该训练视频的标签情绪类型。
4.2SVM分类器
除了1NN,基于贝叶斯学习理论的SVM也是一种极为有效的判别方法。SVM的原理是首先将特征向量映射到高维特征空间,然后最大间隔地找到一个线性分离超平面分离这个高维空间的数据。给一组训练标记的情绪视频{(xo,yi),i=1,…,l},其中xi∈{1,-1},测试样本x通过以下函数分类:
5实验及结果分析
5.1情绪数据库介绍
研究表明,人类存在几种核心情绪,是人类的基本情绪也是衍生其他情绪的基础。其中开心(happiness),愤怒(anger),悲伤(sadness),恐惧(fear)这四种情绪是当前情绪识别领域中研究最多的情绪。 本文采用的情绪数据库是FABO视频数据库,FABO数据库包含两种视频库:1)受试者只做面部表情2)受试者坐在桌子前做面部表情的同时并带有上半身的肢体动作。FABO数据库受试者一共23人,12名女性和11名男性,年龄均在20岁到50岁之间。本文将研究FABO数据库中开心(happiness),悲伤(sadness),恐惧(fear),愤怒(anger),迷惑(puzzlement),无聊(bore-dora)。惊喜(Pleasant surprise,图3和图4中用Psurprise简写)七种情绪。本文在FABO数据库的基础上做了两个实验,5.2节为实验一,面部情绪识别,5.3节为实验二,面部与肢体动作结合的情绪识别。
5.2面部情绪识别
实验一选取9个人的面部表情视频,在相同的背景下,每人表达愤怒、厌恶、恐惧、开心、悲伤、无聊和惊喜七种不同情绪。某些情绪表达是容易区分的,如无聊和惊喜,有些是非常相似的,如迷惑和悲伤。每种情绪视频都在2秒左右。用1NN方法和SVM方法分类,得到了交叉混淆矩阵,如图3所示,左边用INN分类的识别率为59.2%,右边用SVM分类的识别率是64.3%。
5.3面部与肢体动作结合的情绪识别
实验二在面部表情与肢体动作结合的前提下,对FAB0数据库的视频进行情绪识别,本次测试样本是由9个不同的人表达7种不同的情绪,一共63个视频序列,由于所选取的數据样本数不多,采用了Leave-one-out交叉验证的方法,将63个视频数据分成9组,每组7个数据,每次取8组训练另1组测试。重复计算5遍,取平均值,用1NN方法和SVM方法分类,得到了交叉混淆矩阵,混淆矩阵对角线上的平均值就是识别率。如图4所示,左边用1NN分类的识别率为74.6%,右边用SVM分类的识别率是80.5%。
5.4实验对比
比较实验一和实验二,可以看出,对于FABO数据库,加上肢体动作的视频的情绪识别率要比只有面部表情特征的视频高。无论实验一还是实验二,SVM识别率都稍微优于1NN。SVM对于解决高维特征分类的问题更有优势,如表1所示。
在最近邻分类的基础上,加大测试视频的数量并没有明显的识别率上的变化,但是测试时间却大幅度增加。这说明本文算法在低样本数据的情绪识别上占据一定的优势,可以在较少的测数据情况下得到准确的结果,如表2所示。
此外,每个视频中的受试者的穿着颜色都不一样,但却不会对识别结果产生影响。可见时空特征的优点是鲁棒性强,能够更好地适应光照变化,不会因为摄像头移动以及视频中人的穿着和动作差异等环境因素而有所影响。
6结论
本文不仅研究了面部情绪识别,而且分析了面部与加肢体动作结合的情绪识别。在本文实验中,比较了1NN和SVM两种分类方法下的情绪识别效果,发现SVM稍优于1NN分类。并且在改变测试样本数的情况下,识别率并没有较大变化,体现了该算法对于小样本数据具有一定的优越性,可以在较短的时间内测出较高的准确率。本次实验测试样本是在同一背景条件下获得,复杂背景条件下的情绪识别有待于进一步研究。
关键词:时空兴趣点;情绪识别;特征提取;最近邻分类;支持向量机;面部表情;肢体动作
中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2017)13-0159-03
1概述
随着计算机视觉和多媒体技术的进步,智能情绪识别分析已是目前计算机视觉中最活跃的研究领域之一。其目的是对人类的图像序列进行检测、跟踪和识别,更科学地解释人类行为。情绪识别可以应用于生活的各个方面:游戏厂商可以智能分析玩家的情绪,根据不同表情针对性地和玩家交互,提高游戏的体验;相机厂商可以利用该项技术捕捉人类表情,比如当需要一张微笑或者生气的照片时,可以捕获被拍人员的面部表情并快速完成拍照工作;政府或社会学家可以在公共场合安装摄像头,分析整个社会群体的表情以了解人们的生活工作压力;商厦可以根据顾客对商品的购物时的动作及表情视频,对产品做相关的市场调查。
目前的情绪识别主要是基于面部表情的情绪识别,研究方法以提取二维面部特征为主,近年来,国内外的专家学者在面部表情识别领域尝试利用不同的方法以得到更高的识别率。而特征提取和分类识别是面部表情识别研究中两个非常重要的步骤,因此专家学者尝试了各种各样的方法,都在着重提高这两个关键技术。而基于肢体动作的情绪识别还处在启蒙阶段,主要工作是建立动作模型和动作分类,如刘艳结合人工智能和机器学习等技术,提取运动视频中的肢体动作特征,构建人类情绪的集合,并且建立情绪与动作之间的映射关系模型,从而有效地从运动视频中识别出运动人的情绪信息。本文将面部表情与肢体动作相结合进行时空兴趣点提取,将其转化为情绪特征,并利用分类器进行情绪识别。
2基于时空兴趣点的情绪识别模型
本文通过对若干输入视频数据的训练样本进行检测,得到大量时空兴趣点,并用非极大值抑制方法对时空兴趣点进行删减处理,得到更为有效的兴趣点,再将包含兴趣点的固定长方体区域的亮度梯度转化为特征描述符,用不同的分类器对特征描述符训练学习得到相应模型。再利用训练后的模型,输入测试视频数据,采用和训练样本相同的方法提取时空兴趣点,得到特征描述符,包括所设置参数不变,并利用最近邻分类和支持向量分类分别进行情绪识别。整個流程如图1所示。
3时空特征
经研究发现,视频数据在时间和空间两个维度上都剧烈变化的地方,往往伴随时空事件的发生。因此,问题的关键在于如何从视频中准确地抽取代表时空事件的兴趣点,并用其表征情绪。本文采用Dollar提出的基于Gaussian滤波器和Gabor滤波器相结合的时空兴趣点检测方法,首先在空间域上使用Gaussian滤波器对图像进行滤波,然后在时间域上使用一维的Gabor滤波器作用于图像序列,定义响应函数如下:
定义时空窗的大小为(x,y,t)=(2□3σ□ 1,2□3σ□ 1,2□3τ□ 1),为了提取兴趣点,采用非极大值抑制方法搜索局部极大值,即判断该点是否为其时空窗内满足一定阈值条件的最大值。虽然这种方法能够检测到很多的兴趣点,但是过多的兴趣点反而会使得实验结果不准确,所以有必要控制兴趣点的个数,可以设定阈值,取比阈值大的几百个作为最终的兴趣点。通过以上方法得到兴趣点,并且将包含兴趣点的时空窗定义为长方体,如图2所示。
图2所示为视频中的可视化的长方体。而对于一个长方体,因为数据量是比较大的,直接作为特征比较是不合适的,因此需要更进一步地,创建一个长方体描述符。首先在长方体上加以2种不同尺度的高斯滤波,得到更丰富的特征,然后计算长方体中每个点的亮度梯度,所得到的特征向量维度仍然很高,最后采用PCA降维的方法,得到长方体特征描述符。
4情绪分类器
对于已经提取好的时空特征,本文用KNN(k-NearestNeighbor,近邻分类器)和SVM(Support Vector Machine,支持向量机)两种分类器进行分类,并且根据分类识别效果进行分析对比。
4.1KNN分类器
KNN算法最初是由Cover和Hart于1968年提出的,已经是一个理论上非常成熟的方法,其思路非常简单直观,优点是易于快速实现,以及错误低。KNN是一种无参分类器,对于一个测试样本,在训练样本的特征空间中搜索与之最近的k个样本,如果这五个样本中属于某一个最多,那么就认为该测试数据属于哪一类。本文采用的是1NN,即最近邻分类,距离的度量为x2距离,当测试视频特征向量与某个训练视频特征向量之间的x2距离最小时,就判断测试视频的情绪属于该训练视频的标签情绪类型。
4.2SVM分类器
除了1NN,基于贝叶斯学习理论的SVM也是一种极为有效的判别方法。SVM的原理是首先将特征向量映射到高维特征空间,然后最大间隔地找到一个线性分离超平面分离这个高维空间的数据。给一组训练标记的情绪视频{(xo,yi),i=1,…,l},其中xi∈{1,-1},测试样本x通过以下函数分类:
5实验及结果分析
5.1情绪数据库介绍
研究表明,人类存在几种核心情绪,是人类的基本情绪也是衍生其他情绪的基础。其中开心(happiness),愤怒(anger),悲伤(sadness),恐惧(fear)这四种情绪是当前情绪识别领域中研究最多的情绪。 本文采用的情绪数据库是FABO视频数据库,FABO数据库包含两种视频库:1)受试者只做面部表情2)受试者坐在桌子前做面部表情的同时并带有上半身的肢体动作。FABO数据库受试者一共23人,12名女性和11名男性,年龄均在20岁到50岁之间。本文将研究FABO数据库中开心(happiness),悲伤(sadness),恐惧(fear),愤怒(anger),迷惑(puzzlement),无聊(bore-dora)。惊喜(Pleasant surprise,图3和图4中用Psurprise简写)七种情绪。本文在FABO数据库的基础上做了两个实验,5.2节为实验一,面部情绪识别,5.3节为实验二,面部与肢体动作结合的情绪识别。
5.2面部情绪识别
实验一选取9个人的面部表情视频,在相同的背景下,每人表达愤怒、厌恶、恐惧、开心、悲伤、无聊和惊喜七种不同情绪。某些情绪表达是容易区分的,如无聊和惊喜,有些是非常相似的,如迷惑和悲伤。每种情绪视频都在2秒左右。用1NN方法和SVM方法分类,得到了交叉混淆矩阵,如图3所示,左边用INN分类的识别率为59.2%,右边用SVM分类的识别率是64.3%。
5.3面部与肢体动作结合的情绪识别
实验二在面部表情与肢体动作结合的前提下,对FAB0数据库的视频进行情绪识别,本次测试样本是由9个不同的人表达7种不同的情绪,一共63个视频序列,由于所选取的數据样本数不多,采用了Leave-one-out交叉验证的方法,将63个视频数据分成9组,每组7个数据,每次取8组训练另1组测试。重复计算5遍,取平均值,用1NN方法和SVM方法分类,得到了交叉混淆矩阵,混淆矩阵对角线上的平均值就是识别率。如图4所示,左边用1NN分类的识别率为74.6%,右边用SVM分类的识别率是80.5%。
5.4实验对比
比较实验一和实验二,可以看出,对于FABO数据库,加上肢体动作的视频的情绪识别率要比只有面部表情特征的视频高。无论实验一还是实验二,SVM识别率都稍微优于1NN。SVM对于解决高维特征分类的问题更有优势,如表1所示。
在最近邻分类的基础上,加大测试视频的数量并没有明显的识别率上的变化,但是测试时间却大幅度增加。这说明本文算法在低样本数据的情绪识别上占据一定的优势,可以在较少的测数据情况下得到准确的结果,如表2所示。
此外,每个视频中的受试者的穿着颜色都不一样,但却不会对识别结果产生影响。可见时空特征的优点是鲁棒性强,能够更好地适应光照变化,不会因为摄像头移动以及视频中人的穿着和动作差异等环境因素而有所影响。
6结论
本文不仅研究了面部情绪识别,而且分析了面部与加肢体动作结合的情绪识别。在本文实验中,比较了1NN和SVM两种分类方法下的情绪识别效果,发现SVM稍优于1NN分类。并且在改变测试样本数的情况下,识别率并没有较大变化,体现了该算法对于小样本数据具有一定的优越性,可以在较短的时间内测出较高的准确率。本次实验测试样本是在同一背景条件下获得,复杂背景条件下的情绪识别有待于进一步研究。