雷锋网AI科技评论按:本文为旷视科技首席科学家孙剑日前在 CCF 与 KDD China 联合主办的ADL上做的题为《如何在大公司和创业公司做好计算机视觉研究》的分享,雷锋网进行了全文整理。以下是第二部分。
传送门:旷视科技孙剑:如何在大公司和创业公司做好计算机视觉的研究(一)
旷视科技孙剑:如何在大公司和创业公司做好计算机视觉的研究(三)
孙剑博士(摄影:刘芳平)
孙剑,博士,旷视科技(Face++)首席科学家、研究负责人。2003年毕业于西安交通大学人工智能与机器人研究所,毕业后加入微软亚洲研究院(Microsoft Research Asia),任至首席研究员。其主要研究方向是计算摄影学(computational photography)、人脸识别(face recognition)和基于深度学习的图像理解(deep learning based image understanding)。自2002年以来在CVPR、ICCV、ECCV、SIGGRAPH、PAMI五个顶级学术会议和期刊上发表学术论文100+篇,Google Scholar 引用 20,000+次,H-index58,两次获得CVPR Best Paper Award (2009, 2016)。孙剑博士于2010年被美国权威技术期刊Technology Review评选为“全球35岁以下杰出青年创新者”。孙剑博士带领的团队于2015年获得图像识别国际大赛五项冠军(ImageNet分类,检测和定位,MS COCO检测和分割),其团队开发出来的“深度残差网络”和“基于区域的快速物体检测”技术已经被广泛应用在学术和工业界。同时孙剑带领的团队的研究成果也广泛被应用在微软Windows, Office, Bing, Azure, Surface, Xbox等多条产品线上。目前孙剑博士正在带领旷视科技的研究团队推进计算机视觉技术的进步和探索其在工业和商业上的实践。
以下为演讲内容,主要介绍了近期计算机视觉的发展现状,ResNet基本原理和设计,旷视科技在计算机视觉的研究进展等。最后他还分享了一些“如何在大公司和创业公司做好研究?”的心得。
物体检测非常重要,还有另一类是文本检测。我们都知道,文字的检测其实是非常难的,而且与物体检测也存在不同。
图二十九
文字检测的主要特点是它的流程(pipeline)非常长,从设计模块、调整参数到训练都要花非常多的时间和心力。
图三十
深度学习的精髓是做端到端的训练,旷视(Face++)研究院今年在 CVPR 上发了一篇论文,就是一个基于 FCN 的简化文本检测算法。输入一张图片后,系统会生成Geometry Map 和Score Map两个Map,进而实现端到端的识别,这也是文本检测第一次能用一个这么小的模型实现,这里是它的一些量化评测,在公开评测集上取得了非常好的效果。
图三十一
图三十二
我们的研究员正在用不同的方法做一个实时检测的 demo,大家可以看到,这里其实并不涉及文字的识别。
图三十三
第三部分我们关心的是语义分割。即如何把像素映射到一个有语义的标记上来。
图三十四
其中一个非常大的应用就是无人车。即在感知的时候需要知道人和车的位置。其实用非深度学习的方式已经做得非常不错,但如果涉及更复杂的情况,用深度学习可以做得更好。
在这里我们会采用 FCN 的方法(fully convolutional network,全卷积网络),用下采样抽取后再上采样回来,输出一个 feature map 或是有语义的 map,以完成一个端到端的学习。
图三十五
涉及的一个概念叫 receptive field(感受野),也就是卷积的特征到底能覆盖多大的区域,而实际上还有一个叫有效感受野的(valid receptive field)概念,因为实际情况往往比理论上覆盖的区域要小。
图三十六
在研究中我们会发现,做分类和分割实际上是不一样的任务。分类的话,研究者会希望感受野越大越好,而分割则可能需要控制一下。
这和标准的 FCN 还是有不同。如果你想识别图中的鸟的话,实际上我们还是需要一个很大的 receptive field 的。
图三十七
我们旷视(Face++)实习生最近做了一个工作,他设计了一个方法,在大的 receptive field 或是大的 kernel 中也能实现很好的效果。这也是我们今年 CVPR 的一篇论文《Large-Kernel FCNs》,当时(的结果)在 VOC 2012 Segmentation on Benchmark 上排在第一位。
图三十八
以下是三个分类的核心问题。计算机还有一个问题就是 3D 感知问题,而且并不需要两只眼睛,一只其实也可以实现先验感知。
图三十九
那么用深度学习是否能实现 3D 重建?自然是可以的。
目前研究员在研究如何用单张图片实现 3D 重建。左边是一个图片,右边是它构建的 3D 点云。看不见的地方我们需要利用先验猜一下可能是什么样子。
图四十
那么 3D 形态是如何构建的?最难的地方是如何表示 3D。传统方法包括用深度图或是 mesh 等方法实现,即判断一个空间内某个格子是否有这个物体。我们研究员采用的是 3D 点来表示物体的方法,能够呈现连续的特点。
图四十一
3D 数据库训练了一个检测的 pipeline,红色列是输入,二三列是输出,根据先验知识判断,形成一些合成例子。
图四十二
在提交论文前,我们在办公室随便拍了一些物体,也得到了一些还不错的结果。这篇论文在 CVPR 上也拿了 oral paper。
图四十三
图四十四
由于时间有限,一些技术细节我们在这里就不详细讨论了。
在这里我想提一下我们旷视(Face++)自己有一个叫 Brain++的深度学习平台,每个研究员或访问学生只需要用虚拟机远程登录就可以实现算法训练,甚至还包括数据管理、数据标注和模型发布的整套系统。用户标注的数据可以直接上传到系统中,经过训练后就能直接发布模型了。
图四十五
其中核心的一部分叫 megvii brain,是一个深度学习的训练引擎,大家可能都听说过 caffe、TensorFlow 或 MXNet,那么你可以把 megvii brain 理解为 旷视(Face++)的「TensorFlow」。TensorFlow 已经开源一年,而我们的 megvii brain 已经两年了。
为什么说旷视(Face++)是应用深度学习比较早的公司呢?不只是在做应用,其实底层的技术我们也在做,也开放应用了。
图四十六
好处在于,很多定制化的东西我们可以自己来做。相对 TF 这样体量大的系统,可能用户在上面做一些改动就会产生很多问题。此外,引擎的占用内存小,训练速度快,有很多东西是我们可以控制的。
前面我们提到了一些技术,接下来会说说产品能做些什么事情。
Face++有两类产品,一类是人脸识别的 FaceID;另一类是智能摄像头。
FaceID 实际上就是为了解决一个问题:「如何验证『你是你』?」
图四十七
比如线上银行开户、或是 Uber 司机的身份验证,目前也有很多方法,不过现在用得比较多的还是人脸识别的解决方案。
FaceID 的 App 身份验证方案的流程是这样的,用户拍一张照片,通过活体检测部分比对身份证信息,通过客户端的 SDK 与云上的计算实现比对任务。而 SmartID 则属于 SaaS 服务,目前已经应用于非常多的领域,包括线上线下的银行,还有以芝麻信用为代表的征信风控业务都在用我们的服务。
图四十八
前一阵 3·15 展示了如何破解人脸识别技术,这里涉及到一个问题叫「活体攻击问题」,其实反过来想,如果它已经形成一个地下黑色产业链,说明已经成为一个非常有价值的业务。
第二个方向则是智能摄像头。
我们将算法嵌入摄像头或计算盒子,主要方向是做家庭或公共安全的分析。大家可能了解过,中国的摄像头数量超过世界上的一半,而超过一半的硬盘都被用于存储视频监控内容。
图四十九
图五十
我们来看看交通规划方面,旷视(Face++)的产品能做些什么。如果你能分析清楚视频中的人流车流的 ID,那么这也具有价值。
比如我们做了一套门禁系统,员工上班时不需要打卡,只要走过这个玻璃门前,就能自动识别人脸。目前这套系统也已经获得上百家公司的应用。
此外,我们还可以根据这套系统做一些改变。比如中国每年有很多展会,在注册服务上可能需要很多的人手跟进,那么我们这款产品就能打造成一个基于人脸识别的自动注册系统。
图五十一
有了这些产品,势必会产生非常大的数据,目前 旷视(Face++)的开放平台 API 被调用的数据在 2016 年达到了 60 亿次,很快会接近 100 亿次。而我们的 Smart ID 也已经服务超过上亿人(不是上亿人次)。
从感知智能到认知智能
我们也希望实现「技术-产品-数据」的一个闭环,也是通过服务不同的行业实现 AI+的方式。我们再回到人工智能。
图五十二
图五十三
左边的绿色表示的是拟合映射的任务,用一个函数 F(x)就把很多内容解决了,提供大规模的标注数据就可以实现。但右边的任务就不是一步法就能做的,涉及很多的判断,而且右边的内容可能无法提供一个大的训练环境。虽然目前有很多新技术,也有大量的投入,但还没有很多进展。
图五十四
计算机视觉虽然我划在左边,但实际上它也涉及右边的认知过程,比如系统能能够判断一个视频里面的内容,而这就涉及到很多 language 和常识的支持。
那么如何从感知智能向认知智能转变呢?
我从一本 2004 年的书中得到很多灵感,它的名字叫《On Intelligence》。作者 Jeff Hawkins 创建了一个研究院,研究如何做类似人脑智能的内容,虽然研究院规模不大,成果也尚不足以证明什么,但书中提出的思想都非常早,包括如何利用存储机做人工智能。
图五十五
现在训练神经网络是没有内存的,而人类拥有记忆,根据书本、知识将内容传承下来。那么像 Facebook、Google 这样的公司都在做 Memory mechanism 的学习系统,要解决的核心内容在于要存储哪些内容,读取哪些内容,又该做怎样的联想。比如人类记得一首歌、记得一句话,是按一定的顺序记忆的,如果反过来,可能我们都回忆不起来。
图五十六
此外,很多知识是分层结构的。因此这些内容如何以一个合理的机制存在,是我一直非常关注的研究方向。
另一个我自己觉得非常有意思的内容是无监督的预测。它的基本思想是说,人在学习过程中是需要和物理世界发生交互的,而人类通过观察现实世界就能学习到很多东西,不需要进行额外的标记。虽然我们不否认家长的重要性,但小孩学习的很多东西,也有很多不是父母教的。孩子在观察世界、与世界互动的过程中,包括基因传承的一些内容,就会自发地学习。
举个例子,我们衡量智商会通过 IQ 测试,比如给出一列数字,让你预测下一个数字是什么,或给一串文字,让你判断下一个文字。对将要发生事情的预测,是一个非常重要的监督信号,能够在整个学习过程中运用。现在有很多的研究,通过一段视频,判断下一帧的内容是什么;或通过一个图片预测另一个视角的样子。在这些过程中系统都能学到预测的特征。
在做深度学习时,我做过一篇论文叫《An associate-predict model for face recognition》,解决的是人脸识别中不同姿态的问题。当时我尝试创建了一个外部存储,通过存储 memory 来做预测,效果非常好。但系统本身非常原始,而且是深度学习时代之前的一个研究内容。
图五十七
那么在无监督预测中,比如真实世界里有一个南瓜,可能人类可以猜出南瓜后面大概长什么样,这就是「image completion」问题,也是十几年前我们做的一个研究,即通过图形学的方法猜出背后的内容。那么今天在感知世界中,我们可以对被遮挡的东西做很多的感知,一个是我们的能力,另一个是教我们如何对真实世界进行推理和预测,通过很多观察的过程进行学习。
图五十八
总而言之,人工智能很难,但我们从中也看到希望。这是朋友给我分享的一个图片,希望我们能够抵达一个至高点。在这个过程中,希望我们的技术商业数据能够实现循环,而对于每一个从业者来说,我们也需要有足够的热情、洞察力和耐心去做这件事。
图五十九
我为什么相信这件事呢?今天世界上所有最聪明的人都在投入做人工智能。这张照片是我参加 CTC 大会时拍的,以前这是一个图形学的会议,会研究游戏怎么做。但近年来我参加这个会议,5000 人的图形学大会都在研究怎么做深度学习,更别说我们这些做机器学习的人了。
图六十
旷视(Face++)也进行了一个走入校园的活动,分享 CVPR 的五篇论文。旷视(Face++)也希望能找到「数学好、编程好、态度好」的三好学生,和我们一起 All in。
以上为雷锋网整理的第二部分内容,孙剑博士将在第三部分介绍如何在大公司和创业公司做好CV,敬请期待。