查看原文
其他

都在说人脸识别,它到底发展得怎样了 | 一席第389位讲者雷震

2016-08-30 雷震 一席

广场上密密麻麻地围着那么多人,我能通过人脸识别技术把每一个人的人脸捕捉出来,不论他姿态多少,是否有被遮挡,我都能识别出来他的身份。如果到了这种程度,我觉得人脸识别技术可能才算是真正的成熟了。


https://v.qq.com/txp/iframe/player.html?vid=v0324ka5qzw&width=500&height=375&auto=0

进击的人脸识别雷震

我叫雷震,来自中科院自动化研究所。

 

人脸识别这个技术相信在座的大部分可能都已经听说过了,最近这个技术在各种新闻报道里面出镜的频率还都挺高的。马云在汉诺威用刷脸支付成功地购置了一件商品,去年李克强总理利用人脸识别技术发放了前海银行的第一笔贷款。最近又有消息说招商银行要把它全国的ATM机全部加装人脸识别的技术,以后我们取钱可能就不用密码了,只要人脸识别就可以了。

 

去年微软的How-Old.net应用非常的火爆,刷爆了朋友圈。这是这两位的一个结果。



 

这个其实是人脸识别技术在娱乐方面的一个应用。它是通过分析面部表情,面部皮肤的纹理信息估计你的年龄以及判断你的性别。很不幸这两位其实性别都已经判断错了,这两位都被标成了女性。

 

人脸识别的第一步是要从人脸图像中快速地检测到人脸的位置。大家在用数码相机或者手机进行拍照的时候,很多时候会发现脸部的区域会出现一个绿色的或者其他颜色的框这样一幅图片密密麻麻的有几十个人脸,其实计算机只需要几毫秒或者十几毫秒的时间,就能把这每一个脸的位置给准确地检测出来。

 


我大概是从2005年开始从事人脸识别技术研究的。这个是香港深圳罗湖口岸的一个自助通关通道。用你的护照或者是港澳通行证在这个机器上刷一下之后,你再面对一下摄像头或者是摁一下指纹,它就可以把你拍下的面部照片、你的指纹信息跟护照里面相关的信息比对。整个完成可能也就8到10秒的时间,所以大大地提高了通关的效率。


 


当然现在这块技术就比较成熟了,我们在2005年的时候就开始做这么一个东西,在当时还是非常前卫的,它对技术的要求也非常高。而人脸识别技术在那个时候识别率还远没有现在这么理想。比如说我们上面布置的这些灯光,对识别率影响都非常大。但好在当时我的博士生导师李子青教授有一项全球的发明专利,就是我们采用了近红外的人脸识别技术来解决光线对识别影响的问题。

 

近红外它是什么原理呢?就是说我在普通的摄像机旁边加装了一圈肉眼不可见的近红外的发光二极管,另外我还有一个专门接收红外信号的摄像头,所以我在进行识别的时候,这个发光二极管把近红外光线打到人的面部上,面部反射的光线被这个红外摄像头接收。这个摄像头还有一个特点:它加装了一个可见光的滤片,就是我们平常人眼看见的那些光线它是全部过滤掉的。

 


我们大家可以直观地感受一下。这张图是我在不同的光线下拍到的,有侧光,有底部打上来的,也有头顶打的,这些都会对人脸识别的性能造成非常大的影响。下面一张图,你可以看到不论你上面这个环境光怎么变化,它底下那个近红外的图像都非常稳定。

 


在这之后,我们在2008年又做了一件非常重要的事情,就是把人脸识别技术运用到了奥运当中,这是国际上第一次将人脸识别技术用到奥运安保当中,所以这在当时也是一件非常轰动的事情。



 

这个系统当时遇到了什么问题呢?我们可以看到这个系统是装在奥运的安保大棚里面,这是一个半室外的比较开放的环境,半室外就是说很容易受到太阳光照的影响。奥运开闭幕式观众入场的时候一般是下午2、3点钟,而那个时候正好是太阳下山的时候。安装在西边的一些安检大棚里面的设备,太阳光直射,正好照着这个摄像头,人眼压根就看不清这个人脸,更别说计算机了。


可能大家会问,你刚才不是提了一个近红外的人脸识别技术吗,是不是可以用到这里面解决这个光线的影响的问题?但很不幸,我们近红外的原理是它把不是近红外的那些可见光给过滤掉了,只保留了近红外在里边;但是太阳光是一个全光谱的波段,它里面也有近红外的成分,所以在这个环境里面,你即使用了近红外,还是受光线的影响,有太阳光的直射、偏光或者侧光的影响。所以那个技术用在这也没什么用。

 

当时我们是研发了一个光照预处理的技术。大家可以看到,左边的三张图是我们采到的原始的图像,它可能是有过暗的,也有侧光的。右边这三张图就是我们用算法处理后的三张人脸。用这个人脸去系统里面进行人脸识别的时候,它就可以去除光照对人脸的影响,提高人脸的识别率。


 


