1
编者按,在昨天的2016年自动驾驶汽车开发及测试技术研讨会上,驭势科技CEO吴甘沙做了一次演讲,介绍了从驾驶辅助到无人驾驶的发展中还需要做些什么,以下为其演讲实录精编。
吴甘沙
在演讲的开始,吴甘沙先做了一个术语的定义,即现在大家都在做的“自动驾驶”、“无人驾驶”。到底什么是更准确的定义呢?
从2007年开始Mobileye开始做驾驶辅助,到2015特斯拉量产的车中带了辅助驾驶系统Autopilot,再到谷歌为代表的互联网企业直接切入了无人驾驶(但在未来几年,他们无人驾驶只会是限定场景的无人驾驶,所谓的限定场景,是城市区域,其次是中低速。按目前的技术发展,203X年的时候才会有全天候全区域的无人驾驶),从以上看来,整个层级可以分为:最初始的驾驶辅助,辅助驾驶和高度自动驾驶可以归为自动驾驶,再高一级别的是无人驾驶。这个是现在官方比较推崇的术语的界定。
首先,需要更好的识别算法。
驾驶辅助有一个很重要的指标必须要低,那就是“误报率”,不然大家就把这么一套系统关掉了。在辅助驾驶中也同样要低,要不然会很麻烦,也不安全,比如辅助驾驶里面有一个AEB(自主紧急制动),如果老是误刹,会对车辆的安全造成威胁。
另外,相对于误报率,漏报率可能并不是驾驶辅助中最重要的一个指标,但当系统从“驾驶辅助”变成“辅助驾驶”之后,漏报率必须要降低为零。因为出现一起漏报,可能就会车毁人亡。所以这些都需要有更好的算法和多传感器的融合。
其次,规划和控制。
在辅助驾驶中,其辅助不能仅仅是警告,还需要加入规划和控制。这个是从驾驶辅助到辅助驾驶需要做的。
再次,视觉和雷达的融合要进一步提升。
就在不就前,特斯拉的辅助驾驶发生了一起车祸——撞上了一辆横着的拖车。出现这种情况,就说明了视觉和雷达的重要性。首先特斯拉Autopilot用的车辆识别技术还比较原始。它基本上看本车道或者是相邻车道的车屁股。车屁股有非常明显的特征,车屁股下有阴影,有车灯,车是一个对称的几何体。这些特征使得它在夜晚也能比较清晰的识别出来。但是在这次事故中,特斯拉撞上了一辆横着的车。这个车的色彩很难跟背景区分开来。所以视觉这一块实际上是需要进一步提升的。
在这起车祸中,为什么雷达没有探测到那辆拖车呢?特斯拉方面的回应是,雷达确实探测到了这辆车,但是把它归类成为了横跨马路的道路标志。从普通的雷达算法的角度上说,它是希望在靠近的时候能够做出更准确的判断。但是很可惜,这个拖车的底盘非常高,而雷达安装的位置比较低,所以靠近的时候并没有被发现。实际上更早的时候也出现过特斯拉的雷达没有判断出前面较高底盘的车的情况。
所以,雷达和视觉方面也需要提升才能更好的去做辅助驾驶。
认识到这些之后,该怎么做?
第一,可以做更好的识别的算法。比如基于深度学习的识别算法,深度学习能从车的各个角度,对车的类型进行识别,能够大大的提升识别率。但是深度学习还不够,因为在目前的深度学习识别中,前车需要露出1/3才能够识别出来。
第二,使用基于立体视觉的视觉雷达。
既然深度学习不够用,视觉雷达就能够填补它的缺点。
目前高端的无人驾驶汽车都在使用激光雷达做测试,但是激光雷达非常的贵,所以,立体视觉雷达就能在一定程度上发挥作用,比如现在常用的双目摄像头,实际上就可以充当一个廉价版的激光雷达。视觉雷达的好处是,不用识别1/3那么多,只要边上露出一点点的迹象,视觉雷达就能抓取到重要信息。吴甘沙在演讲中展示了他们系统中做的一个三目的摄象头,形成的图像能够很好的过滤路面信息。
驭势科技三目摄像头
第三,深度学习和视觉雷达的融合。
深度学习和视觉雷达相结合,能够发挥更好的效果。
深度学习是一个多任务的网络,它可以识别行人,识别自行车,识别汽车等等。
而识别行人,基于立体视觉的视觉雷达效果会更好。
第四,摄像头还需演化。
因为传统摄象头拍出来的东西是给人看的,而在辅助驾驶中,摄象头需要给算法看。怎么样把摄象头调校到算法工作的更好,是非常重要的。所以,想做好辅助驾驶,对摄像头在各个环境的调校,是一项不可或缺的工作。
刚才讲了驾驶辅助到辅助驾驶,那么从辅助驾驶到高度自动驾驶到无人驾驶,要做一些什么呢?
一、做好地图定位工作
我们传统上,大家知道地图就是导航地图,在地图中有一些道路信息、一些交通规则的信息就够了。但是要做到高度的自动驾驶,可能需要更多的信息。比如交通信号、车道线数目、坡度和曲率等等等等。要做到无人驾驶的话,则需要更进一步需要高精度地图。这里面要对环境更精细的建模,把各种各样的路标、道路语义都能体现进去。同时它还能给出一些驾驶建议。比如这里需要减速,那个地方需要换道等等。
现在所有这些解决方案,无外乎这5个参数:采集用什么样的设备、定位用什么设备、地图多大、存放位置(到底是云里还是本地)、能否实时更新。
以Google的方案为例,他们针对地图的采集设备是昂贵的激光雷达,定位设备也是激光雷达,地图很大(一公里几个Gb),只能存在本地,而且更新会有延迟。
而普通的图商做的,地图不如谷歌这么稠密,但是信息也非常丰富。它需要更加昂贵的激光雷达采集,但是定位设备会相对比较便宜,地图大小中等,可以选择地图还是要存放在本地。扫街的车毕竟是有限的,所以它更新会延迟。
无论是Google还是图商,所做的地图都有相应的缺陷性,所以要改进地图需要换一种思路,比如实时同步的地图构建和定位系统。这种系统通过一种叫Video Slam的技术,能够实现路面实拍,找出特征点,可能一张图有五千个特征点,然后通过这些特征点匹配,知道自己在什么地方。
这种方法的缺点是计算量特别大,而且在某些场合没办法找出来明显的特征点。想解决这个问题,需要在系统中添加“基于交通标志的识别”和“路面线条识别,通过摄像头设备进行采集和定位,可以通过众包方式采集,地图非常小,每公里只有几十KB,可以存在云里,实时更新。这样一种基于交通标志牌的匹配,以及基于地面标示这样特征的匹配,使得我们能做到很好的定位。
二、做好认知算法
除了定位之外还需要更好的认知算法。
我们知道自动驾驶分为感知、规划、控制三阶段。在感知的高级阶段和规划的部分,需要更好的认知算法。
我们不妨看高级的感知,首先我们传统的辅助驾驶,只需要认知特定的目标。比如高速上,我只需要认知汽车,在一些十字路口,需要认知行人。高度自动驾驶可能开到很多非常复杂的路况里面,就没办法用一个有限的数据库来感知外面的环境出来。简单的说,传统的视觉方案需要有数据库,而高度自动驾驶需要对世界更加复杂的建模。
高度自动驾驶需要通过深度学习来感知周围环境,比如识别标识模糊的道路、车流中行驶的复杂操作(变道、汇车),行人多的地方进行顺畅的壁障(预判行人运动轨迹,不用走走停停)等等。
这些认知算法的研发方法,目前Google做的非常不错,但是也非常复杂。Google使用了360度激光雷达扫描到的地上的各个物体可以预测到它的行使轨迹和下一步的动机,这个需要规划层面更好的算法。
一般来说,深度学习都是用卷积神经网络和递归神经网络以及强化学习。大家都知道,递归神经网络和强化学习也用在了AlphaGo里面,做识别,做语意分割和行为的分析和预测。现在我们用到各种各样的深度学习的网络,其实规模并不是很大,大家知道深度学习最深的网络达到一千层,但是我们所用的十几层的网络,用定点的计算就够了,不用浮点。而且你可以和GPU、Fpga和嵌入式视觉芯片做很好的适配。
而且深度学习要解决数据来源的问题。现在对于我们来说,数据来源有很多方面,比如出租车上可以装上行车记录仪,通过众包的方式,上千人的网络给你标注,你可以像从谷歌街景的数据库里面,把一些道路图画扒出来。
另外,赛车游戏也是很好的搜集数据的方法,因为它既有场景,也有玩游戏的反馈。尤其是端到端的深度学习,这种方法非常有用。还有游戏再加上半自动的众包的标准。通过玩游戏的时候,它通过现成的算法做一定的标准,比如我把车道先给你标一部分,作为一个玩家,可以判断标得准确不准确,最后通过修改。
V2X(车对外界的信息交换)和激光雷达,可能会在未来3-5年出现,尤其是激光雷达和多摄像头,未来可能会出现融合。激光雷达主要是Velodyne、Ibeo、Quanergy,基本上从他们路线图看来的话,都会在三五年之内达到五百美金以下。
对于整套系统,除了感知、规划、控制之外,还需要驾驶员的行为学习。你会希望自动驾驶开得比较舒服,你要考虑人机接口,通过声光电振动的方式跟驾驶员进行交互。尤其是特斯拉这个事情出来之后,大家觉得需要在车里面装一个摄象头,做驾驶员注意力检测,看驾驶员的注意力在不在路上。状态的监控和数据的记录非常重要。尤其是需要确定责任的时候。
第三,软件架构的安全性保障
对于软件架构来说,强调实时高可靠高安全的软件架构是至关重要的。安全性要从功能安全,进一步的进入到信息系统安全。就在前段时间,有两位黑客通过中控娱乐的联网系统,攻入到车里面,把它引擎关了。所以安全非常重要。
保障整个系统的安全,就需要需要全套的安全可靠性的设计方法,大概分成四步走。
第一步,要保证规范是准确的。
第二部,分要验证实现和规范是不是一致的。
第三步,具体运行的时候,要保证软件为实时最新状态,信息安全系统标准要非常高,第三要有足够的冗余,
第四步,控制。一旦系统失效了,驾驶员要有办法随时夺回控制。这里面要求非常高的就是信息安全这一块,比如能提供一个可靠的基础设施,怎么把多个域进行隔离,怎么在关键的数据通路上进行加密等等。
对于软件的安全性、可靠性很难界定。特斯拉说我开了一1.3亿英里才死了一个人,而美国的平均水平是9000万英里死一个人,世界平局水平是6万英里少一人。所以软件比人开才更安全。事实上懂数学的人都知道这是不成立的,样本空间太小了。明天要是再死一个人的话,就变成6500万英里死一个人。
所以,高度自动驾驶和无人驾驶的安全性还需要更多的模拟测试和数学推演才行。
从驾驶辅助到辅助驾驶,面临第一次跃迁。从辅助驾驶到高度自动驾驶到无人驾驶,是第二次跃迁。吴甘沙的演讲主要内容是在这个跃迁中,人工智能等等方面需要做什么样的工作。自动驾驶不仅仅是算法,它是一套超级复杂的系统工程。要考虑可靠性、安全性。不过,自动驾驶在相当长的一段时间里面,还是统计上比较可靠,但是还是可能会犯低级错误的技术,需要业界和学术界的合作,政府和媒体的支持和宽容,使得它的技术在未来3-5年真正能实用。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。