首页/文章/ 详情

什么是自动驾驶中的影子模式?

1年前浏览1017

从网上摘了些内容,放到这里,做个记录。

以下内容来自知乎《影子模式shadow mode分析》。

作者:别爱我没结果。

---

最近突然看到了影子模式这个功能,查找了一些资料,结合自己对影子模式功能的理解,从以下几个方面进行简单的总结整理。

1、功能介绍

2、触发模式

3、硬件预埋

4、技术难点

1、功能介绍

影子模式,是由Tesla首先提出并实现的一个功能。可以理解为:在有人驾驶状态下,系统包括传感器仍然运行但并不参与车辆控制,只是对决策算法进行验证——也即,系统的算法在“影子模式”下做持续模拟决策,并且把决策与驾驶员的行为进行对比,一旦两者不一致,该场景便被判定为“极端工况”,进而触发数据回传。

Telsa的所有车型都支持此功能,因此Tesla的每个用户都是特斯拉免费的测试员,用户越多,能采集到的数据越多。

总结下:影子模式测试,就是把自动驾驶控制结果和实际驾驶员的操作进行对比分析,从而测试自动驾驶算法的一种测试方法。


2、数据回传的触发方式

根据网上公布的信息,特斯拉影子模式触发数据采集和上传的方式主要分为2种:触发器模式、后台上传型。

触发器模式

即驾驶员的行为满足程序预设的触发条件,车端会把影子模式所要提取的相关信息给到后端,后端得到固定触发的场景后,可直接用该场景用来提升特斯拉神经网络的算法。

比如当工程师认为后端需要更多的转向场景(所需场景)用来提升自身的算法,从而让ADAS功能能应对大部分的转向场景以及提高该功能在转向时的平顺性,就可以在驾驶员触发转向拨杆操作后(触发条件),上传转向时所需要的数据,如当时的拨杆状态车速、挡位、油门开合度、周边标记的障碍物类型、障碍物距离等,这些数据上传到后端后,直接用来训练ADAS相关的神经网络算法。

后台上传型

即特斯拉的Autopilot程序在后台不断运行,但该运模式并不会干涉驾驶员的操作。可以把该场景下的影子模式理解为不断学习驾驶技术的副驾驶,他会根据自身看到的周边场景做出自身的判断,但无权干涉主驾驶的行为。当后台运行程序输出的指令和驾驶员的指令不一致时,系统将判定后台神经网络算法有误,同时后台会记忆驾驶员的驾驶信息和相关周边场景,并上传到后端,从而优化自身算法。


3、硬件预埋

Tesla目前是全系预埋同一ADAS硬件,然后通过软件功能屏蔽与否去盈利的模式。国内的一些主机厂也在讨论或者参考Tesla的做法,进行硬件预埋,如理想one、蔚来ES6。但是目前来看,只有Tesla实现了影子模式功能。

因此在没有实现影子模式功能的前提下,其他主机厂在硬件预埋与成本回收上与特斯拉都有个本质的区别。

特斯拉有影子模式和硬件预埋相结合,即使用户不开放ADAS相关功能,但特斯拉的影子模式由于运行在后台,车主其实相当于就是个免费的测试员。它在硬件上由于用户不选装ADAS功能而导致的“亏损成本”,远小于车主作为一个测试员给特斯拉带来的收益。


4、技术难点

影子模式其实就是把汽车销量、车端数据、车周边环境数据和神经网络算法形成一个闭环,最终形成一种滚雪球的效应,汽车销量越高,可采集到的所需场景就越多,神经网络端接收到的数据越充分,而对于神经网络算法来说,数据就是它的养料,影子模式可以说为它提供了源源不断的养料,去帮助其不断成长与成熟。而算法越成熟,用户体验越好,这样又带来销量的提升。


这个路径看着虽然简单,但要这样打通一个流程打通,至少存在以下困难:

1. 车端相关ECU是否具备提取周边环境信息,并作出相关标记的能力,而且标记的准确度是否有保证;

2. 相关ECU供应商是否愿意开放相关标记信息给到主机厂,以及即使能开放,能开放到什么程度;

