智能驾驶何时能来?滴滴前沿技术负责人是这么说的

公司

2017-03-17 18:07

贾兆寅,现为滴滴出行前沿业务技术负责人。上海交通大学本科毕业、康纳尔大学博士,曾于 Google 工作三年半,博士期间主要对感知技术等领域做研究,包括了基于计算机视觉的具体算法,比如说物体识别、三维重建。3 月 16 日,贾兆寅博士对无人驾驶技术做了基础性的详细的讲解。

 

爱范儿(微信号:ifanr)在获得授权的情况下,对内容做了不改变原意的删减处理。文章较长,但分享者提供的信息全面且易懂,想了解智能驾驶技术的读者可以此做基础性学习。

 

全文阅读大约需要 15 分钟。

无人驾驶的历史

无人驾驶研究大概是 2000 年从北美开始的,当时是斯坦福大学等名校参加一个名为 “DARPA” 的无人车挑战赛。这些学校的团队设计的无人车在封闭的道路上跑完全程,第一个冲过终点线的就是第一名。

DARPA 里面有一些比较有意思的事情发生,比如说麻省理工学院和康奈尔大学两个学校的无人车有一次发生了碰撞——应该算是无人驾驶界的第一次事故。

上面的图片就是 MIT 和 Cornell 一起写的一篇报告,这个报告上面就写了无人车当时相撞的情景,他们也详细分析了为什么会发生这起事故,具体来说就是无人驾驶一些比较关键的,也是困难的一些技术,比如说障碍物感知,物体识别以及路径规划,在各个方面都会有一些瑕疵导致事故发生。这应该也可以说是无人驾驶界的第一次事故。

正因为这场比赛的举办,从 2013 年开始,很多著名厂商开始跟进无人驾驶。比如说特斯拉开始做 Autopilot,还有一些创业公司像 Cruise Automation(后来被 GM 收购)。

无人驾驶也在很多领域进行了开展,比如最直接的接送乘客就是无人驾驶非常重要的商用领域;车厂也希望通过智能驾驶来让每一辆车的行车体验更好;包括像特斯拉也主打 Autopilot ,来让驾驶体验变得更好、更安全。

在不同发展时期,大家的技术手段会有不一样的变化。像最开始的时候可能比如说激光雷达(Lidar)会是一个主流。

但是近年由于深度学习以及视觉技术上的突破,摄像头开始流行起来,同时汽车上也增加了新的传感器。在这几年过程中,包括计算机深度学习以及新的算法的出现,让整个智能驾驶的发展有了新进展。

摄像头

我们最常见的传感器就是照相机,包括像我们手机或者是监控,这些都是一些照相机,照相机的优点是它价格非常便宜,同时因为它捕捉的是可见光,它可以得到非常丰富的细节特征。

照相机还有一个比较大的优势,就是它的频率相对于其他传感器来说是非常高的,一般的正常照相机都应该是 30 到 60HZ,在智能驾驶中比如说高速移动的物体上,在这种频率上来进行感知、识别是没什么困难的。

所以现在很多智能驾驶的平台都会装上摄像头,也会装上多个摄像头,包括前向、侧向、后向,每个摄像头都会记录,最后形成 360 度信息。根据摄像头的输入,再加上一些人工智能的算法,可以得到一些对周围物体的感知,基于这些感知再做后一步工作,比如说路径规划等等。

摄像头还有一个好处。现在高清摄像头相对来说价格比较低廉,且相对于其他传感器来说,它可以看的非常远,比如说在没有障碍物遮挡的情况下,能够看到一米米、两百米以外的物体,这样对于整个智能驾驶的感知来说,已经是一个足够的距离,也是一个非常好的感知的距离。

摄像头怎么感知距离

摄像头来说,一般来说有几种方案来感知距离,比较传统的可能就是用双目摄像头来做,通过两个摄像头来检测比如说同一个物体,如果你知道这个物体在两个摄像头里面具体的图片中的位置,那如果两个摄像头中间有一些距离,你可以知道这个位置的时差,通过这个视差再加上一些几何上的过程,你可以知道具体物体的位置。

但是,比较明显的就是双目摄像头来进行深度的检测,那它会制约于几个因素,第一个因素就是两个摄像头至今的距离,可以想象就像人的双眼一样,两个摄像头之间的距离越大,可以检测的物体的深度就可以检测的越准,可以越深,越远的物体也可以知道它相对于智能汽车的位置,当然在车上不可能无限扩展摄像头的位置,所以它始终局限于车载的物理的限制。