可以这么说,经过几万年的进化,我们的人脑其实是一个非常高效的处理图像信号的结构。有些神经科学家通过解剖人的大脑研究它的机理,发现我们人从视网膜接触到外界的图像信号开始,大概会经过六层的传递就能得出一个结论。比如说识别出来你是一辆车,或者是你是一个人,或者识别出来你是张三还是李四。

 

深度学习这个多层的神经网络其实在上世纪六七十年代也已经提出来,有人就想这么干过。那为什么之前不行呢?是因为之前数据太少,根本就优化不出来这个模型。现在大家知道,大数据时代尤其是人脸图像很容易搜集,可能在座的各位都对现在的人脸识别算法有贡献——你每天都在QQ空间上面上传一些图片,对吧;支付宝时不时地还让你上传一张头像。再加上现在GPU技术的发展,高性能计算速度很快。按照以前的CPU,优化一个模型可能需要几十年或者是几百年,这显然是不可接受的;现在有了GPU技术之后,大概我只需要几个小时或者是几天时间就可以完成一次算法的迭代。这些都促进了人脸识别技术在这几年的飞速发展。

 

举一个例子,它发展到什么程度呢,大家知道我们现在人脸识别很大的一个应用是人证合一的一个比对。比如我们进火车站现在实行实名制,我可以把你现场的照片拍一下,跟你身份证里面的这张照片比一下,看看你是不是同一个人。大家其实很早就想做这件事情,以前的算法在这种程度上面识别率非常低,大概只有50%。


但是人脸识别技术现在发展得非常快,大家都没想到我可以用里面那么小的一张照片跟你现场的照片来进行比对,来进行一个人证合一的查验。现在这个技术用于深度学习,它的人证合一的查验准确率大概都已经达到了90%~95%以上。

 

其实说到这里,大家可能会想到另外一个问题,这个其实就是人脸识别应用系统的一个安全性的问题。这是在加拿大某个机场,左边那个小伙戴了个人皮面具,伪装成了右边那个老头,成功地骗过了机场的人脸识别系统。只能说它当时那个人脸识别系统没有活体检测的功能,戴个面具什么的就能伪装成别人骗过这个系统。


 


我们知道手机安卓4.0之后都有一个人脸检测的功能。很多人立马就去试:我拍一张手机机主的照片放在另外一个手机前面这样晃一下,诶,这个手机也解锁了,那你这个人脸解锁也没什么用处。一般这种喜欢来攻击的能想到的都是这三个媒介:最简单的,打印一张照片或者是我手机上呈现别人,用某人的照片去进行攻击;或者是我放一段视频;又或者是高级一点的,可能成本高一点的就做一个仿真的面具戴上,模仿别人在前面进行攻击。



 

其实这个问题提出来之后,大家也能很直观地想到,你不就是要看一看面前那张是照片是不是真人吗?一个直接的想法就是我发一些指令让你做一做动作,比如说让你眨个眼、张个嘴、摇个头,计算机判断你究竟做了没有,要是做了那肯定是个真人,要是不做的话那可能是一张照片。大家觉得这个方法还挺好,我们其实在去年也开发了这么一个系统来进行防伪。但是很不幸,这个技术被攻破得非常快。

 

这个今年大家可能在网上也都看到过的:斯坦福大学发明了一个技术,它可以把某一个人的表情移植到另外一个人上面,就是说我有一段视频,我做一些动作,视频里面那个人也在做相应的动作,所以刚才我说的让他眨个眼、摇个头、张个嘴都没用。

 https://v.qq.com/txp/iframe/player.html?vid=e032450ikze&width=500&height=375&auto=0


我们在2009年的时候其实就参加了欧盟的一个项目,就是做人脸防伪技术的。左边是这么一个原型系统,右边就是我们采用了三个光谱、分别在400纳米、850纳米和可见光频段下对某个人拍一下照片,分析一下这个照片跟真人有什么区别。

 


这三张照片我都是真人拍摄的,通过实验会发现,你要是拿一张照片或者是拿个手机放在这些多光谱下面,它就是白茫茫的一片,连人脸都拍摄不到。因为它这个材质表面反射率不太一样嘛,所以这个技术我们可以用来判断在摄像机前面的你究竟是个真人还是假的,照片、视频、面具都可以防。

 

我们前面提到招行,它不是想在它全国的ATM机上都应用人脸识别技术吗?那你肯定要加入活体检测的这么一个技术,要不然我拿着别人的照片一晃,把别人账号的钱也都给取了。我们就是利用了这个技术。招行总行想象力还挺丰富的,它搞了六十多种攻击方式,各种面具,各种把眼睛嘴巴挖掉贴在人脸上进行攻击,我们是唯一一个防住了它所有攻击的一个单位。

 

