如下内容整理自4月20日由将门主办的“计算机视觉”主题技术专家微信群分享嘉宾实录。算法
分享嘉宾:SenseTime(商汤科技)CEO 徐立。安全
300多位来自谷歌、Facebook、微软、Nvidia、滴滴等公司的技术人士、以及MIT、Stanford、CMU、清华、北大等高校的计算机系优秀学生听取了本次分享。微信
期待你的加入!参与方法请见文章末尾的介绍。网络
我是从03年开始就接触视觉这个领域,也就是从本科三年级开始作这个方向,到如今十几年了,因此我对计算机视觉的整个链条,从成像(Imaging)到早期视觉(Early Vision)以及识别(Recognition)都有些涉猎。数据结构
我感受如今业界比较热的或者最近你们讲的计算机视觉的内容,只是视觉方面的很小的一部分。计算机视觉的整个范畴其实更大更美一些。从传统CV的内容来看,大体可分为:app
一.成像(Imaging)。从视觉整个链条上来讲,最先的部分讲的是相机的成像原理,以及从它延伸出来的更多的一些美妙的应用。按照人的视觉系统,能够理解为对应的人眼睛的能力。 第一层次能够归结为看的能力(SEEING)。这些算法帮助延伸人眼的能力,使得人眼能够在某种程度上有所突破,是计算机视觉的输入。框架
二.早期视觉(Early Vision)。这个词我以为也比较有意思。为何称之为Early Vision呢?它解释是反映人脑视觉感知里面中间的这一层,比较早期的视觉感知,实际上你们能够理解为视觉系统所生成的中间结果,其实并无什么X用(-_-b)。它是一个对于视觉场景来讲的一些中间结果。这些结果必须得存在,可是又没有直接带来咱们所谓的理解和识别,因此作视觉的人就造成了“Early Vision”这么一个中间的形态。Early vision的内容主要包含图象分割、边缘求取,运动和深度的估计这些方面。机器学习
Early Vision作的事情实际上是咱们看不到的部分,好比说物体的边缘、深度、场景以及分割的形态,并非眼睛可以直接能看到的,我理解这是第二个层次,感知(PERCEIVING)的部分这个层次带来了一些中间的一些状态和结果,一样它能够影响到咱们后面不少的视觉应用。ide
三.识别(Recognition)。这部分是如今业界很火的内容。对应人的理解(UNDERSTANDING)。过去数年中人脸识别、物体识别,以及从各个图象总体进行识别,包括最近相对来讲比较火的图象和文字的结合(image captioning),这些应用其实都是属于咱们认为第三部分。工具
另有一种比较笼统的分类是把Imaging 和Early Vision部分都称为Low-level vision,对应的Recognition部分就是High-level vision。
计算机视觉这门应用其实它是很美的,我认为自己计算机视觉不能做为一个单独的学科来看,由于它并不像数学的某个领域有一套统一的理论,它是为了解决一个个特殊的问题,它是一系列的应用学科集合,只是它讨论的主题讲的是咱们眼睛所能看到的、感知到的,包括和视觉输入相关的理解,和视觉相关的内容。因此我并不认为“计算机视觉”这个词,或者说这块的内容是一个理论体系很完整的一门学科。但我本身去加入这个领域彻底是由于我以为计算机视觉有不少很漂亮的内容,它实际上是一个很美的研究方向。
我稍微讲一下我当时选视觉的一个缘由,我在上交的时候也有不少很尊敬的老师,包括过几天要分享的马利庄老师。我在大三的时候选毕业设计的时候作的相关内容叫天然语言处理(人工智能的另外一个分支),但我总以为文字上的变换,在那个点没有大量的突破性、爆发性的应用。第二它并无引起我本身心里的认同感,不少结果都只是以字对字的,并无一些特别知足的内容。因此当时在选方向的时候,我就作了计算机视觉方面的选题,加入戚飞虎教授的视觉实验室(CVLAB),当时作的是天然场景下的文字检测和识别。
我相信你们若是作计算机视觉会有一个感受,若是在处理视频、图象或者各类内容的时候,当你把这些内容处理完,有一个直观的、对应的视觉结果的时候,你就会以为这个应用会带来一种知足感。我进入这个行业是由于视觉很美,从而才开始接触了各类各样的视觉方面的一些应用,只不过在如今工业界的讨论,忽略了视觉的美的因素。我见了不少工业界的朋友,或者一些合做伙伴,其实不多真正从视觉中这几个领域、方向来探讨咱们如今的视觉技术的发展,更多把视觉当成一个统一的学科名词。其实忽略了它的精髓。
中间分享一个故事,我和我博士导师(贾佳亚教授)的导师(CK)去希腊开会的时候他指着一个学者问我是否定识,我想在这个领域出名的老年学者特别多,并不认识。他说这是他导师的导师。也就是我导师的导师的导师的导师,我立马有种学术圈很差混的感受,由于从辈份上来讲我可能处处碰到师叔,太师叔……因此仍是先进工业界吧(LOL)。
接下我就讲一下从我理解的计算机视觉三个方向,来看看咱们在行业当中有什么样的落地。
成像(Imaging)
成像实际上是和相机的镜头、人眼的构成有很是大的关系,这块的内容最先是从模拟相机原理开始。解决怎么样把拍摄照片的质量进行提高,包括我要去除一些相机带来的畸变,分辨率问题,把相机的一些噪声、各类复杂的相机成像的元素带来的损失进行一些复原。
在咱们这个行业的前10年,整个视觉在工业界并非那么火,不像如今的状态,如今的这个行业确实到了很热的阶段,有不少工业界的应用。可是在十年前咱们的视觉一般会被大部分的人认为并无到一个真正工业成熟的阶段,它的几个缘由:
缘由一:咱们整个的视觉基础都是建在统计学习推理的这套逻辑之上,这套逻辑一般它会依赖于对于世界的先验假设,这类假如若是作的好,一般带来一个新的突破和变化,可是若是作的很差的话,在真实世界当中的应用就会产生问题。
为何要用这些统计学习推理的框架去作这样的视觉问题,有一个很重要的点就是,当时的数据其实并无达到必定足够的量,因此咱们在十几年前研究不少的视觉问题,都是在一些小数据集问题,先验变得尤其重要。其中有一个相对来讲对数据量的依赖小一些,或者对这方面不是那么关键的一个方向,就是成像(Imaging)这块。
这里我想讲我另外的一个观点,我认为何时候是真正地能够用作技术创业或者技术带来工业界颠覆性变化——就是一个技术方向它既是学术的热点又是工业的热点。由于只有这两个热点都同时具有的时候,这个技术方向才能真正地做为一个使能者,工业级的应用能在先进学术成果催化下行程颠覆性突破。
若是它单纯是一个学术热点的话,发展只是学术上的一些理论,一些数学模型演进,在实际的工业场景当中的应用它可能并无带来实质性变化。反之,若是单是工业热点的话,它也会有另外的问题,可能工业界以为这个技术的变现以及它商业的前途会很好,可是学术认为它已经不是学术最前沿的东西,那么它的技术迭代就不会有这么快,这样的话想要以技术去作创业或者用技术去作改变的话比较难,由于大公司或者巨头会有更多的资源和应用场景,它用已经成熟的技术就可以完成一样的事情。
为何讲到成像这块我会有这个感触呢?由于在前十年当中咱们的视觉并非工业热点和学术热点的结合点,反之,有另一个行业,实际上是知足了工业热点和学术热点结合的趋势,那就是咱们称之为计算机图形学(Computer Graphics)。
这个行业当时像SIGGRAPH这样一些顶级会议有一些比较特殊的现象,就是不到100篇的文章,可是会有2-3万的人去参加。而这些人都是来自于工业界的。缘由也很简单,当时任何一个新兴的图形学技术如渲染技术可以取得必定的突破的话,就会带来一些电影行业的突破,以及一些实际上商业的价值,因此在当时那个行业实际上是很是地有活力。
咱们在作视觉成像或者图象的加强、变化当中,实际上是和图形这块有必定交集,叫作计算成像学(Computational Photography),就是在作Imaging成像的时候,能够经过一些计算的辅助,使得成像质量更好。因此那个时候咱们在作研究的时候,会去蹭图形学的会议。
最近的趋势在视觉方面的工业热点和学术热点渐渐地match,固然也是由于你们都众所周知的深度学习突破的缘由,在视觉领域取得了重大的突破,同时造成了真正行业级的应用,因此如今真的是作视觉的一个黄金时代。
回过头来讲,作咱们的成像和Imaging是解决什么样的问题?是解决让你们看清,甚至是说超越人眼睛视觉的这么一个问题,我给你们看一张图片。
这个例子是为了说明咱们在作图像的加强或者成像的处理,解决的是什么样的问题——即咱们想要经过算法的计算,使得这张黑的照片可以被你们看清。在视觉作这件事情的时候其实你就会很享受,你就能够把一些自己看不见的东西变得很漂亮,能够真正呈现他的内容。
另外一个例子是这张明信片,拍摄过程当中由于光线很差等问题会存在手抖的现象,看不清上面的文字。一样咱们视觉解决的问题就是从这些模糊的照片当中恢复出原来的内容(单张照片)。因此我想说视觉成像部分在很大的一个程度上,它是帮人眼作延伸,使得人可以看清自己看不清的内容。恢复的结果虽然不能说是一张很漂亮的图片,可是它确实是能够可以把上面的一些结构都恢复的比较清楚。
当我第一次把一张很是模糊的照片去恢复出来的时候,其实我也很兴奋,以为视觉这样的东西,其实带来的不光是说解决数学上的问题,更多的是带来感官上的刺激。
再给你们分享一个例子,这也是当时我摆在桌面上的几个小玩具,经过算法来恢复出来的,好比有意思的是这类恢复除了能够把清晰的照片可以获得以外,它还能够获得下面的东西(右图),咱们称之为“核图像”,它能够反映出来相机振动轨迹,也就是说相机是经过这张核图像的轨迹振动以后,造成了上面的这张模糊照片(左图)。
下面左边这张是北京的一张雾霾照片,理论上若是咱们想要获得的会是一张比较清晰的照片,这也是咱们计算机视觉的范畴——“去雾霾”。开始个人观点是,计算机视觉它不是一套很是完整地体系型的学派,可是它里面诸多的诸多应用自己(包括我说的暗光加强、去模糊、去雾霾),都会让人以为是一个完整的应用体系,有一个特殊的数学问题去描述它,而后你们就会以为比较有意思。
右边这张是咱们经过算法把上面这张照片进行必定的恢复以后造成的照片,你们还能够见到微弱的蓝天。如今这个算法在微博相机里面已经被嵌入使用了,若是说你用微博相机在北京、在国内的一些城市拍照的话,其实都会获得一个比较好的效果,这样再发微信、发微博,我相信政府都会感谢咱们,由于发出来的照片都是蓝天白云。因此蓝天白云也是能够经过算法合成的。
固然视觉不光是说作成真实的复原,它其实能够生成更多的咱们称之为更浪漫的内容(Non-photo Realistic),也是经过计算来完成。好比说刚刚那张雾霾的照片,咱们能够生成像是油彩画的同样结果。
下面那张雾霾可能比较难一些,由于场景会比较复杂一些,不可能把带深度的雾霾彻底去除,若是去除不了的状况下,咱们以为不妨能够生成更有意思的艺术照片,这也是我以为视觉另一个美妙的地方,就是它能够经过计算来造成一些让人以为有美感的内容。
早期视觉(Early Vision)
刚才说这个词多是作计算机视觉的人忽悠出来的,由于计算机视觉会有一些大部分的叫“中间结果”,你生成图象的分割,生成一些边缘,生成一些运动矢量,这些东西其实并无什么直接用途,而这样的一些中间结果同时也会带来不少的学术上新的问题,因此就会生成这么一个中间状态,套上一我的类视觉感知早期过程的解释。
举一个有意思的例子。这是一个很传统的问题,咱们称之为“光流场”或者是运动估计。就是说我有两张图,或者我一个视频中的不少帧,我要得到这个视频当中的任何一个点的运动,运动自己是稠密场,因此它是能够用一个颜色的图来表示出来的。颜色越深的就代表运动得越大,颜色表明了它的方向,好比红色多是表明了某一个往右的方向,因此整张颜色图就可以恢复出来真实的运动。
这就是早期视觉的一个经典的问题。你们能够看出来,即便把运动恢复得很是准确、很是到位,但后面仍是要带上一些研究课题,才能使它可以转换成真实的应用性的价值。因此咱们在作这方面研究的时候,一个重点就是怎么样真正地用这些结果,从而生成有价值的应用。
实际上我以为我作了Optical Flow(光流)这么多年,有很长的一段时间曾在Middlebury的测试库上排名第一,个人光流应该也是最先OpenCV考虑收录进去的一个flow算法之一。但我一直在纠结的是,怎么样用这种中间的结果去获得更好的应用,至今来讲以为这都是一个比较难回答的问题。
因此在早期视觉的不少问题就是出现一个尴尬状态:第一,早期视觉的问题不能作到很是地精准,确定会有一些缺陷(图像分割就是一个例子),可是早期视觉的问题和直接的应用结果又不能彻底挂钩。后续应用直接依赖于早期视觉结果直接影响系统稳定性。如今考虑端到端的训练方法是一种解决方案。
其中有一块可能算是落地比较好的就是深度计算,经过单张图加结构光也好,经过咱们称之为TOF扫描也好。或者经过两张图算Stereo Matching(立体匹配)也好,这个是咱们可以在必定范围内看到有比较多的应用,咱们看到Xbox的Kinect,以及英特尔的RealSense,以及不少ADAS(高级驾驶辅助系统)相关的应用,要用双目来作这方面的事情,其实都是基于咱们称之为“深度的中间结果”,它也是属于早期视觉一个很是大的部分。
如今讲人工智能、计算机视觉的范畴,对这两块的熟悉程度其实并不高,由于你们关注的是和识别相关的内容,可是我想说从早期的Imaging成像也好,从中间的Early Vision也好,其实都是视觉很是重要的一些环节,这两部分的内容其实须要一个比较长的时间知识积淀。
这里想补充一点的是传统当中咱们认为作这两部分,必定须要至关长领域知识积累,也就是说你作图象加强的、视频加强的,和你作深度的、作运动的,其实必须是有不一样的知识。固然背后确定是一套相对比较完整的数学统计学习的理论。最近行业上发现的趋势变化是说,这些对于领域知识,或者说先验知识依赖较强的应用(如依赖图天然图像统计先验)渐渐也被数据驱动的方法取代了。也就是说咱们在作这些问题的时候,也有一个可能性,是用数据驱动的方法,好比说在作去模糊,或者说去雾霾,或者说图片超分辨率等。能够看2013年、2014年有不少的文章,已经能够经过大量的数据,我告诉机器它输入输出对的关系,从而知足把成像中一些应用如超分辨率(super resolution)这些操做都变成一个经过机器学习完成的一个过程。
这样的事情一样也发生在咱们说的早期视觉这个领域,好比咱们在作深度计算、运动分析,其实2013年、2014年的CVPR都有文章说怎么样经过一个深度神经网络,来完成刚才我在图片中展现的深度结果、运动结果。在某种的意义上有必定的好处,就是不太须要太多的领域上的背景知识干扰,能够经过大量的数据来弥补对于真实场景理解的缺陷。好比说深度计算有一些应用场景是马路上的场景,会有特殊的纹理特征等,若是咱们要去作的话,可能对于这些场景要有一些特殊的先验知识。从数据驱动的角度来讲,它其实能够经过收集足量的数据,使得这种先验知识融合到到现有的深度网络学习当中去。
因此我认为下一个阶段,在早期视觉、在成像这块的内容会有一个趋势,就是咱们称之为从统计学习来的生成式模型(Generative Model)和深度学习Bottom-up、数据驱动模式的结合。
识别理解(Recognition)
工业界的应用突破,大多都是基于这部分。咱们讲最终的识别理解,其实以前提到视觉问题当中,作的事情,是须要把一张(输入)图对应到一张(输出)图,或者说一张(输入)图对应到一个中间结果。识别更多的就是把一张图对应到这样的一个文字或标签。因此这也是为何咱们真正地机器学习也好,大数据分析也好,最先确定是从识别开始入手,由于文字到标签的matching,其实得来更天然,而且容易。好比说对于人脸识别,咱们要作的事情我给机器两张人脸,告诉它这两我的“是”同一我的,或者“不是”同一我的,给出这两者的标签。
从2010年以后深度学习在语音当中取得了必定地突破以后,在视觉领域的突破,最先就是从这样的图片(或视频)到文字的匹配(matching)来完成的,其中最著名的是Hinton参加了ImageNet挑战赛取得了突破以后,深度学习以及大数据的方法,在视觉识别当中的各个领域展开。
在一些咱们公司涉猎的垂直领域,只要把图片和这种标签订义得足够好,数据量足够大,数据够完善的话,它有很是大的可能在垂直领域上,可以超越现有人类的识别准确率。这点在工业应用上尤其重要,咱们认为有一个叫“game-changing line”,就是改变这个游戏的这么一条线,其实就是人的准确率。
一旦当某一个应用它已经达到了人识别的准确率,那么这样的一个工具就会替代现有的人力来完成这样的任务。这种应用从图像当中包含的咱们最传统的车牌识别、文字识别、车型识别,在公安交通当中应用比较普遍的。另外,从人的角度出发,对于人脸、人体、人群的识别,这些细分领域只要咱们定义了一个比较清楚的图到文字的Mapping(描绘)的话,识别就变得可行,工业应用也很广。
最后,我讲两个很是简单的例子,咱们怎么样去定义这样的matching,在某些应用当中变得可行。
例子一:年龄识别
年龄识别看上去是比较主观的,人看上去年纪轻、年纪大,实际上是比较难的,怎么样用大数据的方法最后把年龄识别来完成呢?其实咱们如今有这样的一个小窍门在里面,去定义这些标签。
举例子说,从手机收集来的照片通常会有手机上的时间,同时若是像有身份证号码,它是能够经过身份证的号码,把这我的的出生年月给算出来。又有如今的照片,又有出生年月,其实它的这么一个从一张照片,到一我的的岁数matching就能作成这样一个对。有了足够多的对的时候,就可以天然而然地完成年龄识别的训练,这是咱们在数据收集当中最后发现一个比较有意思的例子。
例子二:颜值的识别
这看上去是一个比较主观问题,那怎么样去定义一我的的颜值漂亮不漂亮,其实相对来讲是比较难的事情,咱们也用了讨巧的方法,就是在有一些社交网站、交友网站上对于别人是有这样的一个打分。另外就是你们广泛承认明星的颜值会比较高一些,普罗大众的颜值会比较低一些。因此经过一些现有的网络数据,咱们能够完成这样的一个分数大体的范围设定,给一我的定义“漂亮”、“不漂亮”标签,完成颜值打分。
Q&A环节
问题1:目前CV领域都是朝着DL(深度学习)方向发展,不能否认在一些应用场景下取得了很好的效果,可是个人疑问是,这是真正的计算机视觉么?以前学习某大学的CV课,看见说三维重建(Reconstruction)、重组织(Reorganization)、认知(Recognition)才是CV的核心思想,因此我对CV的发展方向不是清楚,或者说DL的发展方向,目前都是海量数据驱动训练模型,可是这真的是真正的智能么?仍是人脑智能的机制才是真正的智能呢?
徐立:我认为传统过去十年当中比较流行的人工智能的概念其实叫作人工指导智能,是那种在统计学习推理框架下作的事情。好比说咱们作研究,都会有一个统计学习的模型(如最大似然估计、MAP最大后验几率等)做为一个指导,指导的意义就在于说咱们已经对这个世界有这样的假设。如今视觉这个领域的发展,为何深度学习会火呢?由于深度的神经网络实际上是没有对世界作任何的假设,是纯粹从数据中来,这样当数据量足够大,当问题的这种描绘Mapping定义得很清晰的时候,它真的会在必定的程度上,去超越原始对这个世界有先验假设的这么一波算法,这也是为何工业界为何会比较火的缘由。
CV这几个方向如今渐渐都有趋势说这种纯数据驱动方法,已经开始替代传统的统计学习框架,或者说generated model生成式模型的框架。这个替换是愈来愈多了,就是从刚才说的早期视觉、图象加强以及识别这几块,都有这样的一个变化。
反过来来讲,我以为学术上更多的热点,如今的神经网络的设计其实尚未办法彻底用到传统二三十年视觉上生成模型的知识。那怎么样把更多的模型知识嵌到现有的深度学习框架当中,怎么从生成式模型和深度学习的这么一些网络结构作一些结合的话,多是会带来下一个阶段的突破。
而人工智能实际上是另一个概念,我以为60年前达特茅斯会议(Dartmouth Conference)上讲的“人工智能”,实际上是经过人的工程使得第三方主体具备人的意识,这也是普罗大众的理解。但咱们如今作的事情是machine intelligence(机器智能),机器智能其实并非说实现全人工智能,使得它具备意识,更多地我以为机器智能是在于利用这些大数据,使得这些数据可以做为更好的工具,在某个垂直领域服务咱们人,因此我以为人工智能的发展方向,或者说如今更多的工业界的热点是在机器智能这个方向。
问题2:如今咱们正在经过一些办法理解神经网络是如何抽象图像信息的,好比Deep Inside Convolutional Networks经过找出maximize class score的图像来理解,还有一篇文章Deep neural networks are easily fooled,都代表咱们能够经过改变图像来欺骗神经网络。若是咱们把大量的DNN应用到实际场景中,如何应对这种潜在的危险呢?
徐立:神经网络在某种意义上是能够欺骗的,好比说在一些识别的网络,它能够经过输入一些噪声,就让这个网络错误识别。我以为确实是存在潜在的风险,好比假设作人脸识别也好,作物体识别的场景也好,若是说在网络设计当中,这块被一些不法分子真的知道了网络设计的一些原理,它有可能经过hack这样的输入的模式,使得最后的输出可以作到欺骗过当前的网络。
这块我以为有几层:
第1、你须要知道这个网络的结构,它才能作出欺骗性的事情。
第2、当数据量达到足够的程度,覆盖面足够广的时候,在真实的应用当中,仍是会比较难去操做欺骗。
第3、在一些工业自动化的应用,我认为人工智能最大能发挥价值,或者视觉可以发挥价值的地方是在于替代自己劳动密集化的这些应用。并不都存在被欺骗的风险。
假如说自己须要不少人,如今用人工智能的算法去完成工业级别的一些自动化(好比特斯拉工厂),它其实并非特别地存在这样的风险,因此我以为这仍是根据行业的不一样,以及最后数据量的大小,可能会定义成不一样的危险级别。
举个例子咱们在作人脸验证的时候,至关于传上两张照片来作验证的时候,前面是要有一个活体的识别,就是让你作几个动做来判断是否是活体,一开始的时候,咱们平台上有很是多的用各类各样的方法去hack活体,不光是hack这个神经网络,它其实未来是把它当成一个黑盒去hack整个流程,可是这里面有一个过程,当咱们把必定数量的hack的数据进行标注,把它做为个训练样本去作出一个新的分类、作出一样的操做,一会儿就能够把这个风险降到比较低的水平。因此我以为这也是在行业当中必由之路了,必须经过这样的数据积累(更多的攻击数据的积累)来造成更安全的壁垒。
问题3:如今deep learning相关的CV算法须要很高的硬件门槛,训练模型也要花很长时间,工业界如何在实际的产品中实用它呢?
徐立:我认为何时候能够用技术作创业,在中国用技术作创业其实比较难的,我刚才说若是说它只是一个工业的热点,就是工业发现这个技术还很好用,那会产生一个问题,就是说同质化的东西就会特别多,由于它的技术演进会很慢。若是它只是一个学术的热点,工业不买帐的话,你硬推到行业应用当中也是很是地难,由于它始终没有过工业实用这条线。
因此,我认为deep learning加CV这个点,其实是一个工业热点和学术热点的结合,它才能说是真正使得技术创业公司在这个时间点上往前走。至于这个问题就必然会引起为何必定是要这两个业界的结合?我以为一是最好的、最顶尖的深度学习的算法确定仍是来自于学术圈不停地演进,可是反过来来讲,工业界有足够的计算资源、足够的数据,这些是目前学术圈没有的。
我以为来参考一下传统的搜索行业,到了后来我以为作学术那部分没有和工业作一个很紧密的结合,因此工业的那些处理真正大数据的信息检索(information retrieval),其实远远要领先于学术上的这个点。
如今实际上是一个很好的点,由于你要作深度学习的研究,之后我以为必定是和工业有完美地结合,这样才能获得更大训练的平台,以及更多的训练数据和应用场景。为何会有人工智能四大天王——Facebook的Yann LeCun,百度的吴恩达(Andrew Ng),谷歌的Geoff Hinton和蒙特利尔大学的Yoshua Bengio,除了Bengio其余三位都到了工业界,这其中会有一个比较大的关系。
最后讲训练的模型以及硬件的门槛高的话,我以为在将来,这些训练平台它可能也会变成一种服务,像如今AWS(Amazon Web Services)、阿里云提供的CPU部署服务,它到某一天它能够把更多的GPU链接起来,造成一个训练的平台,就像超算同样,你们能够经过买云服务,来完成本身想要的特质化模型的训练,这多是一种潜在的服务可能性。
问题4:在目前的哪些应用中,vision会是不可或缺或者不可替代的,成为一个行业成败的关键点,为何?在ADAS(高级驾驶辅助系统),无人车,以及医疗图像领域,哪一个领域会最早被普遍应用和接受,为何?
徐立:一方面我以为人工智能,或者视觉的突破是在于这些数据(经验)积累上,因此说下一个阶段我认为ADAS、无人驾驶、自动医疗诊断等,都会有一个很是大的演进。作无人驾驶,若是说有1000辆这样的无人驾驶车,在路上跑一年的话,那很容易收集到1000年的驾驶经验。你能训出来的汽车就具备千年的驾龄,因此我很看好在五年,甚至是更短的时间以内,在ADAS,或者在无人驾驶这个方面,会有必定地突破。
问题5:你认为当前CV技术的瓶颈在哪儿?是算法?数据?或者是计算能力?硬件?
徐立:关于现有的瓶颈,第一,我以为仍是在于怎么样去设计一些更好的把原来现有的行业知识和现有的从数据出发的bottom-up方法作一个融合;第二,网络结构的设计势必会影响到最后算法的性能。目前从中国行业角度来看,我以为更缺的是从图象或者从视频到输出的结构化的Mapping(或者说训练数据)的结构化收集,好比说提到的大数据医疗诊断这业务,这件事情自己是很是可行的。可是如今的问题就是说,在中国这些年当中,其实他们并无把这些医疗的数据结构化,进行清理,因此即便这方面想要作研究,仍是须要不少年把这样的数据作清理。
问题6:想入门CV须要提早补哪些数学知识?
徐立:我以为计算机视觉是一门优化的科学,我一直想说,计算机视觉各个应用至关因而十八般兵器(刀枪棍棒),内功就是凸优化,实际上是把线性优化的问题以及凸优化问题可以解到极致,而后再把统计学习的概念应用上的话,我以为其实作大部分的视觉问题都应该能够迎刃而解。
问题7:除了OpenCV还有什么比较好的开源项目能够学习?
徐立:OpenCV挺好的,若是从算法角度来算,不少应用实际上是直接参照Opencv应该是已经实现了,OpenCV里面实现了个人几个算法,我以为应该是比我本身写要写的好。至于其余的开源,如今学深度学习的话,开源平台也是不少,例如caffe等。如今要解决的不光是开源项目的问题,可能针对深度学习来讲还要解决计算平台的问题。
问题8:如何入门以及找到研究的兴趣点?
徐立:想要从了解计算机视觉的范围的话,其实能够看瑞克的一本书(http://szeliski.org/Book/),这本书和传统的教材编写的不同,他会把这个行业里面,2000年到2010年之间的一些发展,把它编排成书了。这个书其实包含了不少的有意思的应用,若是你们对这个方向感兴趣,它其实能够做为入门参考,视觉里面有很是多的好玩的东西,我刚才说了一些,我还有不少没说,好比说像Matting这个问题自己不是一个视觉里面的传统问题,说它至关于把一我的(物体)从背景中分割出来,可是这个分割会考虑到毛发和半透明的问题。台湾的Yung-Yu Chuang教授第一次把统计学推理、贝叶斯的框架引入这个应用以内,而后把MAP inference发挥的淋漓尽致。这些有意思的论文内容都收录在这本书里。
另外若是你们对于这个行业感兴趣,能够从最新的学术论文,或者说一些学术论文的分析汇编中看有一些什么样的应用,做为一个切入点往下走。
问题9:您科研期间发表的光流法对应的文章在什么刊物上?
徐立:刚才说的光流的是发表在TRAMI的一篇文章“Motion Detail Preserving Optical Flow Estimation”,TRAMI是咱们这个方向的期刊。
这篇文章我能够稍微讲一下,当年应该是Open CV最先要收录的一篇光流文章,也在CVPR上宣布了,最后没有收录的缘由,是由于我用了SIFT做为Feature Matching,这部分是第三方的内容,无法收录,因此也有一些惋惜。
说到光流我最后再分享一下我本身本科期间的一个小故事,我本科师从戚飞虎教授,他也是视觉和神经网络方面的学术领袖,他当时问我说你能够作视觉的方向,一是作光流,二是作文字识别,我当时对光流很是抵触,由于这个词说的很是玄乎,我就以为说在外行人看视觉这个题目,你都根本不知道这是什么的状况下,其实很难引发兴趣,可是真正若是知道这里面是作什么样的内容,你就会以为它其实跟你想象是不同。因此我也不知道为何第一个起名字的人把这些东西翻译成那么拗口的,不就是运动估计么。
问题10:对于之后想从事CV方面研究或者工程的非CS科班本科生,应该抓住怎样的趋势来学习?CV的将来在哪里?
徐立:首先我以为学习CV,从我本身的经验来讲,这东西绝对不能太功利,不少东西能不可以真转化为实用,或者在这个地方有什么特殊的价值,其实我以为确定不是一时半会能看出来的,我再讲上一个十年,我认为两个有实际的视觉应用的价值的算法,其实都是它是在实际积累当中一步一步走出去的。
第一个就是2000年到2004年左右,用Adaboost作的人脸检测,咱们能够知道不少后来的相机、手机以及各类高清的相机里面,你看到的人脸检测,其实都是早期基于Adaboost的算法来作的,可是这也是经过最先的一步一步的变化,从离散的boosting、从一些多角度的变换,从这样一部分的尝试,最后完成了一个咱们认为能够说是跨时代意义的这么一个检测算法来作这样的事情,并且实际上从数学理论来讲,Adaboost并不比其余的Max-Margin分类起来得更完善,因此我以为作视觉方面的研究,其实自己也就是一种尝试的过程。
第二个是David Lowe的SIFT(Scale-invariant feature transform,尺度不变特征变换)的例子,他也是很是成功的。从1999年他发布第一个求取这个特征点(找特征点)的方法,到最后定稿的这个IJCV(International journal of computer vision)的SIFT,中间通过了很是屡次的迭代,其实每一步在如今看来都是很是地ad-hoc,怎么样在ad-hoc的步骤当中,最后找到实用的视觉算法,其实我以为这是咱们要面临的问题。因此作计算机视觉研究很大一部分仍是在于说你真的对这个问题喜欢,同时你要具备这样的一个hacker精神。其实一半是engineer,一半是hacker。
我想要跟你们说要有信心,其实很容易成为这个领域的佼佼。你真正地钻入到一个很特殊的问题,一直在作的时候,你忽然会发现,这个世界上总共也就四五我的来作,若是说是你要勤奋地一直往前地去作这样的一件事情,你只要战胜这四五我的,相对来讲是很容易的。
因此只要咱们抓住一个很合适的问题,有足够的hacker精神,固然要有必定地数学功底的话,我以为作CV实际上是一个颇有乐趣的事情,由于仍是会有不少很是快乐的时刻,并且我相信最重要的一点要有本身的信念,若是说你只是作单独的方向(好比说作分割或者跟踪),这个问题作的人很是多,都是世纪末的难题,若是你把一个跟踪的问题narrow到一个很小的范围,举例来讲我要作一个透明的物体跟踪,可能全世界就三我的在作,而后你说我要作半透明的物体,或者说透明物体有反光的研究,可能全世界就只有你一我的作,可是你只要把这个问题作出来,你就是世界第一。
因此我一直以为作视觉的人,要有这种信念,就是它会把不少一些实际的问题定义得更清晰。在清晰的问题中找到一个本身的定位。因此我以为对于工程学科或非CS科班的学生来研究CV的话,一点也不须要担忧跨行的问题,由于我认为CV自己就不是一个完善的学科体系,而是一门应用科学。而应用科学须要更多的是工匠的精神和黑客精神。
固然这是个人见解,很是感谢你们的时间,谢谢你们!