3. 架构本身是否支持,以及车端相关ECU是否具备运算类似影子模式的算力;

4. Tcam是否具备上传这些数据的能力,这个和上传的是标记信息还是实际环境信息有很大关系;

5. 即使后端得到这些数据,主机厂是否有相应团队能有效利用好这些数据去优化自身算法;

6. 如何保证在数据采集的同时符合相关地区或国家的数据安全规定;

原文完。

以下内容,来自《影子模式,是不是被“神化”了?》。

作者:苏清涛《九章智驾》

---

在谈自动驾驶的数据时,除数据规模外,我们说得最多的就是“数据质量”,而所谓“高质量的数据”往往特指极端工况数据。如何从大量的场景数据中高效地将极端工况数据筛选出来并仅将这一部分数据回传至后台,也成为衡量一个自动驾驶公司数据处理能力的最关键指标之一。

在各种已知的筛选极端工况数据的方法中,特斯拉首倡的影子模式,无疑是最有影响力的那一种。

影子模式已被视为走“渐进式”路线的公司能把数据优势充分发挥出来的关键武器之一。国内的很多车企和自动驾驶公司也都在谈影子模式。

然而,过去一年多以来,笔者在跟一些车企的自动驾驶负责人及自动驾驶公司CTO等交流后发现,看上去无比高大上的影子模式可能被“神化”了,实际操作中会遇到很多问题——

问题1

1.影子模式的定义,是不清晰的;或者说,多数人对影子模式概念的理解,是不完整的。

按常规的理解,“影子模式”的核心在于,在有人驾驶状态下,系统包括传感器仍然运行但并不参与车辆控制,只是对决策算法进行验证——系统的算法在“影子模式”下做持续模拟决策,并且把决策与驾驶员的行为进行对比,一旦两者不一致,该场景便被判定为“极端工况”,进而触发数据回传。

不过,智加科技首席科学家崔迪潇博士的说法是:影子模式属于特斯拉数据闭环的一部分,并不直接对应于数据筛选。除利用控制端的轨迹差异筛选数据外,影子模式的另一种应用场景是,验证新功能是否能正常工作,或者是否带来副作用。

车右智能联合创始人张洪滨的解释则是:这仅仅是影子模式的一部分,而且是很小的一部分。

张洪滨认为,从原理上讲,有望在短时间内商业化的自动驾驶在研系统,其背后的神经网络结构都不是端到端的系统,而是感知、预测、规划和控制四个主要模块上,分别主要利用NN网络实现。因此更具备现实意义的影子模式是可以提供更多更大范围极端工况,包含标注的和非标注的训练数据

根据特斯拉AI负责人karpathy在CVPR2021披露的信息,为了在车队中拿到尽可能多的高质量数据,特斯拉开发了大量的trigger触发器(221个),工作在shadow mode方式下:

可以看到,这里大量存在的trigger中,不是每一个都会和人类司机的行为挂钩的。比如,radar vision mismatch,如果出现毫米波雷达和摄像头的判断不匹配的情况,比如做目标监测时,毫米波雷达看到了,而摄像头没看到,影子系统就会触发数据上报;再比如,视觉下bounding box发生抖动超过一个阈值,这段数据也会上报……

这些数据都会被直接送到dojo上相关算法的相关模块,有的是标注好的、有的是需要额外标注成本的、有的可能就是压根不需要标注的…..诸如此类,会被录入training set。

可见,并非所有的影子模式都是依赖人类司机的驾驶决策来标注和触发数据回传的。不过,国内车企在谈“影子模式”的时候,仍然集中在“拿系统的决策算法跟人的驾驶行为做比较”这个层面上。

去年,在被问及“除影子模式外,你们还有哪些用来收集极端工况数据的方法”时,一位无人驾驶公司的CTO也提到了“将毫米波雷达和摄像头的监测结果做比较,如果不一致,则触发数据回传”。当然,他们并没有将此归类为“影子模式”。

