摘要: 在多年研究之后,他为何放弃了语音识别,转做人脸识别?从学术圈到成立公司,他有哪些思考?如何更好地识别人脸?
继“让机器听懂你的声音”,钛坦白又请来六位钛客,探讨如何让机器看懂这个世界。本文根据云从科技创始人周曦在钛坦白的分享整理。
周曦是“中科院百人计划”成员,中科院、上海交大博士生导师,曾任中国科学院重庆绿色智能技术研究院信息所副所长 、智能多媒体技术研究中心主任。曾在国际顶级会议、杂志上发表 60 余篇文章,被引用上千次。云从科技是中国科学院重庆研究院旗下的人工智能企业,专注于人脸识别等计算机视觉技术研发。核心技术源于四院院士、计算机视觉之父——Thomas S. Huang 黄煦涛教授。研发团队曾于2007年到2016年7次斩获智能识别类世界大赛冠军,并参与了人脸识别国家标准起草与制定。
以下是周曦在钛坦白的分享:
我跟图像结缘是在中科大。最早我是在中科大做语音,后来在北京的微软亚洲研究院语音识别组也呆了很长的一段时间,这段时间我“做了错误的判断,做了正确的决定“——我觉得语音没前途。
从语音识别转做图像识别
大家知道摩尔定律,我个人认为语音识别每18个月错误率应该是能够减半的,但是想实用还是非常难,而图象识别的视频跟图像是个大得多的领域,所以我个人认为图像这块可以解决的问题要多得多。
从专业的信息分析来看,语音其实是一维信号,图像是二维信号,视频是三维信号,从信息上看图像比语音要丰富。
从任务上来看,audio和speech是完全不同的,audio本身是有很多任务的,但speech就是人说话,其中的背景音等很多声音对我们的意义有的时候不大,所以做语音这一行能做的任务就是把说话的内容识别得更准确。实际上图像和视频也是完全是不同的,人脸识别大概对应着语音识别,把图像中的人找到再识别他是谁、他的情绪、年龄性别等,这只是浩瀚的图象识别和视频识别中的一小部分,对于我们来说有用的不仅仅是这一点。
举个例子,比如说医学上的应用图象处理,可以识别早期癌症等疾病,为什么体检后很多疾病没有检查出来?不是没有拍到,是需要专业的知识,非常资深的医生才能看得出来。我在想如果疾病尤其是癌症早期就能够看出来,基本是能够治愈的,所以通过图象识别和大数据更好地把有嫌疑的部分都找到,然后再请专业的人确认,这样不就可以挽救很多人的生命吗?再比如做工业视觉,生产线上的东西,是不是有瑕疵,有没有裂缝,表面平不平,都可以通过图像或视频识别出来。又比如现在很火的自动驾驶,其实是可以通过图象识别出所有路面的情况的,是不是有标志这些都是可以搞定的,对于图像来说,其实识别宇宙万物都是很有意义的,不止是识别人脸才有意义。
我看过一条新闻,国外有人在泳池下装了一个摄象头,能够自动识别出游泳者是不是溺水。所以用图像识别做一点点事都可以帮助到别人,我觉得挺有意思的,就把我之前做的语音识别那块放弃了,开始做图像识别。
选择做人脸识别
做图像识别其实我个人认为是一个正确的决定,但是我做了一个错误的判断,其实语音最后也是能使用的,并且使用的非常好,现在大部分已经做到了。很多的时候我感觉自己比较幸运,语音识别和图像识别都属于人工智能甚至机器学习这一个分支,也有一定的学科交叉,很多东西都是复用的。所以我到美国后,虽然图像还没到达这个阶段,但是从语音转到图像,让我在方法论,包括做系统这件事上还是远远的领先了一些人。
我记得当时图像领域好像大部分都是单兵作战,都是在一个电脑上跑,或者是在一个服务器上跑任务,而语音识别领域的人都认为,必然需要cluster服务器阵列,分布式的提交任务,我当时到UIUC时就发现,还没有这个东西,那我马上就自己搭了一个cluster服务阵列。有了这个服务器集群,我就感觉自己做的东西好像是正规军,别人都是散兵游勇。其实语音有很多做得很好的算法跟思想,我在图像识别上实践过,果不其然,效果其实还是很不错的。从2006年到2010年之间,拿了很多的世界冠军,我就想,总要做点有意义的事吧,这个东西要使用,不管是检查零件还是挽救溺水的生命,在各种场合下要能够帮助到大家,才比较有意义。
这个时候我就想,图像识别虽然能够识别宇宙万物,但是一定要具体到一件事情上才能帮助到别人。当时想了很久,人脸是图像中很重要的一部分,把人脸做好可以做很多事,所以我们当时就选择了做人脸识别。但是我后来发现,其实做人脸识别如果没有商务推广能力也是不行的,光做技术这一块存在很大的问题。2013年底的时候,我发现芬兰有一家小公司做刷脸支付,觉得很好玩,就率先在国内做了刷脸支付,2014年是做出来了,在手机上可以使用了,其实并没有什么用,因为根本没有银行或者人去用这个东西,我只是告诉别人可以这么玩,但是谁会真的用呢,哪个金融机构会真的拿着这个去做事呢?
选择成立公司,选择做全产业链
我当时想了很久,如果我们永远只是在学术圈里,还是帮不了人,做不了什么事,一定要有一个自己的公司,自己有能力,然后去做商务推广,把这个东西往前推动,于是就有了云从。
开公司以后,我发现目前大量的人脸识别公司分为两类:一类是只做前端的核心技术,另一类是只做后端的产品和服务。做全产业链需要很长的周期以及很大的投入,投资回报也比较长,但是技术和服务本来就是不能割裂的,一旦割裂我个人认为其实也会影响到客户的体验。举个例子,比如说有些客户要求改变摄象头的高度就会影响到整个算法,如果没有技术,是无法快速响应客户的要求的,我认为科技公司最重要的就是技术,即使做技术这块在前期对公司来说负担特别特别的大,但是只要有这样的技术的积累,而且技术有创新,才能够一步一个脚印的扎实的前进。
再其次,其实我觉得做全链的优势还在于我们自己掌握了产业链,能够保持从软件到硬件的适配性,以及使用环境的完美调试,我们可以将用户的体验维持在一个比较高的水平上。同时全产业链也能增强科技公司自身的议价能力,在这方面,我们的学习目标是华为。
如何更好地识别人脸?
云从科技从2013年就开始接触了深度学习做图象处理这一块。我们对深度学习的网络做了一些针对人脸的处理,主要方向是我们考虑到人脸识别最大的应用是证件照和现场照的比对。
所以我们在做这项技术的时候,考虑到两种不同类型的照片应该用不同的方法去处理,所以就在深度学习基础上,研发了一项技术叫双层异构深度神经网络。其实目的很简单,就是把看起来明明不相似,但是实际是同一个人的人脸,想办法对应起来,放到同一个空间去做比对或者去做识别。
通过这项技术的名字就能有一个稍微直观的印象,就是双层跟异构。很多的时候,我们注册的照片是证件照比较端正,现场照片往往过了好几年,现场的光线、表情、角度等因素,都是比不过证件照的,所以需要用比较复杂的网络去解开这个现场照。本身描述每个东西都是一个分布,同一个人也要满足同一个分布,但是因为种种因素,同一个人的照片时间已经隔得比较远,我们不能强行把两张照片圈在一起,那怎么办呢?让他们在两个层上组成不同的分布,用线将他们连接起来,简单地讲接受注册和测试时是不同的,我们要把证件照跟现场照之间的内在关系找出来,这就是双层。
异构其实是和双层是相辅相成的。大数据,大家都知道有一个特点,只要数据足够多,就可以让他自己学习,但是实际上光线、遮挡、表情等一些识别因素造成了差异。可以完全让他自己去学习,我们也可以提前告诉他,可以省很多力。异构就是不一样的结构化,数据是一种结构,知识也是一种结构,我们要把知识输入到网络里面去,映射到一个一个簇里面,让他用更少的代价去解决这个事情。
讲到双层异构深度神经网络,我要举一个比较经典的例子,叫三个苹果。什么意思呢?比如说我们教一个孩子认识苹果,大概有三个就够了,告诉他圆圆的,上面有果蒂,摸起来是什么感觉,这就是苹果。下一次他看见苹果的时候问他,这是什么?他可能知道,也可能不知道,对吧。如果不知道,我们就可以再告诉他,这就是上次说的苹果。这个小孩就会问了,颜色为什么不一样?我们可以回答,上层是青苹果,这次是红苹果。小孩子基本上就会知道,苹果有不同的颜色。几次之后,他就认识这个苹果了。我们知道深度学习其实是基于大数据的,我们想要搞定苹果需要多少个苹果呢?通常要一千个或者是一万个苹果的训练数据。这时候训练结果才能达到识别率比如说90%或者是95%,也就是说,假如有一万个苹果就会有一千个或者是有五百个会识别错,我们就要想想了,这一千个苹果为什么会识别错了。电脑不会告诉我们说这个是因为颜色不一样,而是会告诉我,它是苹果的概率是0.4,我们如果把阈值设在0.5以上的话,电脑就会告诉我这不是苹果。
实际上现在人们也不知道如何纠正电脑,我们只能说,训练数据不够,再找十万张苹果的照片去训练,终于识别率能到98%,效果感觉好像还不错。但在我看来,这并不是人工智能,和小孩子沟通的过程才叫人工智能,因为他理解我抽象出来的概念,通过颜色、形状、材质等几个抽象出来的概念,他定义了一个新的事物,当他有不同的理解时,也会用到同样的概念提出问题,来纠正他的认知,我们在一个很高层次上去做交互,这样能够举一反三,一个一个点的求偏导和积分是没有办法交流的,我们和计算机根本没法交流。
除了基本的初级象素信息外,我们其实要加入上层的概念信息跟属性信息,这样才能做到在更高的层面上去做交互,快速的举一反三,迭代出这个问题的本质。其实这整个逻辑,就把双层和异构基本上解释得比较清楚了。但实际上这个问题只是解决了我们怎么样去学习,怎么样去让深度学习更好地理解物体,理解人脸,更好地去识别。但是实际上图象识别还会遇到很多的问题,比如说大量的运算。深度学习需要大量的运算,本身这个网络够复杂的话,我们如何提高他的反应速度呢?其实这一块又涉及到很多工程上的问题。
所以我认为,图象识别特别是人脸识别的门槛还是比较高的,因为这不是搞一个模型就能行的问题,人脸识别本身有十几个模块,我简单点说,比如说从检测、跟踪、分割、关键点、旋正到质量分析、光线弥补、角度补偿、遮挡补偿等等。要求对于任何一个模块,针对每种场景做不同的适配,还是非常非常难的。比如关键点提取,如果应用在手机前端,供应商会要求模型大小在一兆以下,而整个人脸识别在服务器上超过一亿个参数,我们怎么保证在一亿以下呢?这个也是非常难的。同时我们有的时候还要求很快,比如说视频中有很多人,要求在一毫秒之内识别出所有的关键点。这个时候可能大家会问,为什么是一毫秒不是十毫秒、100毫秒,其实我想回答的是,因为本身这个系统里面还有很多的模块要去运行,要满足所有的运行时间加在一起达到实时,也就是我们所谓的一个视频假设每秒有30帧,我们每帧要做到30毫秒的话是非常难的。
有时候又要求很准,比如说对关键点的识别偏一个象素,就会让人感到睫毛安偏了,或者嘴又放歪了之类的,所以有的客户要求模块又要小,速度又要快,识别又要准,其实说白了,就要有不同的算法和模型,对应不同的场景去解决这个的问题。一个模型和一套人脸识别的算法是解决不了各种各样的需求的。所以模块的丰富性,是非常重要的,十几个模块,每个模块要有不同的场景,还要对应所有的硬件。我们知道不同的手机型号、服务器,嵌入式识别这些都是不同的,光手机都有IOS和安卓两个平台,这就是我们常常说的,无数研究的精力放到这些硬件的适配上了。我们本身在做开发的时候,比如说安卓、IOS这样的平台,所有的模型都要重新编译一遍更新一遍,其实这个活是非常累的,而且大家知道编译码肯定要有源码的,所以说为什么像我们这样的公司,都要有庞大的研发队伍去做。很多人不理解为什么做一个人脸识别研发团队要超过200人,原因就在这里。这还仅仅只是核心技术的一小块,再加上不同的行业,比如说我们会做闸机,会做迎宾,会做银行的生物认证平台,等等不同的系统,我们要在不同的设备商之间去做这些事情,确实是非常非常的难,工作量非常非常的大。
人脸识别行业的发展态势
我认为人工智能时代现在已经开始萌芽,并且之后将会有一个飞速的发展,今后将成为未来一切商业的基础。谷歌将人工智能领域的业务全部划归为Alphabet这个大家已经比较清楚了,使得它摆脱了互联网的标签,也正是看到了人工智能的前景。从人脸识别的角度来说,未来几年也是包括人脸识别在内的人工智能技术产业爆发得非常快速的几年。
无论是产品种类、产品规模还是生活方式,都会有爆发性的增长和改变,比如从去年开始,金融行业就在尝试应用人脸识别技术在远程开户在线支付等业务上,公安其实也会应用到该技术,我们协助他们做卡口的布防,追逃这样一些有意义的事情。之后在边防、机场、铁路还有智能商业这块,我个人认为,人脸识别发展前景是非常大的,而且是非常有利的。
钛坦白群友互动:
Q:想请教一下周总怎么看NEC的人脸识别技术,他们落伍了吗?
周曦:我们在中科院做人脸识别的时候, NEC是最大的竞争对手,因为那个时候在深度学习还没有起来之前,NEC的技术确实是非常厉害。但是当我们2014年、2015年将人脸识别技术产品化,在市场上去推的时候,跟竞争对手去做POC测试的时候,遇到NEC的次数是非常非常少的。
我们在2015年遇到过跟NEC去PK,感觉那个时候NEC用的还是传统算法,在深度学习这块确实人脸识别的算法比传统算法要好很多,所以当时我们还是赢了NEC的,但是后来,到2016年我们基本上没有碰到过NEC,所以我也不确定NEC的技术是否现在已经更新到深度学习,并且效果也达到非常好的水平。
Q:周总,云从目前产品化进程主要分为哪几类?或者说您那边看好哪几个行业?能否透露。
周曦:云从2015年的主攻方向是金融,取得了非常好的成绩,目前是全国做人脸识别行业在银行里面做得比较多的。今年跟明年,我们可能更加注重的是在安防领域,希望有一个比较大的突破。其次我这边还看好比如智能商业、医疗或者是这样的行业,我们因为精力有限,会一个一个行业的去做。
Q:想问一下,现在的人脸识别技术对于角度略大的侧脸和墨镜遮挡的情况能处理吗?
周曦:说实话,角度大跟墨镜这块我们目前从算法角度来说是很难搞定的,因为他把眼睛的关键点基本上挡住了之后,对计算机识别来说也是有一定难度的,就比如说我们有的时候发现很多明星在机场他都会戴墨镜,这个时候很少人把他给识别到,所以计算机也是一样的。但是今后我们可能会做配合其它图像识别技术,如步态还有一些身形或者还有其他的一些东西,可以综合起来识别这个人,这个技术我们会在后续慢慢的去实现。
Q:周总您好,想请教的是,在生物识别领域,人脸识别作为一种技术实现手段,与指纹识别、虹膜识别、声纹识别相比,人脸识别有哪些自己优势与不足?人脸识别比其他技术手段相比,更适合的应用场景会出现在哪些地方?
周曦:我认为是这样的,人脸识别技术必须要有一个比较长时间的积累,包括我们的竞争对手,他们也是有几年的甚至是十年的积累,我们才能一起成为竞争对手的,包括像去年我所了解到的很多公司,有做人脸识别相关的研究,但是到今年我不知道什么原因,很多都已经放弃了。我认为技术在短期至少在近一两年里面,其实还是一个比较大的优势。当然之后,肯定是靠产品,产品比如说简洁化、体验性这一块才能真正的去打动客户,才能占领比较大的市场。
人脸识别的优势我跟大家简单的讲几点:第一个就是它是非接触式的,比如说我们现在大家说到的虹膜、指纹这块,我的理解都是接触式的,你必须得接触设备,这个本身对人来说是侵入的,就不太好;还有一个优势,就是我们现在大部分人,所有的身份证二代的芯片里面只有一个人脸,我们在人脸上去做比对,去做认证的时候就非常方便,现在新的二代和三代身份证也有指纹了,但很多现在还没有推广起来。
人脸识别的劣势其实也是有的,它是很大程度上受硬件的限制,比如说摄象头,摄象头如果很差,角度装的很偏,对人脸都已经不能很好的进行捕捉,人脸识别起来难度还是非常大的,他的正确率会随着图片质量的下降而下降,导致在某些场景或者是某些场合下面是不能用的。
Q:现在人脸识别整个业界还有那些难题是暂时无法攻克的?
周曦:我觉得人脸识别目前有几个需要突破的地方:第一个是识别率,这一块我们希望达到跟指纹一样,在百万分之一的错失率的下面达到90%以上,只要赶上指纹,人脸比指纹的优势就更加明显的突出;另外,在硬件方面还是有很大的问题,因为本身我们要捕捉一个人脸他要达到一定的条件我们才能够去做识别;在识别的过程中,受到更多的主观性的影响,比如说光线,光线这块其实我们目前在室外的人脸识别是远不如室内的人脸识别率那样高的;当然角度这块就不用说了,比如说我们拍的人脸当只露出一个眼睛或者根本没有人脸只有额头或者只有下巴的时候,对于我们做人脸识别来说,其实这个就非常的不靠谱了。
Q:感谢周总,貌似现在深度学习的人脸识别很多方面已经超过人眼,那么还有那些方面深度学习还远不如人眼的能力呢?
周曦:其实计算机仅仅在人脸识别上已经远超人类了,但是计算机目前还没有解决的就是我刚刚说的,能够通过综合判断去识别一个人,这是人比计算机厉害的地方。比如说人我们去识别一个人,我们不光是他的人脸,还有他的穿着、身高、体型、步态所有的因素结合起来,我们识别一个人的话就会非常非常的准,但是计算机目前就做不到这一点。计算机没有把这些所有其他的属性包括一些因素都利用起来,去综合识别,如果有一天能达到这种程度的话我认为他的效果会非常的好。
另外本人还开设了个人公众号:JiandaoStudio ,会在公众号内定期发布行业信息,以及各类免费代码、书籍、大师课程资源。
扫码关注本人微信公众号,有惊喜奥!公众号每天定时发送精致文章!回复关键词可获得海量各类编程开发学习资料!
例如:想获得Python入门至精通学习资料,请回复关键词Python即可。