其他

百度自动驾驶首席架构师陈竞凯:自动驾驶的现状及发展 | 北大AI公开课笔记

2018-04-10 关注前沿科技 量子位
主讲人:陈竞凯 | 百度自动驾驶首席架构师
整理:陈铭林 俞晶翔
量子位 出品 | 公众号 QbitAI

4月4日周三晚,北京大学“人工智能前沿与产业趋势”第六讲,本期百度自动驾驶首席架构师陈竞凯授课主题为“自动驾驶的现状及发展”,分享了自动驾驶的历史、自动驾驶的分级、目标,相关硬件设施等相关内容。

全程深入浅出地拆解相关技术知识,干货满满,量子位作为独家合作媒体,为大家带来详细课程笔记一份。

课程导师:雷鸣,天使投资人,百度创始七剑客之一,酷我音乐创始人,北京大学信科人工智能创新中心主任,2000年获得北京大学计算机硕士学位,2005年获得斯坦福商学院MBA学位,同时也是“千人计划”特聘专家。

主讲嘉宾:陈竞凯百度自动驾驶首席架构师;2002年毕业于北京大学计算机系,硕士。

自动驾驶的历史

自动驾驶是一个很有趣的领域,历史也相对较久。

自动驾驶的首次尝试大概是1925年,Francis P. Houdina制作了一个无线电遥控汽车,能远程控制方向盘,当时还在纽约的大街上测试过。从汽车发明到自动驾驶的首次尝试不过30年。

现在有公司也在做类似的事情,叫遥控驾驶。跟1925年的首次自动驾驶尝试相比,本质没有区别,唯一的不同是:1925年的遥控驾驶,需要人在现场看着路;而现在的自动驾驶,人是在几千公里以外,通过网络来掌控,但本质都是遥控。

到1939年左右,通用公司提出了未来城市的计划:城市里使用无线电遥控的汽车。虽然计划失败,但这个方向很火热。目前谈论的港口自动驾驶和当时未来城市计划的源头是类似的,都是在驾驶上将人的功能弱化。

真正和现代的无人驾驶定义类似的是1969年,人工智能之父约翰·麦卡锡写了一篇类似电脑加速汽车的文章,这个设想与现代很相似:摄像机通过电脑进行操控汽车,到现在为止,路况上跑的车也是同样的套路。

在汽车工业界,1992年三菱做了第一辆量产的辅助驾驶ACC,在Debonair,当时使用激光雷达控制油门,但没有控制刹车。

现在整个汽车工业界在无人驾驶技术的积累很深厚,像博世,像Dywalter等公司,他们真正能够制造自动驾驶所需的硬件。

自动驾驶分级

一辆汽车在行驶中,主要是控制速度和方向。关于分级的解释是:

L0:指什么都不控,只会辅助警告。

L1:只控制一个,比如油门或刹车,以此来控制速度。

L2:控制两个,一般是油门和刹车,其要求是驾驶员必须时刻保持注意力。

L3:保证驾驶者有足够的时间应对到来的问题。即使驾驶员睡着了也能将其叫醒,或者为保证安全进行靠边停车,这可以保证有一段路是可以放松的,人不需要从头开到尾。只有做到了L3 级别,才算是真正走上了便利的路线,否则都是有风险的。

目前市面上只有奥迪A8做到了L3,但是却有很多限制条件,例如必须是在拥挤的车辆中,跟随前面车辆,时速也不能超过60公里。

L4:在特定的区域,从头到尾不用人干涉。但是受到环境的限制,L4不一定比L3厉害。

L5:是自动驾驶的终极目标,不限场所,随便开。

分级代表着很重要的技术路线,不同级别不仅承诺目标不一样,而且市面上大规模应用,成本与技术也不一样。

自动驾驶目标,不同级别的目标定义不同,比如L3定义驾驶室一定要有人;L4 是很安全的,做决定的不是开车的人,是程序。

从整个交通系统这种更宏观的考虑来说,道路交通系统就是人为设计的系统,这个系统在设计时会考虑当时的一些状况。无人驾驶的加入对整个系统的影响和帮助,会考虑这整个系统,怎么去配合会更加高效环保。所以我们在无人驾驶上,也要往高效环保上靠近。

自动驾驶系统的组成部分

基础构成

人开车,要有眼睛,一般是双眼,这样能得到深度的信息,有了深度信息,单目和闭目也能开。然后双手和脚,分别控制方向和刹车,还有大脑的配合。

自动驾驶就是用双目系统做感知,计算系统做处理,执行机构做控制,一般来说就这三个系统,这三个系统会涉及到很多具体的东西:传感器、计算和控制等等。