崔迪潇博士也补充道:除影子模式外,还有大量的数据收集器可以工作在自动驾驶模式下(这些数据,对最终车辆控制并不产生影响)。

问题2

2.按照实现原理,影子模式不应该占用太多的计算资源,也不会增加自动驾驶处理时延,不过,目前L2量产车上搭配的感知芯片基本都是Mobileye的EyeQ 4,而封闭的Mobileye并不允许车企用他们的芯片来做影子系统,这意味着,车企需要专门为影子系统再额外配一颗芯片。

如果每辆车上都添加影子系统芯片,这对成本控制显然是不可承受之重,因此,车企大概率只会在个别车辆上做影子系统。

当然,如果主芯片是由“更开放”的英伟达提供的,可以同时做影子模式,不过,目前,仅有小鹏P7和雷克萨斯LS的量产车上装了英伟达的芯片。后续,最有机会大批量做影子模式的,应该是搭载了地平线征程3的车型。

问题3

3.若系统的驾驶行为和司机的驾驶行为不一致,当时的场景便被视为“极端工况”,但这个逻辑成立的前提是假定“司机的驾驶方法一定是对的”,进而认为“只要系统决策跟司机不一样,决策算法就是错的”,但问题在于,司机的驾驶方法就一定是对的吗?更何况,在同样的场景中,不同的司机的驾驶方法都不完全一致,如何判断谁对谁错?

因此,有必要为影子模式中引入一个“上帝视角”——如果司机的行为是对的,决策算法就应该“见贤思齐”;如果司机的行为是错的,则决策算法就应该有足够的定力确保自己“不被误导”。

去年12月,时任福瑞泰克架构总师的汪浩伟在一场题为《下一代自动驾驶的几大关键技术设计策略》的演讲中提到,当司机的驾驶行为与自动驾驶控制行为产生差异时,会产生两种情况:

A.差异过大,则判定可能是司机的驾驶过程出了问题,系统会对司机提出警报。如司机急踩油门超过一定的速率和深度,系统通过对环境的探测,对比实际应该执行的驾驶风格,判定司机可能是误把油门当成刹车踏板,此时系统会发出误踩制动警报告知司机当前操作为误操作。

B.差异较小,则说明自动驾驶算法本身还不够完善,需要从当前的实际驾驶情况学习新的自动控制策略。如在某一个工况下,系统判定需要减速,并以较大的减速度进行减速,结果,导致车辆跟随前车行驶时停止距离较大;在随后的训练中,系统需要学习司机在该工况下实际踩踏板的深度和速率,因此系统后续发送的加速度会尽量模仿司机的加减速度及速率。

崔迪潇博士还举了一个例子:有些场景,如果司机采用了滑行(无油门、无刹车)的驾驶行为(即“省油模式”),而算法却没有触发“省油模式”,则影子系统会触发感知、预测及决策各模块的数据回传。

看起来,这里已经提到了一个“上帝视角”的判断逻辑标准,用于判断司机和机器的控制谁更优,从而帮助自动驾驶算法做下一步的优化控制。但在具体实践中,如何确保这个判断标准的有效性,依然是个挑战。如果司机错了,“上帝”却没有看出来,便会触发对无效数据的回传,甚至可能引发对于驾驶行为参数的误调整。

不过,对这个问题,张洪滨的解释是:在端到端系统中,司机的大规模普遍行为会引发端到端网络模型的驾驶偏向。比如某个区域普遍被接受的速度惯例,未必和当地交管部门的限速指标直接划等号,你在这个大环境下学习到当地的驾驶习惯,不见得是坏事儿。从另一个角度说,影子模式依赖车队的规模,在车队规模足够大时,激进的驾驶行为往往被平均掉了。

问题4

4.影子模式的评价机制并不科学——它无法直接拿到决策端的数据,而是从执行端(有一套控制算法在“空跑”)的轨迹“倒推”决策环节是否出错。这就遇到一个问题,如果决策本身是OK的,但控制端有问题,而影子模式却误以为是决策端出了问题呢?

