三年前,计算机视觉对于绝大部分人来说,都是一个非常陌生的名词。但是三年过去了,今天如果你身在科技互联网圈,如果你偶尔也会参加一些科技行业的大会,相信你一定对此不再陌生。
各大媒体举办的行业大会,其主题和内容的设定反映的基本就是一个行业的发展趋势。从两年前一些敢于创新的大会引入“人工智能”的讨论环节开始,到现在几乎所有的大会都必谈“人工智能”,AI的产业化发展进入了一个井喷的阶段。这其中,最受关注的,就是计算机视觉的发展。
格灵深瞳联合创始人、CTO赵勇2013年初回国创业,与CEO何搏飞一同创立了专注于计算机视觉技术的公司格灵深瞳。现如今,格灵深瞳已经成为人工智能领域最炙手可热的公司,几款基于计算机视觉技术的产品也已进入销售阶段,开始应用于银行和公安等部门。
应【将门】之邀,4月27日赵勇在由将门主办的“计算机视觉”主题技术专家微信群里跟大家分享了他对于计算机视觉应用方向的相关思考。
以下内容为微信群分享实录。
今天我和大家分享的主要内容是介绍一下计算机视觉的主要模块,以及跟计算机视觉相关的一些应用。
计算机视觉是跟图像处理有关的,主要有以下四个模块:
-
第一个是Imaging,成像的过程;
-
第二个是Detection,也就是检测的过程,可以关注发现到有趣的物体;
-
第三个是Tracking,如果你要关注这个物体的状态、运动、行为、交互,就需要做很好的跟踪;
-
第四个是Recognition,对于同一类的物体,进一步去发现每一个个体的实例。比如说同样是人脸检测,检测过后我想知道这张脸是谁的脸,这就是Recognition。
这些东西都是计算机视觉做的技术模块,基于这些技术模块,背后就是真正的应用。
一、过去的计算机视觉
我是从2003年开始念博士的,之前本科和硕士都是在复旦大学学习半导体。刚去美国时,也是在做半导体的工作,后来才转行进入计算机视觉领域。在2003年,其实半导体技术已经非常成熟了,而且有趣的事情都发生在工业界,而不是学术界。所以那个时候我就萌生了转行的想法,并且很幸运地选择了计算机视觉这个方向。
当时转学到布朗大学去做计算机视觉,我是完全没有任何背景的,我的导师招我是因为我有比较好的硬件实现能力。正好他当时对运算摄影学(computational photography)很感兴趣,这里面会涉及到很多硬件设计,所以他招了我做他的博士研究生。
我想先给大家介绍一下13年前计算机视觉的现状。当时在美国每年计算机视觉产品的市场大概有六千亿美元。但在生活中却看不到任何计算机视觉的产品。这主要是因为计算机视觉在当时非常昂贵,主要应用在军事、医疗和工业这三个领域。
1. 军事领域
在军事领域,大多数先进的武器都是有计算机视觉在里面的,比如说导弹。导弹怎么样去寻找目标,怎么样去做一个路径规划。我给大家举一个例子,美国历史上最成功的一个巡航导弹就是战斧导弹,这个导弹的特点就是它几乎是贴地飞行或者贴海飞行,它的飞行高度很低。我们知道当它高度低的时候,那些基于地对空Line ofSight (LoS)工作的雷达,就没有办法工作了,那这样的话,它就可以逃避大多数的雷达,能够安全地到达它的作战区域。
战斧导弹可以在10米以下贴海飞行、可以在25米左右用非常快的速度贴地飞行。这个过程中,它要应付凹曲的地形,有的时候还可能会有障碍物,但是它飞到目的地附近的时候,它要做一个眼镜蛇式的抬头,然后这个时候它再低头俯视它的目标在哪里,(这个目标要么是提前在卫星地图里标定好的,要么是战场附近的地面作战人员现场用激光标注的),确定好目标后,然后再打出去。人类历史上可以实施外科手术式的远程打击就是依赖这种技术。在这个导弹上广泛地使用了很多很多计算机视觉的技术,比如高度控制、视觉定位、目标寻定。
2. 医疗领域
医疗领域就更加是如此了。今天我们去医院里面做一个检查,医生用的大部分的诊断工具是跟图像有关的,包含X光、超声波、CT、核磁共振等设备。即使是做一个化学检测,比如验血,有些时候也要把样本放在显微镜下去成像。当然这是一个广义的图像概念,它的图像包含了电磁波无线电的整个波段,从例如伽马波段这种很高的频率一直到频率很低的波段(比如毫米波)都有,甚至有一些更低频的超声波(非电磁波)其实也可以算在广义视觉里面。
我们的古人讲究用望闻问切来诊断,但是这些手段是非常单一和落后的。今天在医学领域中的很多问题,如果有很好的医疗设备能够把本质反映出来的话,诊断就可以很精确了。这个如此大的领域目前主要有三家公司,简称“GPS”——GE(通用电气)、Philips(飞利浦)和Siemens(西门子)。
3. 工业视觉
工业视觉指的是在工厂里的流水线上做的各种跟检测和组装有关的视觉系统。比如说一个可口可乐公司的汽水瓶的封装工厂,它在每个瓶子里面装上汽水的时候,要把一个瓶盖放上去,这个时候它就需要检测到有没有瓶盖装的不好,有漏气或者是瑕疵,这种技术其实是在工业界非常非常广泛的使用。
在13年前计算机视觉的应用就已经很广泛了,那么在过去这13年里面到底发生了什么变化呢?在回答这个问题之前,我想先总结一下在13年前计算机视觉的特点。它们的工作环境:
-
要么比较简单,比如说工业视觉,它是在一个严格控制光照条件的环境里进行的,它的任务其实是比较简单的;
-
要么就是这个任务不一定简单,但是它对自主化的要求并不高。比如说在医疗领域用的计算机视觉,在那个时候更重要的目标是成像,或者说做数据的增强(image quality enhancement )。那么它的作用还是让医生看的更清楚,但是最终的决定是由医生来做的。在军事领域也是一样的,很多计算机视觉在军事领域应用,一旦到了做决定的阶段,还是会把决定权交给人去做,即使是战斧导弹这么先进的武器,它在最后的阶段眼镜蛇在瞄准的时候,也是需要一个操作员在背后确定这个目标到底要不要打。
所以13年前的计算机视觉应用要么环境简单,要么它只是做增强,并不做最后的判断。这些算法当时并不复杂,但是有一个特点就是这些产品都非常非常地昂贵。这其实是符合科学发展的客观规律的。任何一种新技术,它在成熟的过程中,总是从简单到复杂,从昂贵到廉价。所以它的应用领域也是从军事、医疗、工业,再慢慢地到消费行业。
二、当今的计算机视觉
那么13年后有什么新变化呢?我觉得主要体现在两个方面:
一方面计算机视觉越来越多的进入一些非专业的领域,跟消费者更息息相关的领域。它们开始解决一些现实的问题,这些问题会更复杂,因为他们不是在一个supervised的环境下,尤其像汽车、机器人,这些领域它其实并不在工厂里面,也不是在室内,它面临的是真实的世界,很复杂的光学环境。
另一方面设备的自主能力越来越高,很多时候这个设备基于它们对视觉感知的判断就可以做基本的决定。
所以今天的产业环境跟过去是不一样的,尤其是创业公司在今天进入计算机视觉或者人工智能领域的时候,基本上都要面向一些新兴的行业。
我个人认为在这个时代计算机视觉最主要的应用领域,如果按照它的产业规模和离现实的关系,综合来考量的话,我会对四个领域特别关注——安全、汽车、机器人、智能医疗。除了这四个领域以外还是有很多其他的应用机会,比如说娱乐、动作捕捉、VR、广告,甚至我曾经做过一些考古相关的计算机视觉项目。
1. 计算机视觉的相关技术
1)成像与运算摄影学
现在来讨论一下成像的过程,很多人觉得成像非常简单,不就是一个摄像头么,有一些参数可以调节,如曝光时间、白平衡、色彩均衡等。但事实上如果我们这么想的话,就失去了好好理解成像的机会。
当我们想到图像的时候,我们应该从一个广义的角度来理解它。其实电磁波是上帝赐给我们这个世界非常重要的礼物,它可以帮助我们超越物理的距离去感知周围的环境。但是电磁波频率的范围是非常广的,比如说快的X光、伽马射线,还有一些宇宙射线,低频的话可以到毫米波。比如从400到650纳米是可见光的波段,但是从紫外线、可见光、近红外、红外线、thermal甚至一直到毫米波的波段,这里面都有很多很丰富的资源。在不同的波段上,它们的行为也是非常不一样的。但是我们今天想到计算机视觉只能想到从400纳米到650纳米这个波段,那么这样讲的话就太狭隘了。
今天给大家介绍一个叫computational photography(运算摄影学)的概念。它的意思就是说我们可以使用各种各样的电磁波手段,以及各种各样的算法、多种传感器的融合,通过有趣的算法和运算的组合,能够产生新的感知数据。在这个领域里面存在一些人,他们不甘于接受传统的RGB传感器给我们提供的数据,发明了各种各样的新型相机,生成的有些图像是我们人的眼睛或者传统照相机看不到的,比如说深度摄像头。我们都知道深度摄像头可以给我们返回非常珍贵的深度信息,有了深度信息我们就可以更精准地把握一个环境的三维结构,它可以使得检测、跟踪、识别的很多任务,变得更加可靠、简单、方便。有很多方法能够获得深度,比如大家常了解的通过多个视角的画面能够算出来的,还有结构光,这里面涉及到一个projector(投影仪)。其实projector的光学模型和Camera完全是相反,它是一对duality,它们的很多行为都是可以互补的。还有一些激光雷达的方法,据我所知道的depth sensing的方法大概有20多种,今天在产业上进入成熟的大概只有三四种。
应用场景1:光场相机
光场相机简单的说就是这种相机可以完整地捕捉我们眼睛瞳孔前成像的平面上所有的光学行为,它是一个四维的场。如果我们可以把光场捕捉下来,就可以事后在其他的地方重现完整的光学环境,使得我们的显示、捕捉、识别可以做得更好。一个最典型的光场display就是现在炒的非常火的Magic Leap想要做的事情。
应用场景2:Femto Photography相机
接下来想介绍一种叫做Femto Photography的相机。Femto指的是通过传感器和算法的组合,可以使得成像的速度达到光本身频率的程度,它是一个时间和频率度量的名词,基本上是10的负15次方这个水准。Femto Photography使我们观测的纬度和速度能够提到光本身的程度。比如说我们知道光是有运动行为的,它从A到B其实是一个连续的过程,我们是否有一种相机本身可以去观测光自己的运动呢?这听上去像是一个伪命题,因为我们的相机也是通过光的感知来实现的。既然我们依赖了光,我们怎么可能去观测比我们依赖的基本的光还要更快的东西呢?
有个实验就捕捉了一束闪光灯,从它发出来到它穿过一个可乐瓶这个过程中的画面。这里用了一个很有趣的光学跟算法的组合重现这个画面,它帮助我们更好的理解了光学行为。在工业界中其实这里面有很多有趣的应用,另外一个Femto Photography的例子就是如何通过折线能够看到一个场景。比如说绕过一个墙角,看到墙角背后的一些事情,它也是利用了一些Femto Photography的技术。(赵勇推荐了Ramesh Raskar的MIT Media Lab)
2)定位的传感技术
定位的传感技术使用了一些光学的传感器,使得你可以清晰地、精确地得到自己在三维空间中的定位,这个事情是非常重要的。比如说在VR的领域,如果能够很精确地、速度很快地定位到头盔的位置,那么当我们在一个房间或者空间中移动的时候,我们就可以更有效地去更新这个画面的视角,使得VR的体验更加真实。但怎么样把这样的事情做好,其实今天世界上最成功的技术就利用了一种古老的运算摄影学的原理。
从今天来看我最喜欢的VR定位技术,就是一个叫Valve的公司,做的Lighthouse的技术。这个技术授权给了HTC,使得HTC今天虚拟现实的头盔体验做的是最好的。它的原理其实就是利用了一个类似于空间编码的技术,使用一个转动的激光投影仪,把空间编码发到空中去,然后用一个Photo Sensor来接收这个信号,把里面的空间编码解读出来,这样就可以精确地知道自己的位置。
接下来我给大家介绍一种非常有趣的成像技术,这种技术是用来观测空气的流动,我们知道大多数空气是透明的,当它们流动的时候,它们并没有影响光线的变化,我们无法看到空气的流动,但是有一种运算摄影学的技术可以帮你清晰地观测到空气的流动,这个技术的名字叫Schlieren Optics。
大家可能会问这样的技术有什么用,当时我在实验室接触到SchlierenOptics时,做了一些很好玩的事,比如测量打一个喷嚏到底可以打多远,我们后来发现一个喷嚏有时候可以达到两三米远。这就给我们一个警示,以后打喷嚏的时候要离人远一点,把嘴巴挡住。
但一些更重要的作用在于工业界可以用这种技术去分析空气动力学。
我们可能曾经在电视上看到过这样的广告,一个跑车公司在展示他们的产品时,会做一个风洞实验:把这个车放在风洞里面,然后吹很大的风。这个时候有一个人把一些粉末或者碎纸片撒在气流里面,观测这些小纸片怎么在汽车的表面翻腾。然后根据粉末或碎纸片的运动状态来判断车的表面空气动力学设计是否足够好。但这种方法真的是非常非常的低效和非常地原始。今天其实有一些飞机设计公司,已经开始用Schlieren Optics这种原理来观测他们的空气动力学。不需要任何的外在物质,只需要这么一种光学设备就可以看到空气本身在飞机表面移动的情况。甚至现在美国的一些武器公司,在检测自己设计的子弹,或者一些其他飞行导弹的冲击波效果时,就是用这种Schlieren Optics来做的。
2. 当今计算机视觉的应用
今天我其实并不想花很多时间去讨论具体的算法,计算机视觉这个领域本身就是非常广袤的,而且在很多领域有很大的深度,所以不可能在这么短的时间给大家一个有效的概括。我想重点讨论一下应用方面。格灵深瞳本身对安全、汽车、机器人等领域比较感兴趣,现在我们在前三个领域都有一些产品或者是研究的项目在。下面,我将分别地介绍一下我们对这些领域的观点和感受。
安全
我说的安全特指的视频监控。其实安防领域它已经存在了很久,从商业摄像头存在到现在已经有三四十年的历史,它其实在八十年代就进入到了安防领域,只不过那个时候是一个奢侈品,现在变成了一个日常必需品了,而且价格也不高。
整个安防体系总体来说就四个模块:摄像头、传输网络、存储器、显示器。你可以感觉到它其实是一个视频系统,而不是一个视觉系统。视频的意思是它最终是给人看的,而视觉是说它是一个视觉信号,可以被计算机理解。
对应到我们今天的视频监控产业来说,你会在摄像头、传输网络、存储器、显示器这些环节都找到非常大的市场。去年,中国的安防市场总共有4500亿人民币,其实是一个比智能手机还要大的产业。但这里面智能分析是一个非常小的模块,最重要的原因就是算法不够成熟,以及我们整个安防领域的基础设施不成熟。
今天我们安防的主要产品形态并没有给智能理解留下一个很好的空间,比如说我们做计算机视觉首先需要接触到数据,但是今天的安防数据大多数都存储在一个录像机里面,它们可以是DVR(Digital Video Recorder)或NVR(Network Video Recorder),甚至有些地方还在广泛地使用Analog Video Recorder。那么像这样的形态,它的整个体系就不太方便让一个计算设备把它的数据挖出来,然后去处理。我们非常希望在未来能有一个更友好的基础设施出现:所有的摄像头都连接到一个云上去,在云上我们可以把计算机视觉的算法加载在上面,接触所有的数据并且分析它们。
在安防领域最关注的三个物体是车、人、脸。如果我们可以把这三个问题研究的很清楚,基本上安防的问题就可以解决了。还有一些延伸的问题,比如说re-ID(重新识别)。因为我们今天的摄像头数量非常巨大,在一些大城市有几百万个摄像头。当一个物体从一个相机转移到另外一个相机的时候,如果你想分析到它广义的轨迹,必须把一个人在不同摄像机拍摄的图像中,重新识别出来。接下来如果你想了解这个个体的行为,就必须得了解他具体的姿态、动作。其实还有一种行为叫做变化检测,也是非常重要的。
然而,在所有这些事情的基础上,还有一个非常重要的问题需要解决,就是怎么样可以在监控的应用里面,把一个事物看得非常非常地清楚。
我们曾经有一个公安的客户,他们拿着一段视频来给我们看,这个视频显示在一个建筑物的门口有一个人走出来,然后就朝着远离相机的方向离去了。在这个画面里面,这个人的高度大概不到10个pixel(像素),就是一点点,你宏观上可以判断出那有一个人,但是至于他长什么样子完全看不清楚。警方来找我们的目的就是说他们非常确定这个人是一个很重要的犯罪嫌疑人,但是他们想知道他长什么样子,他们唯一的线索就是这个非常模糊的视频。他们希望我们能够采用技术的手段,把这个视频增强,帮助他们更好的理解这个嫌疑人。
我们看完这个数据之后,其实是没有办法帮助他的。如果数据在捕捉的时候就丧失了,后期是没有任何办法把它捏造回来的。要想根本地解决这个问题,就要发明出更好的相机,能够在大广角的情况下,仍然可以看到很远的距离。也就是说它的有效分辨率必须非常非常地高,很不幸的是,今天我们市面上所有的相机都远远的不合格。
想象一下,如果我们有一个高清摄像头,今天标准高清摄像头的分辨率是1920×1080的像素,这个分辨率的视频其实已经非常非常清晰了,数据量也很大。但是如果放在一个监控视角,比如说放在一个相对的广角(70-80度)下,在这个视觉下,离相机4米远之外,一个人的脸只能够在一个100×100像素的范围里面成像。这个大概是我们今天做人脸识别最低的要求了,比这个更小的人脸,我们做人脸识别的效率就会大大地降低。这才4米远而已,如果这个人站在10米远、20米远,甚至是100米远之外的话,我们几乎不可能看清这个人脸。
给大家再举一两个例子。下面这张照片显示的就是2013年波士顿马拉松暴恐案上的两个罪犯,左上角的监控画面里就是这两个嫌疑人。你们可以看到这两个人其实离相机的位置很近,如果你们观测这个地面的方砖,每一块方砖的尺度大概是1.2米-1.5米。第一个嫌疑人离相机不过也就是2米的距离,后面这个嫌疑人离相机大概也不超过五六米的距离。在这么近的距离下,他们的面部完全没有达到一个清晰可辨的程度。后来警方没有办法,就把这张照片公布出来,希望民众提供线索,大家在右上方和左下方看到的就是民众提供的照片。
下面这两张照片就是我们做的一个小小的实验。在这个实验中,我们使用了佳能的单反相机,这算是市面上质量非常好的相机。我们把它的分辨率调节到高清的程度,也就是1920×1080,然后请我们的几位同事,站在离相机10米远和30米远的地方分别拍了一张照片。我们把这些照片里面人脸的部分拷贝出来,在这个侧面形成了一个影像,你们可以看到其实这个人离相机10米远的时候,它的面部在相机里面只能留下36×36的像素,在30米远的地方只剩下12×12的像素,这些像素是完全不足以我们对人像进行一个比较好的理解跟识别。
所以,我们期望未来可以发明一个相机,帮助我们更好地解决这类的问题,从信息的源头就把问题解决掉。
汽车
下面我给大家介绍一下自动驾驶汽车相关的计算机视觉技术。今天在市面上存在着很多和智能汽车有关的视觉公司,但是这些公司基本分为两类:
第一种是ADAS (Advanced Driver AssistantSystem)技术,就是先进驾驶辅助系统。ADAS的主要功能就是给司机在行驶过程中提供一些和安全有关的提醒,最主要的作用就是驾驶辅助。它是一个辅助功能,它并不参与驾驶,也不对驾驶负任何责任。
第二种是Automatic Driving自主驾驶技术,自主驾驶技术又分为三种形态:
-
辅助驾驶(有的时候是人开、有的时候是机器人开)
-
自动驾驶
-
无人驾驶
自动驾驶和无人驾驶的差别就是汽车里面到底有没有人类司机,如果完全没有的话,它就是无人驾驶。在应用层面上,无人驾驶可以进行分享交通的服务,也就是说这个车有的时候可以为你服务,有的时候可以为他服务。
今天在中国有很多很多的ADAS公司,大多数都是一些计算机视觉公司,自动驾驶公司其实是非常非常少的,大多数也都是一些汽车电子行业有造车能力的公司。以我的理解,严格定义来说,今天我听到的中国做自动驾驶的公司应该只有百度、驭势科技(格灵深瞳分离出来的新公司),还有就是清华大学的智行者。
我们今天介绍的重点在自动驾驶。在自动驾驶层面上视觉感知的意义是什么?
第一件事情是参与到防碰撞的过程。也就是说它能够检测出所有可能被碰撞的物体,然后给这个汽车一个安全的决策依据。很幸运的是今天在市场上有一些特别适合做防碰撞的传感器,比如说激光雷达、毫米波雷达,它们都做得非常好。这里面有一个很重要的原因,这些传感器它的工作原理基本上基于物理检测,它们把电磁波发出去,然后根据回波来判断这个障碍物的存在。
在驭势科技,我们主要是使用一种深度传感器,能够把所有物体的点云恢复出来,然后我们把有可能跟汽车碰撞的那部分点云呈现给决策系统。也就是说我们并不去判断这个物体是什么,而是把存在感交给决策系统,事实上什么都不能碰,这就是我对于防碰撞的理解。所以我们的方案是以物理传感器为主,以计算机视觉为辅,让他们形成一种相互独立的互补系统。
第二件事情是Traffic Understanding,即理解交通里面有哪些要素。这里面包括道路本身的要素,比如说旁边的路标,它会告诉你这里该怎么开,有的时候是单行线、限速、交通灯以及其他的一些原因。我个人觉得用计算机视觉去检测所有的静态交通单元并不是特别好,虽然今天我们检测交通标志以及交通灯的准确度越来越高了,但是我仍然觉得像这些信息完全可以通过无线传输的方式传给车里面。
未来,在自动驾驶汽车这个领域将会出现一个新的方向叫做“v2i”(vehicle to infrastructure),也就是说未来的汽车会和基础设施进行通话,在地图信息里面会包含所有的路标。每一个路灯未来都会通过很有效的通讯方式,把他们的状态传递给汽车。那么这样一来汽车只要有效地检测行人、车辆(汽车、三轮车、自行车)就可以了,而这个任务其实用今天的深度学习来解决已经效果比较显著了。
既然我们防碰撞已经有了其他的方法,我们为什么要检测这些物体的种类呢?其实这就是跟我们驾驶的决策息息相关的。
比如说在一个十字路口,你的汽车要左转,那么按照交通规则你必须让有路权的车,比如说对面需要直行的车辆。如果激光雷达和毫米波雷达,它们没有能力去做识别,它只能告诉你,周围的地形怎么样,哪个地方有一个物体,但是它不能告诉你这个物体是什么。当这个物体是一辆汽车,或者这个物体是一块水泥墩的时候,你的驾驶决策是完全不一样的。
再比如你开车要路过一个斑马线的时候,即使这个斑马线没有任何物体阻挡,但是如果斑马线的旁边站着一个路人,他试图去过斑马线的话,按照很多国家的交通规则,我们是应该让行人先走的,这个时候就涉及到必须识别出这个物体是一个行人。
第三件事情是定位。定位非常重要,因为当你要自主驾驶的话,前提条件就是知道你自己在哪,应该开到哪个方向去。但是这个定位的要求精度又很高,你必须很详细地知道你在什么位置,今天在行业内大家普遍对于定位的期待是10厘米左右,但是怎么样获得10厘米精度的定位结果呢?比较成熟的方法有这么几种:
第一种是通过高精度的激光雷达来定位。它的基本思路是首先有一个地图车,把街景全部扫描一遍,得到这个地区的三维点云,然后经过一定处理后方便来做匹配。下一次当这个汽车开到这个位置的时候,它用激光雷达扫描出来一个新的三维点云,然后通过GPS大概得到自己在一个粗略的方位,这个方位基本上是在100米精度之内的。然后把新的点云信息跟数据库里面的点云进行一个对比,这个匹配的结果就是定位。这个精度可以做到比较高,但是这里面有几个显著的问题:
-
用来做定位的激光雷达今天还非常非常昂贵,在中国买一个这样的雷达今天的成本是10万美元;
-
它的数据量非常大,它的地图存储很大,很不方便使用。你可以想象有一天一辆汽车装载着全中国所有道路的三维点云吗?我觉得这事想想就挺可怕的。另外,这种场景匹配的过程过多的依赖于整个场景的信息,有些信息是不稳定的。比如说,路旁边的树木它在夏天的时候很茂盛,在冬天的时候都枯萎了。包括你在扫地图的时候可能旁边有一辆车停着,你下次来的时候这辆车又不在了,这些变化的因素都会给激光视觉定位带来潜在的噪音。
第二种方式就是使用所谓的差分GPS,也叫GPS RTK。它是一种通过天空的定位卫星,以及地面的定位基站共同辅助的方式来提高定位精度的一种技术。这种技术在条件合适的情况下的精度非常高,甚至可以达到几毫米,但是这种技术非常非常昂贵。在今天的中国想要购买一套差分GPS的天线成本也是几十万,而且这种技术本身也有缺陷。比如说在隧道里、桥底下、城市的核心区域、被大楼包围的区域,GPS RTK的信号仍然很不理想。百度公司在去年12月份展出的自动驾驶视频里面就采用了这种技术。但他们当时为了做这个展示,也需要临时铺设一些GPS RTK的天线和基站,这种行为其实不具备可商业化的条件。
问题就来了,无论你使用激光雷达,还是使用GPS RTK,往往还要配合一颗精度非常高的惯导,叫Inertial Sensor(INS),这个INS精度高的时候也是贵的不得了,便宜的也要二三十万,我听说有一些创业公司希望能够把这种传感器的成本大大降低,比如说降低5倍,那也要好几万,所以我觉得这些方法都不具备可商业化的可能性。
所以计算机视觉在这个时候的重要性就体现出来了。大家思考一个问题,是不是有一天我们可以用计算机视觉就能够完成精度很高的全局定位?如果这件事情可以做到的话,我觉得它的意义非常大,远远比做防碰撞要重要的多。
今天我们在机器人视觉里面做定位的视觉技术,比如说visualslam、visual odometry这些技术,在一个小的范围内用的还不错。但是当我们在世界范围使用的时候,比如说我们想象一下如何运用visual slam的技术,使其在全中国所有的道路适用。我觉得我们过去的算法都是不可靠的,今天格灵深瞳也在研发相关的技术,我们希望我们未来可以实现这个目标,我个人认为这是我们对无人驾驶技术最大的贡献。
机器人
最后我们就移步到机器人的话题,其实自动驾驶汽车本身就是一种机器人。这里的机器人特别指的是服务型机器人,那种在家庭、办公室、餐厅、酒店等真实世界里面跟更多大众打交道的移动机器人。在这种机器人里面核心的视觉问题其实跟汽车也差不多,它也包括防碰撞、定位技术,因为只有定位以后你才可以去做导航,但是更重要的是它必须有很好的交互能力。因为机器人要跟人打交道,要服务于人,所以它必须能够观察人、引导人、跟随人、了解人,并且识别出每一个人的个体,弄清楚谁是你应该服务的对像,谁是主人。
理想的机器人需要具备很强的视觉能力,它能够在空间中对这个环境做非常好的分析和定位,它能够很灵活地移动,它能够跟人甚至跟宠物在一起交互、玩耍,它能够识别出姿态、手势、面部等等信息,当然它还有语音识别的能力。我们非常期待未来服务机器人能够越来越聪明,因为今天我看到的大多数服务机器人仍然非常地笨拙。