另外一个就是双目摄像头来测量深度会局限在具体的匹配的算法,如果两个摄像头里面会出现两张图片,那怎么样把这两张图片相同的物体能够联系起来,然后通过这种对应的算法得到视差,这也是一个算法上的问题,如果这个算法出现一些偏差的话,它还是会出现一定的误差。

但是总体来说,双目摄像头在现在的这种算法上还是做的比较准确的,特别是在十米、二十范围为内可以做到比较好的一个感知。当然就像所有摄像头一样,它是受到外在光照条件的影响,比如说当黑夜或者光照比较弱的情况下,他可能需要其他的算法来补充双目摄像头的深度测量。

另外还说,还有一些只需要一个摄像头来猜测物体距离的,这样的话,一般都是基于一些几何上的假设,比如说如果我已经能够检测出路面了,那我可以想象路面是一个比较大的平面,相对来说我就知道这个路面上具体的每个位置,相对来说与我的距离是什么样子。

所以基于一个摄像头,你也可以做一些就是几何或者是学习出来物体距离个人到底有多远,包括在自动驾驶的过程中,因为本身的机器人是在移动的,所以还有一些既使是单目摄像头也可以得到一些时长,也可以得到物体相对来说的距离。

不过我们也可以看到,这些距离更多是在软件算法上面的实现,相对来说激光雷达是直接从硬件物理层就可以给我们一个物体深度的距离。所以就可以节省很多软件算法上面的这种开发。

传感器

传感器就是我们所说的激光雷达,一般就叫雷达。雷达的工作原理是发射出一束激光,激光并不是可见光,是肉眼看不见的,一般是红外。

激光碰到物体以后会反射回来,然后再测量这个激光从发射到反射中间渡过的时间,这样的话可以具体知道这个物体的深度。

一根激光可以得到一个点的深度,如果多个激光就可以得到多个点的深度,所以这就是平时说得,比如说多少线的激光雷达。

现在主流的 Lidar 最多是 64 线的雷达,可以在同一时刻得到 64 个点的回馈,主流的雷达又像扇子一样,你可以想象每一个激光是一个激光束,它把激光树排成像扇子一样,这个扇子以轴为圆心进行了 360 度的旋转,这样就可以每一个激光线就形成了一道环,64 个激光线就会形成 64 道环,最后就形成了 360 度图像。

雷达不仅可以测算物体深度,还可以测算出反射过来激光信号的强度,根据激光信号的强度就可以得到一些其他的信息。

雷达相比摄像头有个不足之处,就是它虽然可以提供比较多的深度,但是它在现在最好的雷达上面也只有 64 条线,它的分辨率相对于比如说高精摄像头来说远远不够,很难表现出这个物体上比较丰富的变化。

比如说,人在几十米开外的地方,这个人就只有 50 个点到 100 个点在上面,所以它可以有人的大体的轮廓,但是比如说面部上面的这种深度的变化,或者一些人具体的细节就很难保证能够做好。

毫米波雷达

上面说过,传感器就是激光,还有一种雷达是毫米波雷达。

它根据多普勒效应来检测物体的位置以及速度,不仅可以得到物体的位置,也可以知道物体行驶的速度,包括速度的方向和速度的大小。

毫米波雷达也可以检测非常远的物体,比如说在一两百米开外的汽车,也会有很强雷达的反射信号。

毫米波雷达还可以穿透一般的障碍物,比如说透过一些树或者草,很多智能汽车上面也是配备了雷达。

毫米波雷达的劣势也是比较明显。第一因为是基于雷达的反射得到的信号,它的位置以及速度,特别是位置的信息相对来说是比较模糊的。

相对于激光雷达以及照相机来说,它只能得到一个大概的位置的信号,然后这个误差可能在米这个范围内,特别是远距离的误差。

其次是毫米波雷达对于非金属的反射相对来说是比较糟糕的,比如说行人或者是小动物,它可能反射就不是那么灵敏,或者反射的信号就不是那么好。

第三点就是毫米波雷达必须是双方有一个相互速度才能够检测出物体的位置,因为它是基于多普勒效应的传感器,如果双方都是静止的话,它就很难检测出物体,所以它对静态的障碍物是比较吃力的。

上面这两种基本上是无人驾驶领域常用的传感器,那对于智能驾驶来说还会有一些其他的传感器,比如说 GPS 可以获得精确定位,IMU 能帮助了解车头的朝向,车辆行驶速度,以及车的加速度转角什么的。所以 IMU 跟 GPS 也是比较重要的传感器。

摄像头与激光雷达的互补

单纯依靠光学摄像头的距离感应系统会受到各种因素(比如天气)的影响,比如说

夜间,单纯的靠一个摄像头或者双目摄像头来测量距离就会比较吃力。