还有一种可能性,表面上是系统的决策跟司机的决策不一致,但实际上,决策算法本身是OK的,是上游的感知环节出了问题,进而误导了决策。如何将这种情况跟决策算法本身出错的情况区别开来?

实践中,很多公司用的是“追溯法”。

比如在某个场景下出现了“不该有的急刹车”,工程师需要去追溯感知环节的数据。如果感知环节没有看见所谓的“障碍物”,只是预测系统预测到旁边某个人要cut in了,然后决定刹车,结果,那个人实际上并没有cut in,这就是预测算法的问题;若急刹车的原因是感知环节判定“前方有障碍物”,那就是感知出了问题。

考虑到现阶段自动驾驶的感知难题仍未彻底解决,感知失灵误导预测和决策的问题时有发生,所以,当前用影子模式收集到的“预测/决策失灵”场景数据,颗粒度特别粗,有很多其实都是无效数据。

然而,这些无效数据,已经是影子模式经过“精选”后认为“有价值”的,因而不会保留在车端,而是需要回传。回传这些无效数据,既浪费流量,又浪费存储空间。

此外,诚然可以通过追溯把因感知失灵误导决策的无效数据过滤掉,但这些工作都需要由人工来完成,费时费力,成本极高。

汪浩伟认为,对于影子模式数据的处理,如果要一个一个去人工处理,对资源的消耗太大。“一种设想是引入深度学习中的增强学习方法,让系统自发的去学习,但这就意味我们要全盘接受一个通过‘训练’而完善的决策算法,这一点目前还无法做到的;所以,现在还是基于测量统计学的方法 论,来处理采集得到的数据。”

问题5

5.某些场景下,感知模块已经出错了,但从控制端来看,系统开跟人开没什么差异,这种场景的数据便无法通过影子模式获取。

原因是,感知算法分检测模块和后处理算法模块,若检测模块出了问题,但后处理算法模块还是能够把检测模块漏检或者误监的痕迹给“抹平”,使跟踪出的结果是平滑的、准确的,那决策和控制就不会受影响。

为了把这种场景的数据筛选出来,一些公司的做法是,观察检测端到跟踪端的数据之间有没有很大的跳变,如果有,就触发数据回传。但这个工作量会很大。

只有等感知的问题基本都解决了,自动驾驶能进入“拼决策算法”的阶段后,影子模式的价值才能真正凸显出来。

问题6

6.数据都回传回来了,你有没有能力使用?数据发挥价值的最主要途径就是仿真,但用真实道路做仿真的难度很大,目前只有极个别公司具备这些能力,大部分公司只能用算法建模的数据做仿真。

如果不具备用真实数据做仿真的能力,则无论影子模式收集了多少数据,其价值也无法充分发挥出来。也正因为如此,有一些原先声称在做影子模式的车企后来改口说,当前,收集回来的数据“尚未被激活”。因此,接下来,这些走渐进式路线的公司需要加大对仿真技术的投入。

问题7

7.哪怕仿真能力补齐了,走渐进式路线的公司,也未必就能凭借做“影子模式”积累的数据打败直接做L4的公司。据多位业内资深专家分析,能否将L2的车辆(通常传感器配置比较低)上积累的数据复用做L4的算法训练,会是走渐进式路线的公司们面对的最大挑战之一。

针对“数据打通”问题,很多车企的策略是在L2的量产车上做“硬件预埋”,但传感器正处于快速迭代的过程中,目前“预埋”的硬件能否“一次到位”,还是个很大的悬念。

(这个观点,我们在《Robotaxi公司做L2前装量产,机遇与挑战并存》一文中有更详细的解读。)

本文在修改的过程中得到了智加科技首席科学家崔迪潇、车右智能联合创始人张洪滨、一汽南京高兴地图负责人陈雪娟、中科创达汪浩伟等诸多朋友的支持,在此表述感谢


原文完。

本文也完。

瑞斯拜。

来源:车路慢慢
汽车芯片自动驾驶控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-22
最近编辑:1年前
李慢慢
硕士 自动驾驶仿真工程师一枚
获赞 11粉丝 69文章 122课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