韩琥:深度学习让机器给人脸“贴标签”

点击上方“深度学习大讲堂”可订阅哦!


编者按:视觉属性学习,本质上是机器给对象“贴标签”的过程,如何让机器像人一样具备同时提取多个属性的能力,曾是学术界的一大挑战。深度学习带来了从单任务到多任务属性学习的突破,然而仍面临着在非可控场景下的鲁棒性以及高效性问题。因此考虑利用视觉属性之间的相关性与异质性,通过建模的方式提高视觉属性建模的精度以及维度。本文中,来自中科院计算所的韩琥副研究员,将从人脸对象出发,回顾相关的视觉属性学习工作,以及其从单任务到多任务的发展过程。大讲堂特别在文末提供文中提到所有文章以及代码的的下载链接。




近年来,以ImageNet 大规模视觉识别挑战赛(ILSVRC)为代表的系列视觉识别任务,极大地推动了图像分类与目标识别方法的发展,在ImageNet上,机器(算法)对图像分类的错误率从最初的28%降低到 2.9%,远低于人类5.1%的错误率。然而,视觉对象除了具有类别这一特征之外,还包含颜色、形状、部件等丰富的中层语义层面的视觉属性特征,这些视觉属性对于理解和描述视觉对象而言同样具有重要的作用。正如我们看到一个认识的人时,我们不仅一下想到这个人的名字,同时会留意到这个人此时的穿着、发型、饰物、表情等多种视觉属性。丰富的视觉属性之间既有紧密的相关性又包含明显的差异性(异质性),如何对属性相关性与异质性进行建模,是鲁棒高效的视觉属性学习中重要的研究内容之一。本次报告将从人脸对象的视觉属性学习出发,回顾相关的视觉属性学习工作,并对我们在视觉属性学习方面的一些工作进行介绍和分享。




我今天主要跟大家分享我们在Visual Attribute Learning方面的工作,以上是今天的提纲。我将分六部分进行介绍:

  1. 研究背景

  2. 领域相关工作

  3. Attribute learning——STL(单任务学习)

  4. Attribute learning——MTL(多任务学习)

  5. 总结及讨论

  6. 数据及Demo


研究背景



为什么做Attribute Learning?


对于给定对象,除了身份信息,还可以获取其多种属性信息,这些属性信息有助于我们更深刻地理解目标以及执行更高层任务。



人脸属性的典型应用:


图一:基于年龄的访问控制;

图二:基于人脸属性的智能导购;

图三:基于人脸属性的人脸检索。



人脸视觉属性学习需考虑的问题


人脸视觉属性学习并不简单,特别是在非可控的真实场景下。影响因素有以下几个方面:

  • 传感环境(尤其在室外)的不可控性以及人物的不配合性,这会引起姿态、光照、遮挡等多种因素的影响;

  • 属性之间的相关性以及差异性;

  • 属性数量的增多引起内存消耗的增加,因此需高效的模型。


领域相关工作




人脸视觉属性学习“里程碑”式的工作:


  • 1990年,MIT的Cottrell 和 Metcalfe 把基于Auto-Encoder的特征降维用于性别和表情识别;

  • 1999年,塞浦路斯学院的Lanitis构建了FGNET年龄估计数据库(共82人,1002张图像),当时用PCA做特征提取;

  • 2006年,北卡的Ricanek 和 Tesafaye构建了首个大规模年龄、性别、种族数据库MORPH(1.3万人,5.5万图像);

  • 2008年,哥大的Kumar等人构建了包含10个属性(后在期刊文章里扩展到60多个)的大规模名人数据库PubFig(共200人,6万张图像)仅部分公开,提取了手工设计特征,之后对每个属性训练SVM;

  • 2010年,MIT的Pho等人首次研究了基于普通摄像头的非接触式心率估计,这是“由表及里”的一次突破;

  • 2015年,我们有一个工作,首次研究了人与机器在属性识别上的性能差异(可控),并发现机器在年龄、性别和种族的识别上已经可以超过人类;NIST组织了年龄和性别预测方面的评测竞赛,并且出了一个报告概括了领域相关工作;此外,香港中文大学汤老师组构建了大规模互联网名人的40个属性数据集(20万图像)


由此可见,研究工作的时间跨越度并非很大,但是,各方面工作的丰富性和多样性还是令人瞩目的。



围绕着人脸视觉属性学习的主线,我做了如下几个维度的概括:


(一)特征表示方法

  • 全局表观特征(Intensity,PCA,Gabor, LBP,BIF生物启发式特征)

  • 细节特征(纹理,肤色,人脸形状)

  • 深度特征(MS-CNN,ANet,VGG)