控制这块涉及少,但也不简单,比如转向机与电机接在一起进行控制。刹车系统取决于多久能踩下去,测量人的刹车响应时间,依据人不同的状态在600ms左右1.4秒刹车系统一定要比人快,比如需要100ms的响应时间,这样才能保证安全。

计算现在会越来越便宜,但平常使用的与车上的不一样,有两个问题:车上有能耗的限制;如何合理布置计算系统。

自动驾驶硬件方面:传感器、激光雷达、摄像头、超声波等等。声波一般是用在慢速的道路场景中。主流的自动驾驶,一般是毫米波雷达,激光雷达和摄像头做的多一点。不同的厂商技术路线不一样。

汽车这个行业安全第一,所以一定是多传感器组合的。很多公司也在实验上测试难易,比如以色列的Mobileye,专门是做辅助市场,主要技术是在图像上,是计算机视觉,他们单用12个摄像头就可以做到L4的实验,但到现在都没有量产。

摄像头的两个主要问题是:对光的要求很高,运算要求也较大。Lidar分辨率太低会导致区别度不够,另一方面是太贵。在恶劣天气下,例如雾霾天气,这些摄像头都不怎么好使,但是毫米波可以适应这些天气,但是毫米波的最初设计是做ADAS,其在检测时,会经常出现很多虚假报警,现在有一些创业公司在探索适合L4的radar方案。

对于立足做L4的公司一般是所有传感器都加进去,因为最后算成本剔除掉人的因素后,还是划算的。但是做L3以下的公司,例如都是精打细算,因为要加入人的成本。

个人体会:双目路线是很有价值的,但主要难点是在匹配上。

但是说到单目实验,就个人体验来说,自己一只眼睛开车基本也是行的,因为人有多先验知识,人的眼睛有自动聚焦,看远还是看近物体大小是不变的,所以基本能识别物体的大小。

我们在做图像识别的过程中,不仅需要将图像框出来,而且要给出一个距离信息,这些可以通过CNN模型检测出来。人的话,一只眼睛也能开车,因为人的大脑长时间在接受两只眼睛的训练,所以人单眼也能开,只是不习惯。

人能不经思考就能解决的问题,人工智能一般也能解决。听和看,基本是不动脑子的,而自动驾驶之所以能做,也是因为人在开车也基本只用听和看,也不用动脑子的,所以我认为是可实现的。

传感器路线

回到技术来说,不同问题的应对措施是不一样的。交通系统本身是人为设计的系统,一开始没有人就非常简单,就像港口的系统,因为没有人,车开到哪里就调度到哪里,只要能控制行车精度就行,现在的技术能控制在10cm左右。在这个精度上做一个调度系统是很容易的。但是加入了人这个因素后就复杂了,人不可控因素太多,增加了难度。

我们认为未来的交通一定是无人的,无人的驾驶系统就会变得像港口一样的结构,只需要简单的传感器系统就能调度。

传感器为什么需要做识别,只需要让车告诉驾驶人员自己的位置,联网上报车辆的坐标,这样就不需要做复杂的检测,变成了纯粹的驾驶系统。这种联网上报的好处是可以时刻有一个系统在辅助你开车,监控驾驶人员,这样人就会很守规矩,也会把驾驶变得简单。

未来趋势,摄像头布满城市公共场合的角落。这样人就会有被监督的感觉,从而规范自己的行为,也许这是一种更加高效的社会治理方案。那问题来了,是在汽车上是装很多传感器,还是在路上布置一些传感器。

计算的流派

曾有一个朋友说,“看车是否高档,只要把车盖子掀开,看里面的线,线越多越高档。”因为它装了很多计算设备,传统的汽车配件都是独立的,每一个功能都一个单独连线。为防止浪费,有人尝试集中式,但是集中后又会带来新的可靠性的问题,而且在汽车系统是分层的,一些是重要的,一些是不重要的,但这些共享在同一个系统里,也会有问题。而对于自动驾驶,从头到尾都是一个系统都很重要。

总所周知,AI的计算量大是非常耗电的,这样对车来说不合理。所以怎么把计算给降下来,是一个很大的问题。

可以用专用的设备进行计算,这方面有很多流派:有些可以把计算安置在边缘部分,做智能传感设备,例如雷达,这样中心计算可以省一点。目前我们的判断,将来一定是一个混合式的,边缘计算的缺陷,是缺少传感器的相互交互。如果能够精确的同步,就可以得到更加丰富的信息,以此来做计算,这个很可能是未来的趋势。

规则系统与学习系统