激光传感器与此相反,在晚上它的性能反而会更好,因为激光传感器是在红暗波段上面进行激光的发射和接收,在白天因为有阳光的干扰或者其他光的干扰会有一些噪音在里面,晚上因为没有这些干扰,激光传感器的精度反而会更高。

现在在主流智能汽车的研发过程中,激光传感器跟和摄像头,一般来说都会有一个融合,因为传感器里面的成本,激光传感器的造价是远远高于一般的摄像头,像 Velodyne 这种传感器的话,价格都是数万美金。

高精确地图

高精度地图对于智能驾驶仍然是一个非常有用的一个信息. 如果我们想象智能汽车是一个机器人的话,那高精度地图就相当于你告诉机器人,这个世界是怎么样的。

你能给这个机器人一些先设定的知识,包括比如说具体车道线在什么地方,在路的什么位置,这个地方是不是有斑马线,斑马线上的行人可能更多,是不是要更注重行人的检测等。

高精度地图和一般的地图区别也是非常大的,就像高精度地图不仅要知道这条路的整个的连接状况,更要知道,比如说这条路上面有几个车道,然后每一个车道线什么方向,车到线与车道线之间的连接,哪一条车道线是可以行驶的车道线,还要考虑到比如说智能汽车调头的情况,或者是其他的情况。这需要非常频繁的来进行采样才能够比较完备的来描述这个情况。

路网信息是智能驾驶的一部分,另外一部分地图比较重要的工作就是整个世界的信息,包括你的车道具体有多宽,然后这些车道到底是什么样的一个几何的形状。这些信息就相当于我对整个世界有了一个前沿的知识,我知道哪里是障碍物,哪里不是障碍物。

这个图片就是三维的世界的重建包括比较成熟的一些 SLAM 建造的这个世界,你可以看到这个世界是由刚才我们说的激光点源构成的,从这个截图就可以看到,就是很多帧激光点源叠起来的一个状况,叠起来的地图我们就知道强在什么地方,具体的道路的路面是一个什么样的形状,它是有多少的比如说上坡、下坡或者是具体的转角都会有一个比较清晰的知识。

得到了这些知识以后,后面的感知和路面规划相对来说就容易一些,比如说知道障碍物在什么地方,路径规划有了车道线的知识,以及对世界的认识以后,它可以更容易的来进行避障,或者知道哪一些地方可以靠边,哪一些不能靠边等等这些情况。

感知世界

感知来说比较重要的比如说要检测这个障碍物,包括具体来说,障碍物的感知,聚类,物体的分割,物体的识别。

对于智能驾驶来说,因为智能驾驶相对于一般机器人,智能驾驶是一个非常特殊的应用环境,它绝大多数物体比如说可能 95% 以上的都是一些常见的路上的类别,像汽车、行人、自行车、摩托车、助力车等等,这些物体可能就构建了 95%,甚至 99% 以上机器人要见到的物体。

智能驾驶的物体识别很大的精力是放在了这些物体上。但是在智能驾驶过程中,就是我们并不能够假设这就是所有出现在路上的物体了。很多情况下,智能驾驶会有一些长尾的效应。

比如说,在物体识别上面就会有一些比较低频的事情出现,比如说在车上,在道路上会有一些车爆胎留下的爆胎,但这可能是开几百公里甚至几千公里才能碰到一些问题,但是当你有足够的数据量以后,这些长尾问题也会成为比较重要的物体识别的问题。

甚至包括比如说,在美国或者在中国其他地方都会有一些像小动物猫、狗或者是松鼠,还有一些植物在正常行驶路面上会形成一些障碍物,如何识别这些障碍物并且正确的让智能汽车对这些障碍物进行反应,其实也是一个非常有意思并且困难的问题。

就像如果前面是一只猫或者一只狗或者一只鸟,这些障碍物会自动的避开,当车辆驶进的时候。当如果比如说爆胎或者砖或者是植物的话,这些障碍物可能就是要捕获。

可以想像这些障碍物的检测其实是非常非常困难的,因为这些障碍物非常小,而且你的检测距离要非常非常的远,那其实除了比拼算法以外,也会落到在传感器上面进行一些比拼,就是当你的照相机或者是说你的激光雷达效果越来越好,当你的计算机的计算能力越来越强的时候,当然会有更多的把握来解决这些问题。

除了这些常规的,比较困难的问题,比如说在恶劣天气下进行的智能驾驶,比如说风沙、雨雪包括雾霾对于传感器来说都是有一些遮挡,像在我们如果是用激光雷达产干其的话,对于下雨下雪,每一个雨滴雪片就会对激光雷达进行反射,它会造成一些不必要的障碍物,我们会把它看成噪音,下雨的话,对于照相机也会有一些遮挡,你必须得频繁的进行雨刷或者刷去雨滴,具体在这种恶劣天气下如何进行感知,其实是非常有待解决的问题。