(二)特征分类方法

  • 单任务学习(常用方法:每个属性训练一个分类器)

  • 多标签学习(回归目标不仅是数,而是向量形式)

  • 层级式的分类器(由粗到细,特别适用于年龄分类,如先确定年龄范围,再进行具体年龄分类)

  • 多任务学习(多任务限制玻尔兹曼机,多任务CNN,以及我们发表在TPAMI17的DMTL)



趋势总结

  • 从手工设计特征到深度特征

  • 从组合式的学习到端到端学习

  • 从STL到MTL(从单任务学习到多任务学习)


基于单任务的属性学习




接下来从单任务学习的角度,谈一谈我们在这方面的工作。首先,早期的数据集通常只有一种属性的标注,比如之前提到的FG-NET,它包含82个目标的1002张图像。最初只有年龄属性,后来我们又在其上标注了性别属性,大家需要可以下载。



对基于STL的属性学习定义:给定一个图像,建立一个模型去对一个属性进行学习。



如图我总结了相关工作,这里我讲几个有代表性的(红框标出):首先,上文提到的2002年Lanitiis发布了FGNET数据集;后来,Fu等将流形学习方法引入年龄估计;另外,Guo等提出了生物启发的特征方法;最后,我们自己提出了Demographic informative feature,在当时比较大的几个数据集上都做了测评,实验显示在当时取得了最好的结果。



这里具体介绍一下我们的Demographic informative feature方法基本工作。基本框架概述如下:前端为特征提取阶段,旨在提取对属性有判别力的特征,而不是完全无监督的。后端连接一个层级式的分类器,用于属性学习。

其中有几个主要部分:

  • DIF(Demographic informative features)特征提取

  • 层级式分类器

  • 人机性能对比

接下来分三部分做详细介绍:



(1)DIF特征


DIF(Demographic informative features)是基于BIF(生物启发式特征)的。比如,我们输入一个人脸部件,先用Gabor滤波器提特征(12个尺度,8个方向),再做一些池化操作,以减小特征图的数目和维度(6个尺度,8个方向),将得到的特征串成一个4280维的长向量,用来做之后的分类等任务。总体上还是一个无监督的特征处理方法。所以之后,又对此工作做了改进,旨在不仅能够抓住图像细节,还能减小冗余性,提高特征与最终识别任务的相关性。



因此,我们之后又引入一些特征学习工作。我们希望从之前的特征集中提取一个特征子集,挑选出最相关的特征,比如:

  • 学习一个新的特征子空间(如LDA)

  • 基于Boosting的特征选择



如图是一个可视化结果,通过Boosting,评估这4280维特征向量的重要性。从4280维向量中选取800维有代表性的特征,剔除冗余。



这是MORPF数据集,有三个属性的标注,即年龄、性别和种族。由此多属性标注的数据集,我们做了一些实验将单属性扩展到多属性。



这里是一些多特征选择的可视化结果。如左一图是对年龄最有帮助的特征选择结果,蓝色框代表最有帮助的前5个特征,绿色框代表其他排名第6到第50的重要特征。由实验结果可得,特征分布具有较好的对称性。其他两图分别代表针对性别和种族的特征选择。

从整体上看我们这个工作还是基于单任务的属性学习,这是因为虽然在做特征选择时,同时考虑了三个属性,但是依旧针对每一个任务分别设计一个单独的分类器,并没有上升到多任务学习的角度,这也触动了我们之后的基于多任务工作。



(2)层级式分类器


接下来介绍层级式的分类方法,这里主要是针对年龄。比如,首先进行年龄组分类(针对数据集设定阈值),在此按是否超过18岁分为两类;组内再做回归,而得到具体年龄。实验证明,这种层级式的分类方式要优于直接分类方法。



(3)人机性能对比


我们还重点研究了人和机器的性能对比,我们做了当时规模最大的数据集来衡量并对比人和机器的性能。数据集包含以下几个方面:

  • FG-NET,年龄估计

  • MORPH(2000张图片),年龄、性别、种族估计

  • PCSO(2000)张图片,年龄、性别、种族估计

我们在这个数据集上进行了大量的实验,得到了许多有趣结论,接下来详细介绍。



这是从亚马逊上收集的,人去估计年龄、性别、种族的结果。由三个人来做判断,最终投票决定人类的判别结果。



年龄估计结果对比,使用FG-NET和MORPH数据集,实验显示我们的方法取得了当时最好的结果,具有最小误差。