这个问题其实蛮有意思的,就是所谓的学习可解释性,比如在交通领域出事故之后的定责。所以学习从这个意义上来说,它是不是不可靠?它的规则很简单,因为什么原因所以有了这个结果,讲起来很清楚。

一个深度模型上面有几百万个参数,重新把这个case填进去,重新训练,也许这个case解决了,但下一个case还不一定。所以这也是两个流派的争议点。

有人提出,做一个混合的系统,规则也很复杂,但是(参数)空间不大,做一个万级别的空间,在这个万级别空间里面做些解释。比如做一个决策树(Decision Tree),它可以解释得很清楚。但一两个决策树还可以,如果它变成一个几百棵树的森林,就很难解决。

如果把这个(参数)空间限制住,是不是就变得可解释了呢?是不是必须要深度学习才能做自动驾驶?我们发现用了深度学习模型之后效果非常好,但是也有问题。Uber事件之后我们做了分析,猜为什么会漏检行人,就是学习模型需要标注,标注过的系统认识,没标注过系统可能不认识。

所以这样一个学习系统,我们当然不敢完全依靠它。

有一个流派这样说,学习系统确实只认识我认识的,但是我可以我做障碍物识别和路面识别,障碍物带来更多的信息,可以做更加多的判断。精细分类做得越细,对驾车会带来更加大的好处,但是做精细分类这个事情,规则系统做起来非常难受,而学习系统做起来就非常简单。把两种方法相加,这样一来,我既享受到了精细分类带来的好处,又享受到了规则带来的好处。

分层系统VS End2End

一般来说自动驾驶系统里面是这样做的,下面有一层控制,上面有一层道路决策,再上面一层有感知。感知用来刻画出现实世界,然后决策和控制在这个刻画的世界里寻找道路。

自动驾驶它实际上是一个工程问题,工程问题很重要观点是我要整个节奏可控,End2End最大的问题是不可控,我们不知道它什么时候能搞得定,所以我们做这个问题的时候一般不选它。我们这个系统基本上按照这个分层设计上来说,每一部分还是会按照看得非常清楚的来做。

Tesla VS Waymo

Tesla路线和Waymo路线,这是一个非常重要的话题。因为在做自动驾驶的系统上,我们有很多不同的方案。

Tesla是走L3的路线:解决一部分问题,然后再扩展解决更多的问题,最终走向全自动驾驶。Waymo的路线是:一开始就是全自动驾驶,不过限制使用的范围,通过扩大范围来通向终点

还有就是说,我需要自己去调一些参数,这个时候就涉及到label数据从哪来的问题。所以做自动驾驶的非常羡慕Tesla,因为它有label。Tesla有大量驾驶员的label数据,有很大的优势。

感知方面,我们基本上还是沿着label的路线来做,不管是点云数据还是图像数据,都是先标注,然后训练得到模型,最后拿训好的模型去做后面的工作。

这条路线的一个很大问题是标注量,因为汽车工业对整个结果的要求是非常高的,因此自动驾驶的标注效果是一个非常大的问题。

人脑的学习过程不是通过大量标注来学习的,有个观点是说:人看的不是一张张图片而是视频,所以视频在一帧一帧之间隐含了大量信息,换言之,如果我走弱标注或者连续帧的路线是不是能更好地解决我的问题。所以从感知的角度来说,我觉得无监督或者弱监督的方法在以后会发挥更大的作用。

在下一层驾驶这一块,不同的可靠性它的需求是不一样的。在整个驾驶这一块,如果没有人,大家都觉得这样很完美。有人的话,问题就来了,举个最简单的例子就是关口,你直行他左转,这里有个路权的争夺,人处理这个博弈也是不容易的,这是很难的一个问题。

其实处理这个博弈的问题有一个非常好的框架,就是增强学习的框架,从自动驾驶的角度来说,增强学习是处理驾驶上一个非常好的模型,因为增强学习里面有一个重要的概念是做实验,但在真正驾驶上做实验是非常难的,所以在这样一个框架下也需要一个好的学习模拟器,模拟器最难的就是模拟路上发生的真实情况,车得开得像人开的,否则训练的东西可能不对。

这是我们Baidu Apollo开放的一个架构图。下面一层是执行层的线控结构,上面一层是实时计算系统,比如一些传感器(Camera、LiDAR、Radar、超声系统等)的实时处理,再上一层是一个实时操作系统,放在车上的系统一定是一个实时操作系统,不能因为系统波动导致问题,它基本上就是这样一个结构:感知、计算、控制。

雷鸣对话陈竞凯

城市能看作是一个受控环境吗?在城市的特定区域、特定线路上、在有很多行人的实际路况下让人能躺着睡觉的自动驾驶你觉得还需要多久?还是说真的挺难做的?

