编者按:自古,“观色”即是全面分析人物的重要依据。在《论语.颜渊》中更是有,“夫达也者,质直而好义,察言而观色,虑以下人。”
而在计算机视觉领域,如果能够通过识别一个人的表情以观其色,即可为场景中出现的人物提供辅助的结构化信息,这在人机交互、安防等多个领域均有广泛的应用。
因此,在学术界衍生出了表情识别这一研究方向。传统的手工设计的面部特征,易受到光照变化等影响,面临真实场景中鲁棒性不足等问题,而近年来深度学习技术的出现,为表情识别带来了斐然的进展。
今天,来自北京邮电大学的邓伟洪教授,将为大家介绍如何利用深度学习,来让机器“观色”。
文末,大讲堂特别提供文中出现的所有论文及数据库的下载链接。
首先我们来了解一下表情识别的相关背景知识以及发展近况。人脸表情是最直接、最有效的情感识别模式。它有很多人机交互方面的应用,例如疲劳驾驶检测和手机端实时表情识别。早在20世纪Ekman等专家就通过跨文化调研提出了七类基础表情,分别是生气,害怕,厌恶,开心,悲伤,惊讶以及中立。然而不断的研究发现这七类基本表情并不能完全涵盖人们在日常生活中所表露的情感。针对该问题,最近一个较大的进展就是2014年在PNAS上发表的一篇文章。该研究提出了复合表情的概念,并且指出多个离散的基础表情能结合在一起从而形成复合表情。例如当人们遇到意外的惊喜时,应该是即开心又惊讶的。
最近的一篇关于深度表情识别的综述(http://arxiv.org/abs/1804.08348)发现,整个人脸表情识别的研究是跟随人脸识别的发展而发展的,人脸识别领域比较好的方法会同样适用于表情识别。该综述从算法和数据库两方面调研了人脸表情识别领域的进展。在数据库方面,表情识别逐渐从传统的实验室统一控制下的小样本量数据库转移到了现实生活中的多样化大规模数据库。在算法方面,传统的手工设计特征乃至浅层学习特征也不再能很好地适应现实世界中种种与表情无关的干扰因素,例如光照变换,不同的头部姿态以及面部阻挡。于是越来越多的研究开始将深度学习技术运用到了人脸表情识别之中,来解决上述问题。
随着互联网的发展,每天都会有不断的人脸图像上传至网路上,这无疑给人脸表情数据的收集带来了新的机遇。然而,如何给这些大量图像标注上相应的表情标签成为了构建数据库过程中的一个难点。传统的标注方法是请相关专家根据人脸面部肌肉动作单元的组成来进行表情标签的标注,这种方法无疑是十分复杂又耗时间的。
针对该问题,我们采用了众包的方式,利用大众群体对情感的理解与感知来进行表情标签的标注。这种方法一方面能有效获取大众对面部表情的感知结果,另一方面大大节省了数据标注的时间成本,从而促进了大规模人脸表情数据库的发展。
下面是关于构建真实世界人脸表情数据库(RAF-DB)的详细过程介绍。我们首先利用与表情有关的关键词在Flickr图片社交网络上成批下载了三万多张图像。
然后我们邀请了315位接受了表情相关知识训练的志愿者对这些图像进行了标注。在标注过程中,我们依次给每一位标注者提供一张图片以及七个基本表情标签选项,并且确保每一张图像都能被充足标注大约40余次。
由于众包标注过程中势必会包含小部分不够靠谱的标签,直接采用上述的众包标注结果是不够准确的。于是我们基于期望最大化算法对这些标签结果以及标注者进行了可靠性的评估,从而进一步地过滤掉了那些噪声标签得到更加精确的标注结果。
最后我们构造了一个带有标签分布的人脸表情数据库RAF-DB:
(http://www.whdeng.cn/RAF/model1.html)。
整个数据库包含了接近3万张带有七维表情分布的图片。根据每张图对应的七维表情概率分布向量,我们将数据库划分为了七类基本表情以及十二类复合表情。除此之外我们还对每一张图像进行了精确的特征点标注以及人脸属性标注,以供相关领域学者进行研究。
在实验室数据库CK+以及真实世界数据库RAF-DB上的面部动作单元(Action Unit)标注结果表明,人们日常生活中所自然流露出来的面部表情与在实验室环境下统一规定出的面部表情是有很大区别的。现实生活中不同人所表达表情的方式是各种各样的,每种表情会由于人物身份的不同而包含多个不同的形态,这无疑给真实人脸世界表情识别带来挑战。
除了上述所说的多样化以及复合表情之外,不平衡的类别分布问题在真实世界人脸表情收集过程中也很常见。例如,快乐这一表情可以说是最常见最容易被捕捉的,而厌恶表情则由于其微妙性以及难理解性更难被收集到。
针对以上问题,我们基于RAF-DB搭建了一个深度网络。传统的卷积神经网络利用softmax损失扩大类间距,让不同类型得以分开。然而在表情识别问题中,各种各样与表情无关的干扰因素使得同一类表情之间也存在一定的差距。为了进一步减小类内距离,我们提出了DLP-CNN。在该模型中,我们利用Locality Preserving损失,让网络所学到的邻近深度特征进一步靠近,从而加强了特征空间的局部紧密性,更加有利于后续的分类。
实验数据表明,DLP-CNN是能够有效提高在RAF-DB上的表情识别率的。当然该网络结构在这种具有挑战性的真实世界人脸表情数据上的表现能力也是有限的,我们也期望大家能提出更加有效的算法来提高在RAF-DB上的表情识别率。同时对应的可视化结果表明,DLP-CNN所学到的特征与传统的仅用softmax损失所学到的特征相比,类内间的分布更加紧促更加有利于分类。同时在特征空间的流型分布上,每一类表情都是具有连续的强度变化趋势的。
进一步地,我们把用RAF-DB训练好的网络作为特征提取器,在目前常用的数据库CK+,MMI和SFEW2.0上进行了评估。实验结果表明,该特征提取器能够学到具有普适泛化能力的特征,并在这些不同类型的数据库上均取得很好的识别率。
另一方面,我们注意到不同表情数据库(尤其是实验室环境数据库和真实世界数据库之间)由于收集环境的不同,是存在明显数据分布差异的。那么在这种跨库实验情况下,区域适应性方法是能得到很好的利用的。于是我们将RAF-DB作为源域,在CK+,JAFFE,MMI等目标域上进行了domain adaption算法的评估。实验结果显示,该区域自适应方法能够有效地提高跨库人脸表情识别率。
下面我简单介绍一下大家比较关注的人脸识别的问题,人脸识别的研究热潮从1991年特征脸的方法,刚才常老师说的方法就是特征脸的编码开始,一直发展到最近的深度学习技术,我觉得经历了大概四代的技术:首先是基于人脸特征分布假设的全局学习,但非限定条件下图像往往不能严格服从这些假设,局部的特征设计对于非限定变化具有较好的鲁棒性,LGBP就是其中的经典例子。接下来的局部特征学习的方法进一步提高特征的区分性和紧致性。最受瞩目的当然是2014年开始的深度人脸识别浪潮,因为它在很短的时间内就把LFW实验的准确率从80-90%提高到接近100%。大家如果对深度人脸识别技术感兴趣,可以到arXiv上下载最新的综述文章。无数的创业公司都宣传自己的准确率达到了99.7%或者99.8%。我们在思考到底这个99.7%或者99.8%代表什么?
我们可以看到LFW评测的题目为判断题,包含3K道否定的题目和3K道肯定的题目,深度人脸识别可以得到99点多的正确率。但是认真查看这个数据可以发现,它的题目难度不是十分的充分。例如,否定的题目来源于随机选择的两个人脸,他们外貌相似的概率极低,一个男的一个女的,一个白人一个黑人肯定不像。肯定的题目往往来源于同一场景下的图片。利用LFW数据的规律,我们做了一个“脸盲”的决策树:它简单地把不同的性别和人种,或者年龄差别大于10岁的情况,都认为是不同人。这么简单的决策树,准确率竟然能够达到了86%。充分说明LFW的实验对身份验证的评测难度确实不足。
于是,我们尝试在同一名人集合的情况下把LFW的难度加大。从缩小类间差异的角度,利用众包方式从LFW原有图片集合里挑选了一些外貌相似的人脸(比如周润发和他的替身)。从增大类间差异的角度,利用众包方式根据LFW各个folder的名人列表挑选了年龄跨度较大或者姿态跨度较大的图片组(例如乔布斯不同年龄的图片和马爸爸的各种姿态图片)。
把这三个因素考虑进来,我们在与LFW同一名人列表,同一数据规模,相同的准则上,构建了三个LFW的扩展数据库,分别是SLLFW、CALFW和CPLFW,大家可以在上面做与LFW完全相同的评测实验。利用这三个高难度的数据库,我们就可以更方便地评测深度人脸识别能力的边界,也可以更准确地对比人和机器识别能力的高低。
为此,我们训练了一个DCNN作为Baseline,它在LFW的准确率是99.55%。当遇到刚才所说的三个难题时,大家看到识别率明显下降,说明还有深度人脸识别其实还有很大的提高空间。更有趣的结果是,我们可以对比人在三种高难度的情况下,识别率是多少?参与测试的人主要是我的研究生,所以他们做的比较认真,比一般众包的人工标注更认真。在原始的LFW数据库上他们做的基本没有做错,99.85%。然而,他们在人脸相似和年龄跨度大的情况下的准确率大幅下降。在这两个难题上,机器却能够维持到93%以上的准确率。由此,我们发现了在中等难度的准正面人脸验证任务上,机器的识别能力已经远高于人类。然而,在跨姿态的情况下,也就是最复杂的情况下,人类还是能够领先机器8%。跨姿态的人脸识别应该是下一代识别技术需要攻克的难点。
如果大家不相信机器可以大幅度地碾压人类。我们可以做个试验,大家觉得这两张图是同一个人吗?觉得不是同一个人的请举手,她其实真的不是同一个人(认为是不同人的人数不足一半)。这个男人呢?真不是。这个呢?这个是。这两张是尼克基德曼吗?前四道(来源于SLLFW数据库的)题目,机器都做对了,而大部分同学都错误了。这个Angelababy呢?同学们都做对了,而机器缺失误了,说明现在深度学习在先验知识的利用和“熟人”识别能力方面跟人类还是有差距。
既然机器区分人的细微区别的能力这么强,我们就设计了一种屏蔽法,遮住脸的某一部分。通过对比特征距离的变化,计算出人脸中各个位置的区分性,从而把外貌相似的人脸对的区分性区域标记出来。例如,周润发和他的替身的眉毛的外侧就有很大的区别,人很难发现,但深度学习一下子就能标记出来。我们测试了200对人脸图像的验证准确率情况,右下角的这张图是我的学生在看这些可视化的结果之前和之后,他们的识别的变化。看之前30名学生的平均准确率是75%,看之后显著地提高到85%。结果说明,这类基于深度特征分析的可视化方法可以帮助人类做出更准确的识别的结果。
总结今天的报告,我们发现“看脸”这个学问有很多值得研究的问题。例如,人脸情绪比我们过去想象的基本表情要复杂和分散,我们构造了一个RAF-DB来描述复合表情,大家可以试一试。再如,人脸验证有外貌相似、跨年龄、跨姿态等各种难题,我们构建了相应的数据集,等着大家去提高和解决。希望以后有更多的同学进入这个领域。
最后,如果大家对数据感兴趣的话,可以到这个网站上下载我们的数据库和模型。刚才讲的工作,主要是我的三个博士生李珊、钟瑶瑶和王玫完成的,感谢她们。我的报告就到这里,谢谢大家。
文中邓老师提到的文章下载链接为: https://pan.baidu.com/s/1MYeyVBiA5L1R2hE1Pyl7LQ 密码:0tci
真实世界复合表情识别数据库(RAF-DB): http://www.whdeng.cn/RAF/model1.html
相似人脸验证数据库(SLLFW): http://www.whdeng.cn/SLLFW/index.html
跨年龄人脸验证数据库(CALFW): http://www.whdeng.cn/CALFW/index.html
跨姿态人脸验证数据库(CPLFW): http://www.whdeng.cn/CPLFW/index.html
--end--