情感识别是人工智能领域的热门话题。 此类技术最有趣的应用领域包括:驾驶员识别,市场研究,智能城市的视频分析系统,人机交互,监控在线课程的学生,可穿戴设备等。
今年,MDG将其夏季机器学习学校专用于此主题。 在本文中,我将简要介绍识别人的情绪状态的问题,并介绍解决方法。
什么是情感?
情绪是一种特殊的心理过程,表达一个人对自己与世界和自己的关系的体验。 根据其中一种理论,作者是俄罗斯生理学家P.K. Anokhin,体验情绪的能力是在进化过程中发展起来的,是使生物更成功地适应存在条件的一种手段。 情绪对于生存非常有用,它可以使生物快速,最经济地应对外部影响。
情感在人类生活和人际交往中发挥着重要作用。 它们可以通过多种方式表达:面部表情,姿势,运动反应,声音和自主反应(心率,血压,呼吸频率)。 但是,人的脸最具表现力。
每个人都以几种不同的方式表达情感。 美国著名心理学家保罗·埃克曼 ( Paul Ekman )研究了上个世纪70年代在巴布亚新几内亚孤立的部落的非语言行为,发现许多情绪是普遍的,可以是愤怒,恐惧,悲伤,厌恶,蔑视,惊奇和喜悦。被人所理解,无论其文化如何。
人们能够表达广泛的情感。 人们认为它们可以描述为基本情绪的组合(例如,怀旧是介于悲伤和喜悦之间的某种东西)。 但是这种分类方法并不总是很方便,因为 不允许量化情感的力量。 因此,连同离散的情感模型一起,开发了许多连续的情感模型。 罗素(J. Russell)的模型具有二维基础,其中每种情感都以符号(化合价)和强度(刺激性)为特征。 由于其简单性,Russell模型最近在自动分类面部表情的任务中变得越来越流行。
因此,我们发现,如果您不打算隐藏情绪唤醒,那么您的当前状态可以通过面部表情来估计。 此外,利用深度学习领域的现代成就,甚至有可能基于“对我说谎”(Lie to me)系列构建测谎器,该系列的科学基础由Paul Ekman直接提供。 但是,此任务远非简单。 正如神经科学家丽莎·费尔德曼·巴雷特(Lisa Feldman Barrett)的研究表明,在识别情绪时,一个人会积极地使用上下文信息:声音,动作,情况。 看看下面的照片,确实如此。 仅使用脸部区域,就不可能做出正确的预测。 在这方面,为了解决该问题,有必要使用附加的模态和关于信号随时间变化的信息。
在这里,我们将考虑仅分析两种模态的方法:音频和视频,因为这些信号可以非接触方式获得。 要完成该任务,您首先需要获取数据。 这是我所知道的最大的公开情感数据库列表。 这些数据库中的图像和视频已手动标记,其中一些使用Amazon Mechanical Turk。
情感分类的经典方法
从面部图像确定情感的最简单方法是基于关键点(面部标志)的分类,可以使用各种算法PDM , CML , AAM , DPM或CNN获得其坐标。 通常将其标记为5到68点,将它们与眉毛,眼睛,嘴唇,鼻子,下巴的位置绑在一起,从而可以部分捕获面部表情。 点的标准化坐标可以直接提交给分类器(例如,SVM或随机森林),并获得基本的解决方案。 自然,人员位置应保持一致。
简单使用没有视觉分量的坐标会导致有用信息的大量丢失,因此,在这些点上计算了各种描述符以改善系统: LBP , HOG , SIFT , LATCH等。将描述符连接起来并使用PCA缩小维数后,可以将所得的特征向量用于分类情绪。
链接到文章
但是,这种方法已经被认为是过时的,因为众所周知,深度卷积网络是可视数据分析的最佳选择。
使用深度学习对情绪进行分类
为了构建神经网络分类器,只需将一些具有基本架构的网络(先前在ImageNet上进行过训练)并重新训练最后几层就足够了。 因此,您可以获得用于分类各种数据的良好基本解决方案,但是考虑到任务的具体情况,用于大规模人脸识别任务的神经网络将更合适。
因此,为单个图像构建情感分类器非常简单,但是正如我们发现的那样,快照不能完全准确地反映人在特定情况下所经历的真实情感。 因此,为了提高系统的准确性,有必要分析帧的顺序。 有两种方法可以做到这一点。 第一种方法是将从CNN接收到的高级功能(将每个单独的帧分类到一个循环网络(例如LSTM)中)以捕获时间分量。
链接到文章
第二种方法是将在某些步骤中从视频中获取的一系列帧直接馈送到3D-CNN输入。 类似的CNN使用具有三个自由度的卷积将四维输入转换为三维特征图。
链接到文章
实际上,在一般情况下,可以通过构造这样的怪物来结合这两种方法。
链接到文章
情感的语音分类
基于视觉数据,可以高精度地预测情绪的迹象,但是优选在确定强度时使用语音信号 。 由于语音持续时间和说话者语音的高度可变性,因此分析音频要困难一些。 通常,它们不使用原始声波,而是使用各种符号集,例如:F0,MFCC,LPC,i-vector等。OpenSMILE开放库包含用于分析语音和音乐的丰富算法集,在识别语音情感方面非常有效。信号。 提取后,可以将属性提交给SVM或LSTM进行分类。
然而,最近,卷积神经网络也开始渗透到声音分析领域,取代了已建立的方法。 为了应用它们,声音以线性或梅尔尺度的频谱图的形式表示,然后,将它们与获得的频谱图一起使用,就像普通的二维图像一样。 在这种情况下,可以使用统计池或通过在体系结构中合并循环网络来优雅地解决沿时间轴的频谱图任意大小的问题。
链接到文章
视听情感识别
因此,我们研究了许多分析音频和视频模态的方法,最后阶段仍然存在-分类器的组合以输出最终解决方案。 最简单的方法是直接合并其评分。 在这种情况下,取最大值或平均值就足够了。 一个更困难的选择是在每种模式的嵌入级别进行组合。 SVM通常用于此目的,但这并不总是正确的,因为嵌入的速率可能不同。 在这方面,开发了更高级的算法,例如: 多核 学习和ModDrop 。
当然,值得一提的是一类所谓的端到端解决方案,可以直接对来自多个传感器的原始数据进行训练,而无需任何初步处理。
通常,自动识别情绪的任务还远远没有解决。 从去年“野外”竞赛中的“情感识别”结果来看, 最佳解决方案的准确率约为60%。 我希望本文中提供的信息足以尝试建立我们自己的识别情绪的系统。