性别估计结果对比,用到了FERET和MORPH数据集,由实验得,我们的方法准确率更有优势。



种族估计结果对比,在MORPH和PCSO这两个数据集上也可以看出我们的方法优势。此外,可以看出,性别、种族都有比较严重的数据不平衡问题,这也是将来可以去做的一个点。



如图显示人和机器的性能对比,可以看出机器识别能力的绝对误差要小于人类。



当在做年龄估计时,算法估计偏差比较平衡。而人类往往会将年龄估计偏高。



这里是误差分析,我们发现,虽然总体上机器性能高于人,但是机器会犯一些偏离实际较大的低级错误,这也是很多学习算法的共同问题。



对于年龄估计,实验表明,算法对真实年龄和人类标注的表观年龄的估计偏差并不大。




这是一些结果展示,总体来说,机器表现可观。



基于单任务的属性学习总结:


  • DIF 对年龄、性别、种族的属性学习是非常有效的;

  • 层级式分类器对年龄估计方法有极大帮助;

  • 我们构建了第一个大规模的人机性能对比数据集

  • 相关链接:

    http://biometrics.cse.msu.edu/pub/databases.html


基于多任务的属性学习



接下来介绍基于多任务的属性学习。



近来,很多人脸数据集都有多属性标注。比如,MORPH有年龄、性别、种族三个标注属性。香港中文大学的CelebA数据集含有40个二值属性,如头发、眉毛、鼻子、胡须、性别等。



如果针对每一个属性都设计一个模型,那么其模型复杂度过大。因此,能否设计一个模型来实现多属性的识别呢?



方法一:标签编码


将多属性标签组合进行编码(比如,将一岁亚洲男性标记为001,将一岁非洲男性标记为002等),将多属性问题转化为分类编码问题,也就是单一属性。

局限性:

但是,对于属性数目较多的情况,这种方式会引起数据的组合爆炸。因此,该方法只适合属性数目很小的情形。



方法二:多标签回归


通过回归的方法,使预测的特征向量与Groud-truth属性向量的损失越来越小,二者趋向接近,由此得到预测的特征向量。

局限性:

在提特征阶段,虽然有几十个属性,但用的都是同样的特征,未考虑不同属性的相关性和差异性。



基于多任务的属性学习


我们更倾向于用的是多任务方式。利用属性之间的相关性,包括正相关和负相关;以及应对属性之间的异质性,比如年龄是可量化的,而种族是类别化的,这就需要不同的处理方式。



我们对CelebA数据集的40个属性做了成对的co-occurrence计算,它揭示了,属性的相关性是普遍存在的,且我们认为它对属性学习有所帮助。



属性异质性


属性异质性包含两个方面:

  • 有序性与无序性(如年龄是有序的,而种族属性是无序的)

  • 整体性与局部性(如性别、年龄是对人脸整体进行的属性判别,而高鼻梁,大嘴唇是对人脸局部部件进行的属性判别)

因此,我们采取“分而治之”的思想,对异质属性分别对待。



如图是我们做的一个形式化,认为图像空间和标签空间有一个高度非线性的关系,可以表示成F,数据可以表示为D,X(图像),Y(属性)。我们基于这样的数据去学习。



这是总体框架。总体上有两个部分,其一是前端的全局共享特征学习,用于属性相关性挖掘;其二是后端的特异化的特征精调,用于异质性处理。



这是我们在5个公开数据集上的验证结果。其中,MORPH数据集中对象的配合度较高;LFW+是我们基于LFW数据集做的;CelebA是香港中文大学做的;此外,他们也在LFW上做了一些改动得到了LFWA数据集;ChaLearn一系列竞赛也推出了很多数据集。



刚刚提到的LFW+是我们自己构建的。构建方法如下:

  • 扩展了2466张非受控状态下的人脸图像(0~20岁)

  • 每个图像有三个标注结果,并分别做了投票选出最终的groundtruth。



这是在MORPH和LFW上做的两种异质属性(有序、无序)评测,结果表明我们的多任务学习方法较有优势。



这是对二值属性的预测结果,可以看出在大多数属性上,我们的多任务识别方法效果优于当前其他方法,在40个属性上的平均准确率也较高。



这里专门做了一个多任务与单任务识别方法的比较,选取了9个常见属性,训练了9个单任务模型(蓝色柱状图),结果显示多任务模型(黄色柱状图)检测准确率高于单任务模型。



这是我们对模型扩展能力的测试,我们的测评结果相当,但是模型复杂度、规模更小。




