前沿分享① | 李子青:人脸识别的新挑战

来源:公共事务部 发布时间:2019-11-29 作者:李子青


分享是表达者的目的之一,即日起,一个全新的专栏“前沿分享”将与大家见面。在这里,我们将不定期地成为知识的搬运工,把科学研究的最前沿领域、研究过程中的最新突破、科研工作者的所思所想转化成文字,分享给关注西湖大学的每一个人。

每一次的分享,都基于西湖大学PI自身的研究领域和实验室进展;每一次的分享,都可以让我们更加贴近科学,贴近未来。

今天推出的第一期,分享者是来自工学院的人工智能技术讲席教授李子青。近日,在由澎思科技组织的“计算机视觉技术赋能智慧城市”技术论坛上,李子青作为开场演讲嘉宾,带来了主题为《人脸识别挑战问题和解决技术》的演讲,从人脸识别当前所存在的大数量类别的模式识别问题、人脸防伪问题以及复杂光照问题等未来需要重点关注的挑战出发,阐述了应对这三个问题的解决方案。

以下为李子青演讲全文。



李子青(Stan Z. Li),IEEE Fellow,曾任微软亚洲研究院Research Lead,中科院自动化所模式识别国家重点实验室资深研究员。2019年加盟西湖大学工学院,开展人工智能创新研究,研究方向包括:机器学习/深度学习、数据科学、AI+交叉学科(如计算机视觉、生物医学、材料科学、环境科学、传感器技术等)。


计算机视觉是人工智能技术中应用最成功的一个方向,其中人脸识别和视频分析在落地上又是最成功的。我首次参加的人脸识别会议是 1997 年的第二届 FG(IEEE International Conference on Automatic Face and Gesture Recognition),这个会议由 Thomas Huang(黄煦涛)发起,一直存在至今。当时我在新加坡南洋理工,是我的学生把我带上了人脸识别的研究之路,而现在我的学生不做了,而我一做,就是20多年。过去人脸识别采用非深度学习的传统方法。在一次晚宴上,有一个来自Oulu大学的博士毕业生说起 LBP,当时我审了这篇投稿,并大力推荐到了 CVPR。另外我也审到那个著名的AdaBoost人脸检测的投稿并推荐,它是第一个能把人脸检测在PC上做到实时的算法。我觉得这个方法非常好,并基于这个算法在MSRA开发了世界上第一个实时的人脸识别系统。那个系统采用的是传统的人脸识别算法。

2013、2014 年开始,深度学习开始在人脸识别得到应用,受人工智能技术的产业驱动,人脸识别技术也取得了突飞猛进的发展。现在的人脸识别技术指标比当年提高了好几个数量级,在中国已经广泛应用。虽然如此,现在人脸识别仍然存在一些技术挑战问题,这也是我这次要分享的主题。本次分享,我可能无法将所有的挑战和问题都涵盖到,而主要讲三个无论从算法层面还是应用层面都需要进一步解决的挑战问题:

第一,巨量类别的模式识别问题。人脸识别、辨别现在的应用可能达到成百万、千万级别了,涉及到对这么多数量的类别的模式识别,必然存在一些问题。例如中国一个省或者一个中等城市,人口就几百万甚至几千万,其中就涉及到多数量的类别的模式识别问题,那这该如何解决呢?

第二,人脸防伪问题。现在在人脸识别如刷脸支付等场景中常面临照片攻击问题,包括支付宝等应用当年也曾被破解过,因而他们也对此做了很多的努力。

第三,复杂光照问题。2005年前后我一直在寻求光照问题解决方案,这是由于当年基于可见光图像的识别算法水平比较低,基本上无法达到应用要求。我尝试使用前端近红外成像光电硬件+算法软件一体化的方法,比较好地实现了配合和半配合(比如刷脸认证、闸机通道的身份识别)条件下的人脸识别技术要求并实现了产品化。



一、巨量类别的模式识别:夹角分类器和Margin


常用的欧式距离分类,可以用一个魔方的小方格块来描述,把每个人脸特征装进魔方中的一个小块中,这样的分布下,欧式距离基本上无法对这些类别进行有效的分类,更不用说密密麻麻地排列几万甚至几十万个类别。而从数据分析的角度来看,高维空间的数据分布跟这种魔方中小方块的分布是不一样的。在高维空间的均匀随机分布,大部分数据样本都在魔方的角上,也就是说不同类别的数据之间是正交的关系,并且可以证明随机样本间相对欧式距离趋于零。所以在高维空间,在类别数量非常多的情况下,如果采用欧式距离度量方法,识别性能必然得不到保障。

Angular Similarity


在高维空间采用样本间的夹角作为距离度量能够取得比较好的结果,所以现在用的方法大都基于 Angular Similarity。我们把样本映射到一个高维球面的分布,不同类的样本是角度可分而距离不可分的。几十万个类,每个都在球面上占据一小块,利用夹角进行分类。在深度学习以前就在研究和应用Angular Similarity,而在2016 年、2017 年,尤其是 2018 年和今年,这种按角度进行分类的人脸识别研究论文发表比较多,例如今年 CVPR 2019 大概就有六七篇论文就是研究这个问题的。该方法主要有三个特点: 第一个特点是 Angular Loss,即在训练神经网络的时候,采用按角度划分类的方法。第二个特点是在夹角损失函数中引入了 Margin,即相邻两类的分界面并不是一个简单的夹角分界面,而是两个夹角分界面,其间留有一定的裕量,这样在测试或使用阶段才能更好地分类。第三个特点是 Imbalanced Data,比如说在下图中,一个人最多有几千张图,最少的只有三、五张图,并且大部分的类别数量都非常少,针对这样的长尾分布问题,我的学生提出了一个方法——AdaM-Softmax,即边际随着每类的样本数量进行自适应变化,相关的论文《AdaptiveFace: Adaptive Margin and Sampling for Face Recognition》也在今年CVPR2019 上发表。