这个问题不太好回答。但是实际上在城市道路上现在能不能开始做自动驾驶呢?可以!

从技术的角度来看,从L4的角度来看,我觉得Waymo做的比较靠前,在凤凰城那个场景下他们敢开始开了,这是一个非常大的进步。就目前来看从L4领域来说,他们是做的最先进的一个方案,但是我们判断说,如果拿到北京来,会比较悬。

在中国中不管大、中、小城市,他们的方案都悬,因为不守规矩的人太多了。我们调研过,在他们那个场景下,他们解决得会比较好一点。国内的水平我个人觉得需要三年左右的时间,在一个相当的水平上开起来。

自动驾驶确实在中国挑战会更大一点,但是从刚刚所述的,也是一个可预见的未来,大概5到10年应会不会在一些城市道路上非特殊情况下,比如今天就是一个特殊情况,下雨又下雪,它就不开了。

其实今天这种情况还算好。最大的问题是怕雪积起来,场景变白之后会出现问题,今天这种情况问题不太大,可见度情况还可以,路面情况还可以。

一般道路上,因为人的介入导致道路环境复杂很多,其实通过一定的行政规划方案可以把这个地方的交通情况给简化了,所以从发展过程中看,无人驾驶真的大范围进入到城市的交通系统里面,可以说它演变的过程是像一个人开车一样所有的环境还是原来的样子,还是说会有政府或者公共设施做一点适应性改变,会不会在道路上有一个无人驾驶专用道之类的?或者说有一些信号跟红绿架之间有一个反馈?

一定是这个样子的,基础设施实际上对自动驾驶方案来说影响实际上是非常非常大的。

L4它有很多约束。举个简单的例子,公交车专用道这种约束就会大大地简化问题,尤其是物理隔离。我们关键是看整个系统里有没有动机去驱动系统往前走,我觉得这是非常关键的因素。

如果政府觉得有价值,它就可以推动这个改造工作,如果有足够的推动力,我觉得是可以做到的,并不是说把这个问题解决掉我再看看怎么走,而是我有一个点,如果这个点过了我就可以被接收了。

如果说未来自动驾驶的车越来越多,那么对整个交通或者运输业的影响是一个什么样的情况呢,比如我们还买车吗?然后物流小哥还存在吗?这些事情你有没有想过?

有一点不太同意。这个系统里最难改变的是人。从整个系统来说,什么时候能够实现整个交通系统中没有人开的车,这个时间我觉得会比想象中要长。我可以说自动驾驶很快上升到一个很高的水平,但是人还是会顽固地存在一段时间。

无人驾驶其实是一个门槛相对比较高的事情,创业公司怎么参与到这个无人驾驶的整个过程中来,它应该跟这些大公司之间应该会互相扮演什么角色?你是怎么看待这个问题的?小公司还有机会吗?

我们对于一些道路的参与者的要求是非常高的,无论说你做运输的大卡车,还是出租车,要求都是非常高的,因为一旦出事都是大事。但是从更宽泛的角度来看,它是一个自动系统,在这个系统里其实有好多应用,有非常广阔的空间。

真正去做这两个大的行业,比如物流、客运,门槛是比较高的,但我的想法是,在整个的市场里面,在一些小的类似自动驾驶门类里面,还是有机会的。

我们为什么做这个阿波罗这个开放系统呢?其实也是出于这两方面的考虑,一是对于一个学习系统来说,数据是非常重要的,我们希望做出个系统来达到一个开放的数据生态;二是看到了在自动系统这个领域里面有非常多的机会,很多创业公司在某个领域里面都在做一个东西,他们很多东西都是相似的,但是他们的东西各有各的特点,我们把这个东西开放出来,使得他们在一个相对高的起点上去做这个事情,这样使得他们更快地做点东西。我们是在想加速这个自动系统行业的成熟,尽快把这个行业真正做起来。

我们希望这个阿波罗系统能够降低众多领域的门槛。我们希望每个团队都专注于那些带来独特价值的部分,那些公共的部分希望大家去共享。

下期预告

4/11本周三晚18:40,北京大学“人工智能前沿与产业趋势”第六讲,将由科大讯飞执行总裁胡郁为大家授课。

感兴趣的小伙伴可以添加量子位小助手6:qbitbot6,备注“北大”,通过后可进入课程活动群,获取每期课程信息,与其他小伙伴互动交流。

祝大家听课愉快~

学习资料

在量子位微信公众号(QbitAI)界面回复:“北大AI公开课”,可获取本次课程的视频回放链接。

活动报名

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存