西湖大学李子青:人脸识别的挑战问题和解决技术
作者 | 丛末编辑 | 唐里
10 月 17 日至 19 日,由 CCF 主办、苏州工业园区管委会、苏州大学承办的 CNCC 2019 在苏州成功举办。
在《CNCC爆款技术论坛,申省梅、陈熙霖主持,西湖李子青、阿里王刚多视角讲解CV赋能智慧城市》一文中,AI 科技评论提到,「计算机视觉技术赋能智慧城市」技术论坛尽管在大会第三天举办,仍然人满为患,成为今年 CNCC 的爆款技术论坛之一。该技术论坛由澎思科技首席科学家、新加坡研究院院长申省梅担任主席,中科院计算所研究员、IEEE Fellow、IAPR Fellow、CCF会士陈熙霖担任共同主席。
西湖大学讲席教授、IEEE Fellow 李子青作为该技术论坛的开场演讲嘉宾,带来了主题为《人脸识别挑战问题和解决技术》的演讲,他主要从人脸识别当前所存在的大数量类别的模式识别问题、人脸防伪问题以及复杂光照问题三个未来需要重点关注的挑战出发,阐述了应对这三个问题的解决方案。
李子青(Stan Z. Li),IEEE Fellow,曾任微软亚洲研究院Research Lead,中科院自动化所模式识别国家重点实验室资深研究员。2019年加盟西湖大学工学院,开展人工智能创新研究,研究方向包括:机器学习/深度学习、数据科学、AI+交叉学科(如生物医学、材料科学、环境科学、传感器技术,等)。
以下为李子青演讲全文,AI 科技评论进行了不改变原意的编辑。
李子青:
计算机视觉是人工智能技术中应用最成功的一个方向,其中人脸识别和视觉分析在落地上又是最成功的,它们被应用到了生活中的方方面面。
我首次参加的人脸识别会议是 1997 年的第二届 FG(IEEE International Conference on Automatic Face and Gesture Recognition),这个会议由 Thomas Huang(黄煦涛)发起,一直存在至今。当时我在新加坡,一开始是我的学生把我带上了人脸识别的研究之路,而现在我的学生不做了,而我一做,就是 20 多年。
最初,我们用的方法基本是传统的方法。昨天在 CNCC 的晚宴上,有一个毕业生说起 LBP,而 LBP 这篇文章就是由我审的,并由我大力推荐到了 CVPR。这种方法在传统的人脸识别中是经典的方法。
另外我也审到过一篇关于人脸检测的文章,觉得非常好,就在微软将该方法用起来创建了世界上第一个实时的人脸识别系统,而在此之前,做实时的人脸检测非常困难。但该系统里面用到的算法其实也是非常原始的。
自此以后,一直到 2010 年,我们都在一直这种图像技术用到人脸识别应用上。而在 2013 年、214 年以后,随着人工智能技术受产业驱动,人脸识别技术也取得了突飞猛进的发展。
当年的技术跟现在不可同日而语,现在可见光、彩色等类型的人脸识别都已经做得非常好了,当然现在该领域还依旧还存在很多问题,这也是我今天要分享的主题。本次分享,我可能无法将所有的挑战和问题都涵盖到,而主要讲三个无论从算法层面还是应用层面都需要进一步解决的挑战问题:
第一,多数量类别的模式识别问题。人脸识别、辨别现在的应用可能达到成百万、千万级别了,涉及到对这么多数量的类别的模式识别,必然存在一些问题。例如中国一个省或者一个中等城市,人口就几百万甚至几千万,其中就涉及到多数量的类别的模式识别问题,那这该如何解决呢?
第二,人脸防伪问题。现在在人脸识别如刷脸支付等场景中常面临照片攻击问题,包括支付宝等应用当年也曾被破解过,因而他们也对此做了很多的努力。
第三,复杂光照问题。我当年一直在尝试解决光照问题,但是由于当年的算法水平比较低,使用 PCA、LDA 此类线性方法基本上无法解决,后来我尝试使用前端光电硬件+算法软件一体化的方法,比较好地实现了人机之间的相互配合(比如刷脸认证等)或半配合(比如实现一个通道、一个闸机的半配合),以此来解决光照问题。
那如何解决呢?
1、多数量类别的模式识别问题
在模式识别的类别数量非常多的情况下,我们过去常用的解决方法是欧式空间,该方法就好比一个魔方,假如你在魔方上密密麻麻地排列几万甚至几十万个类的话,基本上无法对这些类别进行划分。而从数据分析的角度来看,高维空间的数据分布跟这种魔方式的方法是不一样的。在欧式空间上,类别是一个均匀的随机分布,大部分的数据都在魔方的角上,也就是说不同类别的数据之间是正交的关系。虽然从角度来看是正交的,然而不同类别之间的相对距离趋于零,所以欧式空间方法基本上不能解决这个问题。
Angular Similarity
在深度学习以前,我们也研究了这类降维方法,不过现在用的方法则是 Angular Similarity,我们可以将该方法视作在一个球面上做分布,它本身就是角度可分而距离不可分的。比如现在有几十万个类,我们将这些类都分割在球面上的一小块上,主要按角度来做划分。
2016 年、2017 年,尤其是 2018 年和今年,这种按角度进行分类的人脸识别研究比较多,例如今年 CVPR 大概就有六七篇论文就是这个方向的。该方法主要有三个特点:
第一个特点是 Angle Loss,即在训练神经网络的时候,采用按角度划分类的方法,即将各类划分为空间中的一个一个锥状体。
第二个特点是 Margin,即各类在训练时,并不是进行一个简单的训练,而是留有一定的余量,比如将很多类放到球面上,两个类之间的分界面是需要留有余量的,这样在测试阶段(非训练阶段)才能将类分得更好。
第三个特点是 Imbalanced Data,比如说在下图中,一个人最多有几千张图,最少的只有三、五张图,并且大部分的类别数量都非常少,针对这样的问题,我的学生曾提出一个方法——AdaM-Softmax,即边际随着每类的样本数量进行自适应变化,相关的论文《AdaptiveFace: Adaptive Margin and Sampling for Face Recognition》也在今年的 CVPR 上发表。
在如下这几种方法的对比中,他们的性能都差不多,可能只有稍微的一点差异,Softmax 方法中的第一类和第二类之间就是一根直线;SphereFace 按角度来分类;CosFace 是球面的,并且各类之间有一个区域余量;ArcFace 也留有区域余量,并且由于开源,现在很多公司和院校都在使用这种方法,我认为该方法的应用性能也是最强的。
与其他留有区域余量的方法不同的是,AdaM-Softmax 中每类都有不同的边界值,而非固定值,因此在处理数据不平衡情况时,表现更好。
在上图中,每个类别分别有 20、40、60、80 以及 100 个,我们可以看出,每类的样本数量越多,它的边际值就越小,我认为这个总的趋势是合理的,并且实际上达到了预期的效果。
2、人脸防伪问题:深度学习方法
人脸防伪的需求主要存在于身份认证等场景,举两个典型的例子,第一个案例:34 年前有一个中国福建籍的男子化妆成一位老人通过了加拿大的海关,但是之后大家发现他脸上皱纹巴巴的,而手却细皮嫩肉,这样就对他产生了怀疑。第二个案例:今年 6 月份的时候,这个人被曝出身份造假,并且与美国政府高官勾搭上了,最后被查出来这张脸是生成的。但是我们用肉眼来看,她的脸非常逼真。
此头像人脸为机器生成。图片来自:ciobulletin.com
人脸防伪主要有打印、视频重放以及人脸面具三个类别,防伪的方法则是对不同类型提取不同的特征,而传统方法主要对纹理、三维形状等提取特征从而区分真人和假体,其中硅胶是最难以辨别出来的类别。这是因为本质上,我们需要判别的是「人脸」的皮肤是肉体还是假体,然而硅胶材质与人脸的皮肤很相近,因此在一般情况下很难区分出来。
而现在基本上采用深度学习的方法,比如 2014 年我们曾提出一个简单粗暴的方法——正样本和负样本,将深度学习引入到了人脸防伪中。还有一种方法是利用人脸是否能眨眼、摇头等三维结构来判断时平面还是立体,我们在 2011 年就使用了这样的方法,并且我们做的第一个多光谱(近红外和可见光)的防伪方案,目前也是国内最普遍采用的方案。
下图是我们在 CVPR 的人脸防伪竞赛上提出的方案,将 RGB 、近红外和深度图像的信息进行了融合:
相关论文链接: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 的硕士提出来的,他指出,用可见光对着人脸拍摄,会检测到人脸皮下的毛细血管按照心率节奏在跳动。我当时立马想到这个思想可以用到到人脸防伪上,但是我尝试后发现是不可行的——就算你对着一张白纸拍摄,也能检测到心率节奏的跳动,这是因为该方法采用的是傅立叶变换,肯定是存在周期性的,除非用的纯白光,如果在室内灯光下,可能会有一些微小的东西将幅度最大的频率提取出来,所以我认为是不行的。不过现在确实也有一些相关的论文,我估计他做实验结果并不怎么好,只不过确实发表了。
3、复杂光照问题:异质人脸识别和提取共同特征
在复杂光照问题上,目前计算机视觉领域的独角兽公司做的算法很强,然而无法在工地、高铁站等场景中得到很好的应用。我认为还是应该利用主动光照来解决这个问题,这是因为环境的关照如果是不受控的光源,采集的图像就已经被破坏得很严重了,在这种情况下,还需要从光电硬件上去解决这个问题。
我们曾用一个单目摄像头采集了可见光、近红外和深度的图像,其中如果要用近红外方案,就需要处理异质图像人脸识别,思想是在人脸识别中引入图像拼接、手绘这些元素。在我们早年做近红外人脸识别的时候,这种方式能够比较好地解决光照问题。
例如深圳罗湖海关就使用了这种方法的产品。当时相关单位给我提出了一个问题:产品虽然用得不错,但是存在限制,就是必须要使用近红外人脸识别方法去识别人脸的图像进行注册,那如果只有身份证呢,该怎么解决这个问题?于是我就想到了异质人脸识别的方法,包括静态图像、视频、可见光图像和热图像等,基本思路就是将近红外的图像转化为可见光的图像,之后用可见光的匹配技术来做。
另一种思路则是,找到两种不同的图像的共同特征,传统方法有 PCA,即将一种图像创建成 PCA 的基,再用另外一种图像投印到上面来重现图像。对此,我们的团队也提出了一种叫做 CCA 的方法,即对可见光图像和近红外图像提取出共同特征,然后在 CCA 空间上处理这些特征,以此来克服光照问题,不过由于 CCA 容易过拟合,效果可能没有那么好。
注:参见 Dong YiRong LiuRuFeng ChuZhen LeiStan Z. Li, "Face Matching Between Near Infrared and Visible Light Images" ICB-2007
除此之外,提取不同图像特征的方法还有:对两类图像的各个局部特征进行处理、滤波,从而提取出一些共同特征;用传统的方法提取特征后,再用网络进行不同图像的特征变化,这种方法很容易实现端到端;提取出可见光、近红外的图像的了 ID space,再用分布的均值来替代每一个 ID 和每一个光照,并最终表示成 ID Identity Space,与此同时这两个 Space 之间还可以用点来表示,将一种图像的分布变换为另一种图像的分布。
评论