跨数据集测试(在数据集A上训练,在数据集B上测试)比较有挑战性,但能反映模型的真实应用能力,我们在属性学习和人脸活体检测上做了跨数据集测试。测试结果表明我们的方法性能较好。


总结




得益于深度学习的发展,人脸属性学习取得了长足的进步;针对属性相关性、异质性的建模有助于实现预测的鲁棒性;在人脸属性学习方面,待解决的问题还有:针对不完整数据的属性学习,有噪声情况下的属性学习等。


数据及Demo




最后,总结一下我们做的LFW+数据集以及基于FG-NET的年龄估计。LFW+数据集是在LFW的基础上,扩展了2466张非受控人脸图像(0~20岁),每张图片含有年龄、性别和种族三种标注,我们提供下载链接。还有基于FG-NET的年龄估计工作也提供下载链接。



这是我们做的一些Demo,左图是属性学习的demo,右图是基于人脸的人体心率估计demo。



这是和我有密切合作的老师和学生。


谢谢大家!


文中引用文章的下载链接为: http://pan.baidu.com/s/1c1OL4jQ

 开源代码链接为: 

http://biometrics.cse.msu.edu/pub/databases.html

http://ddl.escience.cn/f/FOrq



致谢:

本文主编袁基睿,诚挚感谢志愿者杨茹茵对本文进行了细致的整理工作


该文章属于“深度学习大讲堂”原创,如需要转载,请联系 astaryst。


作者信息:


作者简介:

韩琥,中科院计算所副研究员,硕士生导师。2005年毕业于山东大学获学士学位,2011年毕业于中科院计算所获博士学位,之后分别在美国密歇根州立大学和美国谷歌总部从事生物特征识别研究工作,曾担任谷歌ATAP Abacus项目(智能设备身份认证)核心研发成员。2015年加入中科院计算所,主要研究方向为生物特征识别、计算机视觉及模式识别。先后在包括IEEE T-PAMI、IEEE T-IFS、PR、ECCV等本领域知名国际期刊与会议上发表学术论文30余篇,其中一作与通讯作者CCF-A类期刊长文7篇(一作T-PAMI长文2篇),谷歌学术引用近1000次;多次应邀担任ICB、IJCB、ACCV、CCBR等知名国内外生物特征识别与计算机视觉会议程序委员会委员。目前作为合作单位负责人参与国家基金委重点项目1项,作为项目负责人承担国家基金委面上项目1项和中科院-INRIA国际合作重点项目1项,作为课题骨干参与科技部973项目1项;曾作为技术负责人参与美国司法部和自然科学基金的模拟画像识别和人脸活体判别等多个项目。联合指导研究生获ICCV2015表观年龄识别竞赛亚军、CCBR2016最佳学生论文奖。更多介绍详见:http://www.escience.cn/people/hhan/index.html


VALSE是视觉与学习青年学者研讨会的缩写,该研讨会致力于为计算机视觉、图像处理、模式识别与机器学习研究领域内的中国青年学者提供一个深层次学术交流的舞台。2017年4月底,VALSE2017在厦门圆满落幕,近期大讲堂将连续推出VALSE2017特刊。VALSE公众号为:VALSE,欢迎关注。




往期精彩回顾


为国庆献礼:无人智能系统,守护祖国海空长城

梅涛:“看图说话”——人类走开,我AI来!|VALSE2017之十二

乔宇:深度模型让机器理解场景|VALSE2017之十一

白翔:趣谈“捕文捉字”-- 场景文字检测 | VALSE2017之十

沈春华:如何窥一斑而知全豹--Dense Per Pixel Prediction | VALSE2017之九

饮水思源--浅析深度学习框架设计中的关键技术



 
 
 

欢迎关注我们!


深度学习大讲堂是由中科视拓运营的高质量原创内容平台,邀请学术界、工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术、产品和活动信息!


中科视拓(SeetaTech)将秉持“开源开放共发展”的合作思路,为企业客户提供人脸识别、计算机视觉与机器学习领域“企业研究院式”的技术、人才和知识服务,帮助企业在人工智能时代获得可自主迭代和自我学习的人工智能研发和创新能力。


中科视拓目前正在招聘: 人脸识别算法研究员,深度学习算法工程师,GPU研发工程师, C++研发工程师,Python研发工程师,嵌入式视觉研发工程师,运营经理。有兴趣可以发邮件至:hr@seetatech.com,想了解更多可以访问,www.seetatech.com

中科视拓

深度学习大讲堂


点击阅读原文打开中科视拓官方网站

相关文章

相关标签/搜索