0引言随着人工智能的快速发展,人们对机器的情感智能越来越关注。继1970年人工智能创始人之一明斯基(Minsky)在《脑智社会(The Society of Mind)》专著中指出:“问题不在于智能机器能否有情感,而在于没有情感的机器能否实现智能”表述后(Minsky,1986),2006年明斯基又在《情感机器(The Emotion Machine)》一书中强调“人工智能=认知智能+情感智能”(Minsky,2006)。2017年,斯坦福大学李飞飞教授在公开演讲中指出:“我认为下一步人工智能的发展,需要加强对情感、情绪的了解”。2005年10月中国人工智能学会同意并报国家民政部批准成立了《人工心理与人工情感专业委员会》。可以说,“无情感不智能”逐步成为众多研究者的共识。其中,情感智能的首要任务就是让机器在语音、生理信号和视觉等方面感知情感。面部表情, 作为人们日常生活一种非语言交际可视信息,一定程度上是人们内在情绪情感的反映。随着摄像头的普及,通过分析面部表情来感知人类情感是一个比较实际的方案。事实上,目前面部表情分析已经成为计算机视觉和人工智能领域的重要方向,它的潜在应用包括远程教育、安全驾驶和服务机器人等存在情感人机交互需求的领域。比如,目前部分智能手机的相机使用了微笑表情触发自动拍照的功能,高端汽车使用摄像头监测驾驶员的情绪状态并采取相应的安全提示措施。在深度学习的成功背景下,面部表情分析也取得了较大的进展。比如,利用深度学习方法在传统的环境受控数据库CK+(the extended Cohn-Kanade dataset)上性能已经达到饱和(Meng等,2019)。然而,由于以下诸多问题和挑战,自然环境下的面部表情分析还远未解决:1) 相比人脸其他领域,面部表情数据库的数量较少,标注质量较低。例如,当前面部表情valence-arousal(愉悦度—唤醒度)分析还没有一个公认较好的数据库。2) 情感本身很微妙,很多时候是不确定的,由于标注者感知的主观性,实际环境中标注面部表情挑战非常大。这导致问题1)很难解决。3) 非受控环境中,人脸本身的质量问题,如人脸模糊、人脸尺寸小、姿态大以及遮挡等问题,导致在自然环境下的表情分析精度普遍不高。4) 由于深度学习对一些超参数比较敏感,当前基于深度学习的面部表情分析方法对比不公平或者对比性不强,同时导致可重复性较差。这些原因间接阻碍了面部表情分析方法的发展。为了推动面部表情分析的进一步发展,本文系统概述了面部表情分析的任务、进展和挑战,并对未来发展趋势进行了展望。1面部表情分析1.1表情分析相关任务面部表情分析最早可追溯到达尔文18世纪的论述(Darwin, 1872)。Suwa等人(1978)首次尝试跟踪20个人脸关键点来进行人脸序列表情自动分析。在后续40多年里,随着个人计算机的兴起,面部表情分析飞速发展。为了明确定义,本文讨论的面部表情(expression)分析指的是计算机通过人脸信息自动分析面部运动或面部表情。在计算机视觉领域,有时候很容易把面部表情和情感(emotion)分析混淆在一起。事实上,面部表情虽然能够传递内在情感信息,但是很多时候也表达意图以及其他交际信息(Barrett等,2019),而情感的确定还需要更多信息,比如生理、环境等。面部表情分析至少可分为3个主要任务:1)离散表情类别分类(如图 1);2)表情运动单元检测(如图 2);3)愉悦度—唤醒度回归(如图 3)。1971年,Ekman和Friesen(1971)提出情感存在6种基本类别,包括:高兴(Happy)、悲伤(Sad)、愤怒(Anger)、厌恶(Disgust)、吃惊(Surprise)和恐惧(Fear)。随后,Ekman和Heider(1988)又把新发现的“蔑视(contempt)”添加到基本表情中。对这些基本面部表情类别的分析,就是离散表情类别分类任务,也就是通常说的人脸表情识别。然而,日常生活中这些定义的基本表情发生的概率很小,出现比较多的往往是一些面部区域性微小动作。鉴于此,Ekman和Friesen(1978)又提出了面部动作编码系统(facial action coding system, FACS),包含了40多种面部动作单元,比如外眉毛上翘、嘴角后拉等,并进一步提出一个具有情感的面部动作系统(emotional facial action coding system, EMFACS)把FACS和基本表情类别进行对应(Friesen和Ekman,1983)。此后,面部动作单元(action unit, AU)检测成为面部表情分析中一个重要方向。Russell(1980)从心理学角度把情感分成一个连续2维圆环,即愉悦度—唤醒度(valence-arousal, V-A),心理学家Lisa对这一情感模型进行了扩展研究(Feldman, 1995)。V-A模型不强制对情感分类,保留了情感的连续性,但这种连续模型实际中可标注性较差。到目前为此,还没有一个公认可靠的V-A标注视觉数据库。 图1 离散表情类别 Discrete facial expression categoriesFig 1 图2 面部动作编码系统的运动单元示例 Some examples of facial action units in facial a action coding systemFig 2 图3 表情愉悦度—唤醒度(V-A)模型 The facial Valence-Arousal modelFig 31.2表情分析框架如图 4所示,面部表情分析的标注框架一般包含3个步骤:人脸获取、表情特征获取和表情分析结果输出。 图4 面部表情分析的标准框架 The standard framework for facial expression analysisFig 4人脸获取是所有人脸分析相关任务的首要步骤,一般包含人脸检测、人脸对齐和裁剪。常用的传统人脸检测器包括Viola-Jones检测器(Viola和Jones,2004),HOG(histogram of oriented gradient)检测器(Dalal和Triggs,2005)等。由于传统方法使用的设计特征对光照、遮挡和姿态等不够鲁棒,目前使用较多的是基于深度学习的人脸检测器,常用的包括MTCNN(multi-task cascaded convolutional networks)(Zhang等,2016),SSD(single shot multi-boxes detector) (Liu等,2016),YOLO(you only look once)(Redmon等,2016)等。更多自然场景下优秀的人脸检测器可参见WIDER Face检测结果公开网站。为了消除平面旋转及平移的干扰,一般在人脸检测之后会利用关键点信息和预设定模板将人脸统一对齐再裁剪出人脸。获得人脸区域后,需要把人脸图像转换成特征向量。比如利用局部二值模式(local binary pattern,LBP)(Shan等,2009)或者卷积神经网络(convolutional neural network, CNN)(Kahou等,2013)对图像进行特征抽取。获得特征向量后,如果是表情识别任务可以使用支持向量机(support vector machine, SVM)或者Softmax等分类器对类别进行分类,如果是AU检测任务则可以使用Sigmoid等方法进行多标签分类检测。值得注意的是,这里描述的是单幅图像的面部表情分析情景,如果是对视频进行表情分析的话,可能还包括人脸跟踪、帧融合、音视频融合等步骤。1.3表情分析数据库1998年之后,学术界提出了很多公开的表情分析数据库。不考虑图像或视频因素,大致可分为受控和非受控条件两类数据库。表 1总结了目前较为常用的公开表情数据集,其中前6个数据库的数据为实验室受控环境下采集,其他数据库来自互联网图像或视频。从表情分析任务看,大部分数据库都是为离散表情类别分类任务所提出,如JAFFE(the Japanses female facial expression database)(Lyons等,1998)、MMI(Pantic等,2005)和FERPlus(facial expression recognition plus)(Barsoum等,2016)等。常用于面部动作单元检测的数据库包括DISFA(Denver intensity of spontaneous facial action database)(Mavadati等,2013)、BP4D(Binghamton-Pittsburgh 4D spontaneous expression database)(Zhang等,2014)和EmotioNet(BenitezQuiroz等,2016)等。由于V-A是连续量,获取可靠的标注比较困难,目前可用的数据库较少,主要有SEMAINE(McKeown等,2012)和AFEW-VA(acted facial expressions in the wild with valence-arousal)(Kossaifi等,2017)等。从标注精确度看,由于受控环境下的数据少且皆为正面清晰人脸,标注可以经过心理学专家反复确认,一般认为这些数据库标注是完全可靠的,如CK+和JAFFE等。然而,像FERPlus(Barsoum等,2016)、RAF-DB(real-world affective faces database)(Li等,2017)和AffectNet(Mollahosseini等,2019)等大规模非受控环境数据,一般认为靠心理学专家确认的方式代价太高,因此通常是通过众包方式标注,每个样例得到多个标注后进行后处理。鉴于非受控环境下表情多样复杂,有些数据库开始针对复合类别和多标签问题进行了探究,如RAF-DB real-world affective faces database(Li等,2017)中也标注了“又怕又惊、又喜又惊”等12个复合表情;RAF-ML(real-world affective faces multi label)(Li和Deng,2019)保留了单图多标签性质;EmotioNet(Benitez-Quiroz等,2016)除了6个基本类别还带有17个复合情感标注。从标注规模上看,目前人工标注最多的是AffectNet(Mollahosseini等,2019)数据集,其次是EmotioNet(Benitez-Quiroz等,2016)。总体上,这两个数据集类别样本不平衡,且标注质量低。RAF-DB(Li等,2017)和FERPlus(Barsoum等,2016)分别由40多人和10人进行标注,一般认为它们是非受控环境下标注质量较高的数据库。 表1 常用的公开面部表情数据库 数据库 图像/视频数 标注情况 JAFFE(Lyons等,1998) 213个图像 7类 CK+(Lucey等,2010) 593个视频 7类+AU MMI(Pantic等,2005) 326个视频 7类 DISFA(Mavadati等,2013) 13万个视频帧 12 AUs BP4D(Zhang等,2014) 14万个视频帧 12 AUs Oulu-CASIA(Zhao等,2011) 2 880个视频 6类 FER2013(Goodfellow等,2013) 35 887个图像 8类 FERPlus(Barsoum等,2016) 35 887个图像 8类 AffectNet(Mollahosseini等,2019) 44万个图像 8类+V-A EmotioNet(Benitez-Quiroz等,2016) 10万个图像 23类表情+AUs RAF-DB(Li等,2017) 29 672个图像 7类+12复合类 RAF-ML(Li和Deng,2019) 4 908个图像 6类多标签 AFEW 8.0(Dhall等,2018) 1 809个视频 7类 AFEW-VA(Kossaifi等,2017) 600个视频 7类+V-A SEMAINE(McKeown等,2012) 6.5 h V-A Some popular public facial expression datasetsTable 1 AffectNet和EmotioNet数据量为手动标注图像数。AFEW8.0为acted facial expressions in the Wild Emotiw2018。2人脸表情识别方法鉴于当前大多数据库和方法都是为人脸表情识别任务(即离散类别分类)提出,本节主要集中回顾此任务的传统方法和最新进展,这些方法对另外两个任务也有借鉴意义。不考虑人脸获取策略,按照人脸表情特征的获取方式,本文将人脸表情识别方法粗略分为基于特征设计的识别方法、基于特征学习的识别方法以及基于AU推断的方法。更详细的方法综述和背景知识可参考文献Corneanu等人(2016),Li和Deng(2020)中的论述。2.1基于特征设计的方法特征设计曾经是计算机视觉所有任务的核心内容。设计的特征一般需要体现图像的纹理结构、几何结构等。对于人脸表情识别,基于特征设计的方法大致包含两种类型:表观特征和几何特征。在理想情况下,表观特征一般体现了人脸的纹理结构,比较流行的特征有局部二值模式(LBP)特征、Gabor特征、金字塔梯度直方图(HOG)特征、LBP-TOP(three orthogonal planes)特征等。Shan等人(2009)使用LBP直方图作为全局人脸表情特征,Lyons等人(1998)以及Bashyal和Venayagamoorthy(2008)使用不同尺度和方向的Gabor滤波器进行特征提取,Li等人(2009)使用金字塔HOG特征并用词袋模型(bag of words,BoW)进行特征编码,Dhall等人(2011)使用金字塔HOG特征和局部相位量化(local phase quantization, LPQ)特征,Zhao和Pietikainen(2007)提出一种LBP-TOP动态纹理描述特征并应用于视频人脸表情识别。几何特征从形状和距离信息对人脸进行描述,一定程度上能够反映出表情信息。Pantic和Patras(2006)使用自定义的关键点距离作为人脸表情特征,Tang和Huang(2008)计算3D人脸两两关键点的距离作为表情特征,Kotsia和Pitas(2007)使用3D Mesh网格形变参数作为人脸表情特征,Ramanathan等人(2006)使用3D形变模型(3D morphable model, 3DMM)进行配准并提取表情PCA(principal component analysis)系数作为特征表示。除了上述单独使用这两种特征,还有部分方法使用这些特征的组合,比如Dapogny等人(2015)使用了人脸关键点的距离、角度,以及金字塔HOG特征。一般地,提取这些设计的特征后,通常使用模式识别分类方法进行分类,比如K近邻、支持向量机(SVM)和多层感知器(multilayer perceptron,MLP)。2.2基于特征学习的方法特征学习方法通常是在给定任务目标后端到端地联合训练特征表示和分类器(通常为全连接层+Softmax)。早在2011年,图灵奖得主Hinton等人使用深度信念网络(deep belief network, DBN)和门控马尔可夫随机场(gated Markov random field, gated MRF)进行特征学习并使用SVM分类,在CK(Cohn-Kanade)数据库(Kanade等,2000)上达到了当时特征设计方法最好的效果(Ranzato等,2011)。之后,鉴于CNN在ImageNet竞赛中大幅度优于传统特征设计方法(Krizhevsky等,2012),深度学习被广泛地应用于人脸表情识别。2013年,Kahou等人(2013)和Tang(2013)使用较小的CNN模型分别在EmotiW2013和FER2013的比赛中获得冠军。基于DBN的思想,中国科学院计算技术研究所(Liu等,2013)提出一种AU导向的深度网络用于特征学习,该网络前端由卷积层和池化层组成,中间使用AU指导区域感受野,最后利用DBN进行层次特征学习。Liu等人(2014)基于Boosting策略,提出一种Boosted DBN进行迭代式特征学习。Khorrami等人(2015)使用一个3层CNN模型并可视化了每层学到的特征,表明学习的特征和AU区域紧密相关。Mollahosseini等人(2016)设计了一个更深的CNN网络,其包含2个常规卷积层和4个Inception层,在7个数据库上达到当时最好性能。Barsoum等人(2016)使用VGG(Visual Geometry Group)16模型在FERPlus数据库上探讨了如何利用多人标注信息进行训练。Fan等人(2016)使用了CNN和递归神经网络(recursive neural network,RNN)来进行视频中的表情识别,并在EmotiW2016竞赛中获得冠军。Cai等人(2018)和Li等人(2017)从深度网络的训练着手,分别提出了一种Island损失函数和局部信息保持的LP(locality-preserving)损失函数,以提高学习特征的鉴别性。Yang等人(2018)使用对抗生成网络和残差网络将表情人脸分解成中性成分和表情成分进行特征学习。考虑到目前大规模表情数据库中存在标注不一致问题,Zeng等人(2018)利用多数据库上的深度学习模型预测目标数据库样本,预测的结果用于辅助训练目标数据库潜在的正确标签,以提升特征学习的鲁棒性,Wang等人(2020b)在每个Batch使用自注意力机制和重标注方案,抑制表情不确定的样本。考虑到人脸的遮挡和大姿态问题,Li和Deng(2019),Wang等人(2020a)分别在特征层次和图像层次使用局部块注意力机制,以提升特征学习鉴别性。王善敏等人(2020)使用人脸关键点作为注意图引导深度网络进行表情特征学习。2.3基于AU推断的方法基于表情动作单元(AU)推断特定表情的方法把重点问题放到了AU检测任务。检测到表情相关的AU后,一般根据EMFACS(Friesen和Ekman,1983)和特定表情进行对应。该方法的核心是准确预测AU,有关AU检测方面本文推荐参考Zhi等人(2020)的综述。Velusamy等人(2011)检测AU后根据CK+数据库中AU和表情类别统计情况,建立AU到表情类别的映射矩阵,从而推断表情类别。Taheri等人(2014)探讨了AU字典和表情识别的结合。Ruiz等人(2015)将AU看做表情类别的隐含任务,利用大规模的表情数据对AU检测任务进行提升。此外,Affectiva公司发布的工具包AFFDEX SDK也是基于AU检测和EMFACS进行表情识别(McDuff等,2016),其中AU检测使用的方法是HOG特征和SVM分类器。虽然该SDK使用了比较传统的方法,但是实测效果和体验非常好。从该SDK的引用数据可知,很多商业项目都选择了该方案。3问题挑战与发展趋势从实际使用精度和学术上非受控环境人脸表情识别精度看,目前人脸表情识别远没有达到人脸识别的高度。本文认为其主要问题在于:可靠的表情数据量少、表情图像存在不确定性问题、非受控环境下人脸遮挡和姿态问题,以及方法的对比公平性和可重复性问题。下面分别阐述每个问题和解决方法的发展趋势。3.1可靠的表情数据规模较小目前,经心理学家验证的数据库,如CK+等,是公认的可靠表情数据。但是,这些数据库的规模非常小且是实验室受控环境下的正脸拍摄,在该类型数据库上训练的模型一般现实应用效果较差。例如使用深度学习方法,模型学习的特征可能是记住特定人的信息以及特定的表情表演方式,泛化能力较差。在非受控环境下采集的网络数据,如FERPlus和RAF-DB等数据库,经过多人众包标注可靠性有所增加,但是标注数量也仅在3万左右。利用数据驱动型深度学习方法,在该类数据库上直接训练的精度也不高。AffectNet虽然标注44万基本表情,但标注质量相对差,使得模型难以学习到真正的表情特征。近年来,缓解表情数据库规模问题最流行的策略是将物体识别模型或者人脸识别模型迁移到表情识别任务,即迁移学习方法。Ding等人(2017)提出一种FaceNet2ExpNet框架。该框架首先在大规模人脸识别数据库上进行训练,然后联合训练人脸表情和人脸识别,最后在人脸表情任务上进行微调以减少模型对人脸身份信息的依赖。在EmotiW2017的音视频情感识别竞赛中,Knyazev等人(2017)使用超大规模的私有人脸数据库训练的VGGFace网络在比赛中获得了亚军。在EmotiW2018的音视频情感识别比赛中,前5名的方法基本都使用了人脸识别模型和物体识别模型进行初始化。Zhou等人(2019)在EmotiW2019的音视频情感识别比赛中对人脸识别模型、人脸识别预训练的数据库等进行了综合评估。此外,除了迁移学习策略,利用半监督方法也是未来可能的发展趋势,其主要原因有:1)大规模人脸识别数据库中包含了非常多的表情人脸;2)像AffectNet和EmotioNet等数据库还有很大一部分表情人脸没有进行标注。最近,Liu等人(2020)建立了一种半监督人脸表情识别基本策略。3.2表情的不确定性问题对于基本表情识别而言,模棱两可的表情、低质量表情图像以及标注者的情感主观性导致表情类别很多时候不是唯一确定的,即表情存在不确定性(Wang等人,2020b)。表情的不确定性问题和噪声标签问题非常类似,它们的差别主要体现在:1)表情的不确定性部分是由于类别之间本身存在的模糊性,而一般物体分类的噪声标签是没有进行人工标注导致的;2)物体分类的噪声可以用人工标注方式进行有效消除,然而由于标注者的主观性,大规模的表情分类中噪声很难用标注的方式进行消除。表情的不确定性问题也导致了很难有较大规模的可靠表情数据库。为了缓解表情的不确定性问题,Zeng等人(2018),Wang等人(2020b)分别进行了初步探索。其中,Zeng等人(2018)利用多数据库上的深度学习模型预测结果辅助训练潜在的正确标签,以提升特征学习的鲁棒性。Wang等人(2020b)在每个Batch使用自注意力机制和重标注方案,抑制表情不确定的部分样本。鉴于基本表情分类不可避免出现的不确定性问题,将大规模表情问题定义成多标签表情分类问题(Li和Deng,2019)或者复合表情问题EmotioNet(Benitez-Quiroz等,2016)也是两种可选策略。3.3非受控环境的人脸遮挡和姿态问题类似于人脸识别,非受控自然环境下人脸表情识别受人脸的遮挡和姿态影响较大。传统方法研究人脸表情识别的遮挡问题一般是使用人工设定局部黑块方式(Kotsia等,2008),其不一定适合现实中的遮挡情况,如戴眼镜、戴口罩等。Wang等人(2020a)统计了在FERPlus数据库的测试集上的遮挡和大姿态识别情况,结果表明平均精度为86%左右的模型在遮挡和大姿态情况下的精度只有73%~75%。为了缓解遮挡和姿态对人脸表情识别的影响,利用人脸局部信息是比较公认的有效策略。Li和Deng(2019),Wang等人(2020a)分别在特征层次和图像层次使用局部块注意力机制,以提升模型对遮挡和姿态的鲁棒性。王善敏等人(2020)使用人脸关键点作为注意图引导深度网络,使得网络集中关注人脸关键区域提高模型的鲁棒性。另一个可能的策略是利用大规模人脸识别数据,先学习一个对姿态和遮挡鲁棒的人脸识别模型,然后对人脸表情识别进行微调。Ding等人(2020)使用VGGFace2数据库进行人脸识别模型预训练,最终得到的人脸表情识别性能比其他数据库预训练的模型好2%左右,充分表明先学习一个对姿态和遮挡鲁棒的人脸识别模型是可行的。3.4表情识别方法的对比性不强由于深度学习方法中超参数较多,最终性能对各个超参数都有一定的影响,且这种影响有时是新方法的关键,导致表情识别方法存在对比性不强以及可重复性不强问题。虽然这个问题是深度学习的一个普遍性问题,但是由于前面3个问题的存在,笔者认为超参数对表情识别性能的影响相对较大。比如其他参数相同情况下,在RAF-DB数据库上使用batch size为256训练的ResNet18模型(ImageNet预训练)比batch size为32训练的模型(RAF-DB测试精度约86%)平均精度低5~10个百分点。如此简单的基本方法就能获得86%的平均精度,已经优于最近很多发表方法。为了提高人脸表情识别方法的对比性,有必要在进行对比时将每种预训练模型和对性能敏感的参数进行讨论评估。为避免有些方法是在较低的基线方法时才有效,有必要在简单有效的基线方法(如使用预训练的ImageNet模型、人脸识别模型)基础上进行比较。4结语本文首先阐明了人脸表情分析的几个基本任务,描述了表情分析的基本流程,包括人脸检测对齐、特征获取和分析识别;接着,回顾了表情识别任务的传统方法和当前主流方法;最后,提出了表情识别任务的问题与挑战,以及解决方法的发展趋势。目前,虽然非受控自然环境下的表情分析得到较快发展,但是众多问题和挑战仍然有待解决。人脸表情分析是一个比较实用的任务,未来发展除了要讨论方法的精度也要关注方法的耗时以及存储消耗。在全面深度学习化的时代,人脸AU检测也在飞快发展,人脸表情识别未来可以考虑用非受控环境下高精度的人脸AU检测结果进行表情类别推断。由于人脸表情通常比较复杂多样,单一标签很难进行描述,未来多标签人脸表情问题应该受到更多关注。另外,表情和情感本身是连续性的,未来应加强对非受控条件人脸的2D V-A情感研究。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读