下面这个图比较几种方法Angular Loss的方案:Softmax 方法中的第一类和第二类之间就是一根直线;SphereFace 按角度来分类;CosFace 是球面的,并且各类之间有一个cosine裕量;ArcFace 则留有夹角裕量,该方法应用效果论文上看似乎是最好的,比前面几个好一丁点。ArcFace开源了代码,现在很多公司和院校都在使用。



AdaM-Softmax与前述引入Margin裕量方式不同,AdaM-Softmax 中每类都有不同的边界值,而非采用固定值。实现的方法是引入了一个Margin相关的Loss,乘以权重l后加入到总体Loss。这样训练出来的网络,处理数据不平衡条件下,表现更好。



在上图中,纵轴表示类别分别有 20、40、60、80 以及 100 个样本,横轴表示相应的Margin。我们可以看出,每类的样本数量越多,它的边际值就越小,我认为这个趋势是合理的,实际上达到了预期的效果。



二、人脸防伪问题:深度学习方法

人脸防伪的需求主要存在于身份认证等场景,举两个实际发生的例子,第一个案例:几年前有一个中国福建籍的男子化妆成一位老人通过了加拿大的海关,但是之后有人发现他脸上皱巴巴的,而手却细皮嫩肉,后来被查出。第二个案例:今年6月份的时候,这个人被曝出身份造假,并且与美国政府高官勾搭上了,最后被查出来这张脸是生成的。但是我们用肉眼来看,她的脸非常逼真。与机器人脸识别相关的采用伪造人脸攻击成功的案例当属当年支付宝被人用照片打印和手机屏幕显示攻击破解,其后支付宝做了很多技术防范措施,现在攻击比较难了,但目前仍然未能达到预期的技术防范强度。


此头像人脸为机器生成。图片来源:ciobulletin.com


人脸防伪主要有打印、屏幕显示/视频重放以及人脸面具三个类别,防伪的方法则是对不同类型提取不同的特征,而传统方法主要对纹理、三维形状等提取特征从而区分真人和假体,其中硅胶是最难以辨别出来的类别。这是因为本质上,我们需要判别的是「人脸」的皮肤是肉体还是假体,然而硅胶材质从成像上来看与人脸的皮肤很相近,因此在一般情况下很难区分出来。

现在基本上采用深度学习算法模型解决人脸防伪。2014 年我们将深度学习引入到了人脸防伪中,采用一个简单粗暴的方法 —— 采用正样本和负样本训练真假人脸分类器。还有一种方法是利用人机应答的方式,看看「人脸」是否能做眨眼、摇头等动作。此外还有利用三维结构来判断人脸图像是平面还是立体。我们在 2011 年提出了多光谱(可见光、近红外)成像和鉴别的防伪方案,这也是目前最普遍采用的方案。

下图是我们在 CVPR 2019的人脸防伪竞赛上给出的一个Baseline方案,将 RGB 、NIR和3D深度图像信息进行了融合。


相关论文链接:

http://openaccess.thecvf.com/content_CVPRW_2019/papers/CFS/Liu_Multi-Modal_Face_Anti-Spoofing_Attack_Detection_Challenge_at_CVPR2019_CVPRW_2019_paper.pdf


另外,多年前我在一个会议上也看到了一个非常有意思的工作,用到一位 MIT 的硕士生提出来的方法, 用可见光对着人脸拍摄,会检测到人脸皮下的毛细血管按照心率节奏在跳动。我当时就想这个方法也许可以用到人脸防伪上。但是我尝试后发现实际是不可行的——就算你对着一张白纸拍摄,也能检测到心率节奏的跳动,这是因为该方法采用傅立叶变换,总能检测到周期性,比如灯光下的50Hz,总会有一些微小的东西将幅度最大的频率分量提取出来。后来看到有一些相关的人脸防伪论文发表,我估计实验结果应该离实用还有段距离。但我觉得这个思路不错,只不过如果要把它做成实用,只从算法上解决是不够的,必须在前端光电硬件上有所创新,才能解决其中的关键问题。



三、复杂光照问题:异质人脸识别解决方案

现在的人脸识别算法在受控良好光线环境中的识别效果已经很好了, 但在工地、高铁入口光线不受控的场景中仍然无法正常使用,包括计算机视觉领域的独角兽公司算法,这是因为采集的图像就已经难以恢复成正常光照被正常识别了。在这种情况下,还需要从前端的光电硬件上想办法,从图像获取阶段去解决这个挑战问题。采用近红外主动光源照射成像,是一个解决方案。

采用近红外成像方案,就需要解决异质图像人脸识别问题。采用近红外人脸成像,能够比较好地解决光照问题,2005年开始就在深圳罗湖海关实际使用。当时相关单位给我提出了一个问题:虽然效果不错,但是存在限制,就是必须要使用近红外人脸图像进行注册,那如果只有身份证照片呢,该怎么解决这个问题?我提出了异质人脸识别的方法。有两个方案:

  • 第一是将近红外的图像转化为可见光的图像,然后用可见光人脸算法做匹配。

  • 另一种思路是,从近红外和可见光两种不同的图像中学习共同特征,如2007年我们的团队提出了一种采用CCA 提取共同特征的的方法。

最新的方法是采用深度学习技术,通过深度网络的非线性映射,提取可见光、近红外图像的人脸隐空间表示,以隐变量的均值来表示每一个人脸内在的ID ,以分布方差表示外部影响如光照、姿态等。近红外、可见光人脸的两个隐空间中隐变量分布之间的差异,可以通过概率和拓扑映射的方法来弥补,最终实现全光照条件下可靠的人脸识别。