本文关键内容:Tesla的后台地图机制,是如何影响TeslaFSD Beta在实际城市道路环境下的真实表现的?请跟着小编一探究竟…..但“究竟”是对还是不对,还请各位读者自行判断。
从本期公号文章开始,我们还是接着早前几篇关于FSD Beta在北美大规模测试的主题文章,说说FSD Beta v8.2在湾区的实际道路表现,特别是那些处理得不好的环节。考虑到下一个版本就是Elon Musk同志口中的“好1000倍”的大版本FSD Betav9,所以现在多留下一些记录和印象,对于下一个版本的观察也是建立良好的Benchmark。需要强调说明的是,我们对于Tesla的纯视觉自动驾驶系统实现思路,首先是十分尊重和关注的,其次是做到从公开资料中尽可能做出公允的认知,目标是从持续的观察中获取纯视觉技术路线的成长过程和知识,仅此而已。在现在这个大环境下,请读者不要试图把我们归结为Tesla的“支持者”或者“反对者”,我们不站队。
在上期中我们谈到了Youtube账号“AI Addict”在San Francisco的测试情况,因为测试总体很不理想,所以引发了广泛的关注。在本期中我们关注“AI Addict”账号在湾区另外一个城市San Jose(圣何塞)的测试中的几个细节。注意,本文中所涉及的FSD版本为,Version 2021.4.11.1(v8.2)。
【AI Addict-5】
仔细观察以上视频中,FSD Beta车辆在一个路口结构中,红绿灯之后低速右转后(处于跟车状态),在没有任何征兆的前提下,主车自主选择进入了错误的车道,从而最终偏离了导航规划中的路径。如下图所示:(下图中黄色为NoA的导航路径,红色为现场实际执行的错误路径选择结果)
【上图中,黄色线路为NoA预规划线路,而红色线路为在路口右转错误之后的重新规划线路】
详细的路径描述:从E Reed大街行至顶端路口后右转,按照Autopilot的NoA的导航规划(根据公开信息,Tesla的导航地图底图为Google Map,但是导航算法特意绕开了Google,选择了一家叫做Mapbox的专业公司;而且Smart Summon所依赖的停车场地图-底图应该也是来自于Mapbox,至少在目前是这样一个状态),此时车辆应该进入S Market大街(黄色路径),但是测试主车却直接驶入了S 1st大街(即第一大街)。按照NoA(Navigation on Autopilot)的导航线路预规划(图中后续的黄色线路),车辆应该在S Market大街上直行,两个街区之后在Balbach大街左转。但在主车错误驶入S 1st第一大街上,且在错误的道路上行驶间隔一段时间之后,累积的GPS误差(偏离正确道路)激活NoA导航路径的重新规划,后NoA随即改变导航线路,如上图红色后续线路。
如果我们把关键的出错路口的细节图再放大,如下:
上图在细节上显示出,这个相对复杂的丁字路口和连接的分岔路口的道路结构虽然有一点点复杂,但绝对还是结构和标识清晰的。如果结合上述的视频片段看,Tesla车辆转弯的时速也很慢,小于20kmph,而且Tesla的前向摄像头一组三个,从远程到广角都覆盖了,不应该看不到黄色圈内的道路结构,那么为什么会犯这个错误呢?
我们从测试车辆开始转弯前的细节开始分析,视频中的截图如下:
读者需要注意上图中,主车车内中控屏幕上的红色方框内信息,参照如下细节:
不论在先行商业部署的Autopilot UI,还是在北美规模测试的FSD Beta来说,车内自动驾驶状态显示(上屏幕左侧)和导航UI(上屏幕右侧)都是基本一致的:左侧的自动驾驶视觉感知和呈现UI由Tesla的FSD提供(正式商用的则由Autopilot系统提供),而右侧的导航页面则分为两部分,包括道路平面底图或者卫星底图以及经纬度数据库,由Google Map提供;而地图上的导航道路规划结果则由Mapbox提供。Mapbox并不提供“应用级别的产品”本身,按照Mapbox自己的定义:
Mapbox通过自身位于云端的基础设施和软件API接口,向客户提供对于位置和导航的实时支持。以Mapbox和Tesla的合作方式来说,Tesla车辆内部显示屏上的UI是由Tesla所开发的,地图的底图和经纬度数据库来自Google Map,但是导航的路径规划,和在导航过程中的“Turn-to-Turn”的导航能力,则是通过调用Mapbox的API来完成。上图中红色方框内的路口拓扑结构以及建议的转向动作,都清楚地显示,不论是从Google map读取的道路结构本身,还是通过NoA从Mapbox调用来的导航路径规划结果,两个信息源都显示正确,和实际情况吻合。
这就是说,在这个右转向的实际场景下,在导航地图和导航路径规划这个层面上,Tesla FSDBeta工作正常。但实际结果是主车几乎毫不犹豫地驶入错误的分支路口,我们继续往下分析。
我们都知道,在导航NoA的全局路径规划体制下,实际决定车辆运动的是更微观层面上的车辆轨迹规划功能。以这个右转的场景为例,NoA导航功能告诉FSD主车,你应该向右转然后进入S Market大街然后直行直到下一个路口……但实际上主车如何执行右转操作,右转轨迹的弧度/曲率是多少,和右转过程中每一个时间点的车辆速度是多少,以及如何同时满足乘客的舒适感和车辆通过路口的效率,还有更重要的必须要考虑的对于路口各种紧急情况的避障……等等诸如此类直接指导车辆控制机构生效的motion planning轨迹规划,却是在另外一个更低层面的事情。如我们在之前的公众号文章中反复提到的,在轨迹规划控制层面中,主车需要考虑和整合各种感知信息来源并担负由此带来的计算量,都是相当繁重的计算负荷。
如上图中显示,当主车需要执行具体的运动轨迹规划时(直行穿越一个路口),至少需要考虑五方面的信息并对之进行整合,从而产生出合格的、安全的下一周期内的运动轨迹:
1 各种动目标和静目标障碍物的位置、尺寸和速度信息,并预测其未来周期内的运动轨迹;
2 宏观导航模块所给出的大尺寸导航路径;
3 HD map所提供的路口结构化的道路信息和交通设施信息(比如红绿灯具体位置);
4 主车自身当前的运动状态信息;
5 红绿灯为代表的道路指示信息,比如当前红绿灯的状态等。
以上五种信息为例,可能还有更多,我们就不展开了。对于Tesla FSD来说,
1数据来源主要是摄像头和毫米波雷达;
2数据来源就是我们在上文中提到的Mapbox的导航数据查询和调用;
3数据来源对于Tesla来说有些特别和争议,对于正常的自动驾驶技术类公司,都是认可HDmap在自动驾驶能力闭环中的重要地位的,但是对于Tesla来说,HDmap不仅仅意味着高昂的成本,更不能接受的是HDmap本身不具备足够的普适性,这对于大规模销售具备自动驾驶能力商用车的公司来说是不可接受的。小编觉得这个态度是绝对没问题的,有问题的是HDmap的减配,必然意味着车辆本身智能的提升,这是个此消彼长的客观事实。如果你有本事造的出足够聪明和强大的车本体,那么不要Lidar,不要HDmap,必然是更明智的选择;
4数据来源车辆自身,这是没问题的;
5数据来源也是车身传感器(camera),以及固化在自动驾驶代码中,对于不同地域和国家的交通法规和约定俗成的理解。只有准确和充分的对于各地交通法规的理解,自动驾驶的安全性才有保障。当然,这个“理解力”可以来自于固化的代码硬逻辑,也可以来自于藏在NN神经网络内,经过大量现实训练而获得的类人经验。
我们回到FSD Beta右转的实际交通场景,既然现有信息显示在NoA所构建的宏观道路导航规划中没有任何问题,主车此时也非常清楚自己开始执行右转操作的状态,那么最有可能出问题的点,就在于“路径规划”过程。再参考以上所罗列的5点数据来源中,Tesla在3中所涉及地图数据过程中不采用HDmap,那么是完全依赖视觉信息实时获取完整的外部道路结构信息的吗?
在去年一次Tesla黑客@green的破解中,我们第一次看到其实在Autopilot底层,其实也存在某种信息密集度的map存在,而不是仅仅依赖粗颗粒度信息的Google map。Mobileye的CEO Shashua教授在CES2021的主旨演讲上也指出过,“Telsa其实并不是像他们宣称的那样完全不依赖高精地图,实际上在Autopilot后台也存在着某种地图数据形式…….”他指的就是这个地图,如下:
【竖幅画面可以显示更多内容,请读者横屏观看】
上图右侧即为在FSD Beta版本下发现的底层地图,因为是破解数据,所以可信度很高。但实际上小编评估,这个级别的地图,肯定是达不到HDmap高精地图的信息密集度和丰富度程度的,而且也极大概率不是第三方地图厂家提供的(包括数据源和呈现逻辑),这个地图应该就是Tesla autopilot研发团队在发展纯视觉自动驾驶能力过程中的产物。因此我们相信,不论从成本上来说、普适性来说,还是从地图精度和数据丰富度来说,都是最适合Autopilot自动驾驶系统需求的产物。读者可以忽略上图中过于密集的道路结构描绘方式,请关注红色箭头所指出来“青色点线”:这即是大尺度的导航路径规划结果。它在地图上并没有做精确的定量描述(也不需要),它指出Tesla主车在这次NoA规划下的行驶路线即可,具体在更底层的“路径规划”,特别是在路口时,“青色点线”是不参与具体的路径规划工作的。
【竖幅画面可以显示更多内容,请读者横屏观看】
我们再看上图(是前图的后续状态地图),当车辆在这个丁字路口按照导航NoA的规划结果开始执行左转前,在丁字路口区域内地面无车道线的前提下,主车应该如何规划自己的行驶路径呢?此时的底层路径规划功能在必须掌握我们之前讨论的5个基础信息输入的前提下,才有可能规划的出可实际操作落地的“左转弯实际路径”。对于Tesla的方法来说,特别是从HDmap中应该获取的道路结构化信息,从Tesla的低精度or普通精度的map中,同样可以提供必要的道路结构信息。上图中的红色箭头指示出的红色箭头线段,即为关键的转向道路入口指示,指出主车在左转动作的末端,应该进入新的道路中的最里侧的那条车道。只有当主车掌握自己进入路口前的车道(原始车道),和出路口时的车道(目标车道)之后,才有可能在路口内部的区域中,规划出具备最合理的曲率的行驶轨迹(当然还需要考虑避障因素)。上图中包络着主车实体的蓝色道路线,即为行驶轨迹的规划结果。
需要注意的是,上图中右侧的结构图同样为当前的车道结构,只是用一种更抽象的方式表达出来了。这个随着车辆运动而滚动变化的车道结构,清晰地描述了转向、换道等严重依赖车道结构的主车行为定义过程。Autopilot在有这个级别的地图支撑下,如果视觉系统足够强大(注意,这是必要条件!!!),即可以实现其所一直宣称的,“看到道路现实、和地图对比印证现实,并最终做出驾驶决策”的核心思想。从这个角度讲,这个地图结构,确实是没有必要是预定义极高精度的,视觉会一边形式一边验证。从Elon Musk的第一性原理出发,毕竟人类司机也不需要精度到cm级别的HDmap才能开车上路。
既然有Tesla自有的地图加持,和强大的视觉识别能力,那么为什么在圣何塞这个不算太复杂的路口,FSD Beta依然犯错?我们看以下三联过程图:
过程1:在FSD主车右转基本完成的状态下,主车中控屏幕UI显示中,并未出现近在咫尺的分岔路口形状(蓝色箭头所指之处)。小编百分百相信,FSD Beta是绝对以视觉信息为核心的,而非预制地图,这是根本原因。视觉未看到的道路结构,哪怕在预制地图中有分叉结构,也不会显示。从这个角度看过去,前方挡在主车和道路分岔路口的这两黑色的Nissan车很可疑,也许正是它的位置恰好遮挡了前向主力摄像头(main camera)的视野,从而耽误了最关键的识别过程,从而造成后续的错误;
过程2:主车完成右转动作,此时黄色箭头显示,前方分岔路口的分叉地面标识线型已经可以看到,但车内中控屏幕的UI上,却依然没有显示分叉路型,此时刻下车辆的规划轨迹依然是前行,而错过了最后变道的窗口机会。此时主车的车速并不快(13mile perhour),但是因为右转后距离分岔路口的距离实在太短了,如果此时Tesla的视觉识别响应速度不够,从视觉信号捕捉——到送入道路识别的NN网络——输出道路结构结果——和预制地图做比对——根据结果选择其是否作为调整路径规划的重要参数….. 这个过程如果耗时过长,则必然会错过这个路口。
过程3:当主车无可避免地进入错误分支路线的时候,中控屏幕上的分岔路构型才刚刚显示出来,此时地理空间已经不足够主车完成变道操作了,因此路径规划指示车辆继续前行。
我们可以联系上述Tesla所特有的低精度“预制地图”,在这个复合路口结构下,丁字路口连着分岔路口,间距短。小编推断,或者是“预制地图”信息不完整,未考虑分岔路口的车道信息对应关系建立;或者车辆的前向Camera视觉被阻挡,而未能及时完成道路结构的确认,这两个因素都会最终导致错误驾驶的结果。
Karpathy在去年的一次技术演讲中,有特意提到过在FSD系统中,是如何处理过路口场景的原则:
1 从FSD的角度讲,对于每一个路口来说,永远都是第一次接近。这也就意味着FSD虽然有“预制地图”,但并不会依赖地图这种“先验信息”,而是后验确认。注意,FSD的“不依赖”不代表不采用任何级别的地图信息;
2 视觉系统,道路上的不确定性是不可避免的。比如时程以外,或者遮挡区域等等,都属于不确定性,这是无法避免的;
3 对于这种不确定性,Tesla的FSD倾向于把它就当作不确定(Uncertainty)的信息来处理,而不是强调未拿到确定信息之前就不去做规划和其它决策;也不强调必须通过各种价格昂贵的手段来尽量获取确定性信息(比如HDmap,也比如V2X);
4 有利的因素在于,道路结构本身是有迹可循的,各种规则定义下的道路结构还是遵循普遍的、单一的标准的(尤其是在同一地区内),因此对于不确定的预测不是完全做不到的;
5 从某种程度上讲,对于不确定性的预测,是我们能在全球范围内真正推广高级别自动驾驶系统和服务的唯一途径,任何依赖外部的、有条件的、高成本的附加方案都是不可靠的;
从理论上说,Tesla和Karpathy的技术路线,小编是举双手双脚全力赞同的,但在处理非确定性信息的过程中(本文关注的是道路结构),对于自主的视觉能力依赖到底有多大?视觉系统到底要做到何种可靠性才能实现不对先验信息的依赖?这真的是MobileyeShashua教授的那个判断,“你到底希望何种可靠性的自动驾驶系统?让所有人满意的MTBF到底是多少?”这也是Elon Musk的论断,“人们到底需要几个9的可靠性?”
无独有偶,至少在以下这个场景的复杂路口(三条道路的交汇路口),FSD Beta的表现,令人满意。它在复杂的行人和道路结构下,尽管跌跌撞撞(轨迹规划在剧烈变化),但还是准确地找到了导航模块NoA所规划的出口。
【AI Addict-6】
车右智能
一个一直用心仿真的自动驾驶技术信徒
info@co-driver.ai
备注:
1 插图1视频来自于Youtube账号“AI Addict”所拍摄的FSD Beta v8.2测试视频截取片段,URL:https://www.youtube.com/watch?v=0-lnpFBzKhc;
2 插图2/3来自于Google Map的截图(卫星视图);
3 插图4/5来自于Youtube账号“AI Addict”所拍摄的FSD Beta v8.2测试视频截图,URL:https://www.youtube.com/watch?v=0-lnpFBzKhc;
4 插图6来自于mapbox.com官方站点,URL:https://www.mapbox.com/about/company#roots;
5 插图7来自于小编的存档,原始出处不确定,应该是百度Apollo的相关教程;
6 插图8/9于Twitter账号“@Green”的动态图形内容截图,URL:https://twitter.com/greentheonly/status/1336467200778055680;
7 插图10/11/12来自于Youtube账号“AI Addict”所拍摄的FSD Beta v8.2测试视频截图,URL:https://www.youtube.com/watch?v=0-lnpFBzKhc;
8 插图13视频来自于Youtube账号“AI DRIVR”,URL:https://www.youtube.com/watch?v=ghGN6tan4AM;