这个是去年我们开发的应用在深圳海关进行抓水客的这么一个系统。它之前有一些水客的资料,比如说有个几千名或者是上万名的水客的资料,我就架了摄像头监控来来往往的过关的人群,如果发现有水客就进行报警。一次水客进行报警,让后面的执法部门进行人工的处理。

 


这个系统跟前面讲的这些系统,它的难点应该就是说我库里面注册了一千多个人,首先我这个人数多了它可能出错的概率就大,另外一个就是我们之前讲的,都是身份认证,1:1的,用户是想让自己过的,他会尽量配合,你让他抬头他就抬头,你让他把墨镜摘了他就摘了,你让他把帽子摘了他也摘了,力图都是通过。但这个不一样了,没人提示他们需要干这些事情,因为这些过关的人压根就不知道这个摄像头架在哪里。所以有个很大的问题就是他的姿态变化非常大。

 

姿态也是影响人脸识别率的一个非常大的因素。所以在这个系统里面,我们当时就开发了一个对人脸进行姿态校正的技术。它的原理是什么呢?就比如说我有一张侧面的人脸,我可以用一个三维的模型去不断地拟合他这个人脸的形状。当拟合完成之后,因为我是三维模型嘛,所以我可以对他随意地进行校正,随意地旋转,我最终可以得到一张正面的人脸。


 


比如上面几张图是原始图像,他的表情也非常夸张,经过我们这个技术处理之后呢,人脸也转正了,嘴巴该闭的也闭上了,所以用下面一行去进行识别的时候,我们的识别率就能够得到极大的提升。


 

总结一下,这个人脸识别,我们研究了那么多年究竟在研究什么?它的究竟难点在哪里?

 

首先我们看这个照片。我们通过研究发现,识别你需要的这些信息大部分都集中在你的双眼上。像中间这张照片,这个人要是戴了一个墨镜,那其实就把最重要的识别信息给遮挡住了。那他跟最左边图片比的时候,很有可能相似度就非常低。右边这张照片戴了个围巾,至少把三分之一的人脸给遮挡没了,那它来识别的时候呢,识别率也会受到非常大的影响。


 


其次有一个问题是年龄变化。我们知道随着年龄的变化人的容貌是会发生改变的,在实际应用中可能你可以通过不断地更新照片来解决,比如说过五六年我就让你来重新注册一下。在识别算法上这还是一个难点的问题。


 


第三是整容。很多人问我去韩国整过容回来之后你还能认出来吗?其实现在的算法对这些微整容是没什么问题的,还是能够识别出来,但你别整得太过分,你本来是张三都整成李四了那肯定是认不出来了。


 


第四是刚才说的姿态。我正面人脸的时候你能认得我,那我侧面你还认不认得?这个识别率就会非常低。还有就是比如说光照。我这光照不均匀,比如说在监控下面,我这人像本来就模糊,我也看不清你的身份。

 

还有一些生理上的。比如说双胞胎,双胞胎你分不分?你是识别成同一个人还是不同人?学术界有一派的观点就是说双胞胎这个身份识别你就不能用人脸识别技术来解决,因为他俩本来就长得很像嘛。要是某个系统你把双胞胎成功地分出来,那我怀疑你这个系统是有问题的——那么像的两个人你都非要把他分成不同的人。再比如说一些亲属关系就长得很像的,那你怎么办,你能不能正确地识别出来?等于说这些都是我们人脸识别需要克服、需要解决的问题。

 


那这一张图其实是我们从事人脸识别行业的很多人最终的一个目的。就是说我在广场上,密密麻麻地围着那么多的人,我能通过人脸识别技术把每一个人的人脸都能够捕捉出来,不论他姿态多少,是否有被遮挡,我都能识别出来他的身份。如果到了这种程度,我觉得人脸识别技术可能才算是真正的成熟了。

 


当然了,现在我们这个人脸识别技术每时每刻都在发展,每天它都在进步。人脸识别的应用也是在各行各业中越来越广泛。比如说对金融,我去银行开户你可以身份认证;比如说社会公共安全,安防或者反恐的一些应用里面;对我们的生活方式都会带来很大的便捷性和安全性。

 

我们现在出门,带个手机有个支付宝有个微信支付可能就可以了。也许不久的将来,我们连手机都不用带了,你就带着这张人脸就可以了。

 

最后这是《碟中谍》中的某个片段。大家可以看到,这个其实是他用了人脸识别的技术,在川流不息的人群里面找到一个特定的人。我相信用不了多久,这个场景就会出现在我们真实的生活当中。


https://v.qq.com/txp/iframe/player.html?vid=j0324fz9rqg&width=500&height=375&auto=0


看完演讲有任何问题,你可以在文章下评论中提问,我们会邀请雷震回答。




BiBop:北京到上海60分钟,胶囊高铁是怎样办到的?


梁琰:这可能会让你疯狂地爱上化学


戴若犁:这是中国VR行业被看的最多的一个视频了


往期演讲,请点击左下角 阅读原文


一席|人文•科技•白日梦

微信ID:yixiclub
长按,识别二维码,加关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存