所以在智能驾驶中可以看到,特别是现在基于学习的这些感知方法,数据量是一个关键,一个是你可能会有更多的数据量,那你的学习出来的模型会更好。另外一个是大的数据量,你可以得到更多的这种长尾的,就是长尾的低频的事件。

智能驾驶应用现状

智能驾驶在一些高端的汽车上已经有了一些具体的应用,比如说辅助驾驶,汽车会帮你提前刹车,或者是可以实现智能跟车,或者车道线的检测,这些其实已经慢慢开始走入我们的生活了。

当然,智能驾驶具体的应用比如说真正的让人能够手离方向盘,然后不需要操作还需要一定的时间,当然整体的应用我觉得也不会说是一步到位,它肯定是一个循序渐进的过程。

相对来说,比较简单的应用场景,比如说比较规范的工业区或者是旅游区,在包括机场的摆渡车等等可能会先应用起来,那真正的在复杂的交通路段或者是有密集的行人,或者是各种各样车辆来往的情况可能需要更长的时间。

相对来说,智能驾驶可能还会有其他的应用,比如说可能不光是在载运乘客,也可以运送货物,如果运送货物的话,也会有一些其他不同的思考方式,比如说运送货物时效性不像运人那么强,可以承受夜间的运送或者凌晨这种道路不是那么拥堵下的运送。运送货物,如果车内完全是货物的话,例如说承受比较急的刹车,他不需要考虑内部驾驶的舒适程度,为了安全可以做一些更加极端的一些决策。

整体来说,智能驾驶还是会提高我们整个出行的安全包括现在比如说已经出现的像盲区的智能检测这些业务,应该就可以很大程度上来避免比如说车辆事故的发生。

分享过程中一些问题提问

提问:三维重建一般需要哪一些传感器的共同配合呢?

贾兆寅:对于三维重建来说,一般我们可能就是会把摄像机、Radar、还有 IMU、GPS 这些结合起来一起配合行程对整个场景进行重建。

一般的三维重建就会进行一些数据的采样,得到比如说照相机和 Radar,就是激光雷达对于世界的这些描述,然后再通过比如说 GPS、IMU 把这些一帧一帧的信息联合起来做一联合的三维的重建。

提问:智能驾驶何时能真正到来?

贾兆寅:这个要看我们怎么定义到来,智能驾驶有不同的维度和发展阶段,一些技术我觉得已经在很多车厂上进行比较广泛的应用,比如说刚才我提到的盲区检测,车道线检测,CMB、ACC 等等,其实这些对于驾驶来说都是一个具有一定革命性的影响,而且开始慢慢融入到我们日常体验中,我想到未来肯定会有更多种智能驾驶的方案并行,而且这些智能驾驶方案会相辅相成。

提问:5G 的到来会帮助解决智能驾驶的部分技术难关吗?在刚刚结束的 WMC 上,很多巨头通信公司把无人驾驶作为 5G 的载体。

贾兆寅:这个高速网络的到来会在智能驾驶各个区域上面会有一些帮助,比如说可以很快的得到地图的更新,然后大的数据可以很快的跟比如说 Server 进行一些交互,新的数据传输的方式也可以得到一些在智能驾驶包括车联网上面得到一些新的应用。

 提问:当前的智能驾驶有哪一些形态?能不能解释 L1、L2、L3、L4,分别代表哪些阶段?都有哪一些区别?现在普遍处在哪一个阶段?

贾兆寅:智能驾驶基本上现在就是从没有智能驾驶 L0,一直到 L5,会有一些不同的分类。

L3 及以下他是说人类驾驶者是最后的一个系统,当车辆行驶出现问题的时候是由人两接管的,L4 及其以上最重要的一个定义就是说当车辆出现问题的时候,仍然是由系统来监管的,这是一个比较大的区别。

所以根据这个定义的区别,我们就知道 L4 及其以上需要在所有的路况,所有的路径下面以及所有的情况下面进行一个安全的操作,那而像 L3 及其以下可能在绝大多数或者 95%,99%,99.9% 的情况下进行安全操作就可以了,L4 及其以上是在这种最后的 1% 甚至 0.1% 的时候,车辆能也有一个比较安全的比如说停车或者靠边的行为。

其实这个就要求系统有非常高的一个可靠度,能够在各种各样比较困难的情况下都能够进行一些感知、识别或者决策,因为如果再一个非常长,比如说一个几十万公里或者几百万公里的情况下,出现这些各种各样低频的情况聚集起来也有非常多的困难。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中