端到端自动驾驶到底是什么?

发布时间:2023-09-21  

01

端到端自动驾驶到底是什么?

经典的自动驾驶系统有着相对统一的系统架构:

探测(detection)

跟踪(tracking)

静态环境建图(mapping)

高精地图定位

目标物轨迹预测

本车轨迹规划

运动控制

几乎所有的自动驾驶系统都离不开这些子系统,在常规的技术开发中,这些模块分别由不同的团队分担,各自负责自己模块的结果输出。

这样的好处是,每一个子系统都能够有足够好的可解释性,在开发时能够独立优化。

与此同时,为了保证整体自动驾驶的性能,每一个模块都需要保证给出稳定的表现。

所以事实上在一个 Bug 出现时,需要巨大的 Triage 团队对 Bug 进行分析,然后将具体的 Bug 来源分配给责任团队。

据说在 Waymo,甚至有超过 200 人的团队,对 Bug 进行分析和责任分配。

那找 Bug 来源和 Bug 优化的任务就不能自动化吗?

当然可以, 如果我们能将各个模块用可微分的方式连接起来。类似于传统深度学习,出现误差时,深度自动回传进行权重更新。

某种程度上,这就是端到端自动驾驶的概念。


02

理想化的端到端自动驾驶

事实上,从自动驾驶开始发展,就一直伴随一个看似幼稚但是非常复杂的疑问:

为什么我们不能开发一个系统,输入时是传感器信号(摄像头,激光雷达),输出是控制指令(转向,刹车,加速)?

这个问题,实际上,业界也一直有人在探讨,甚至于国内 2018 年还有一家公司给出了这样计划:

其方案

输入为视觉信号,输出为 Steering,Brake,Accelerate,而真值为真实人类司机的上述动作。

输入输出都有了,真值数据也有了,接下来就是塞进看不太懂的胶囊神经网络里进行全局优化训练,最后就能给出结果。

这个方案好在没有吸引到什么大手笔投资,很快就销声匿迹了。

不过这两天,大模型出来之后,我甚至也看到了一模一样的计划,只不过网络换成了大模型。


03

为什么完全端到端目前不可行?

神经网络的黑盒效应让完全端到端自动驾驶无法找到正确优化方向。

本质上又回到了最初的问题,模块解耦让多模块单独优化成为可能,让每一个模块拥有独立的可解释性。

而如果变成一个巨大的神经网络模块,这种基于统计学的神经网络是无法保证在正确的道路上持续优化的,因为无法保证对未见过的物体的鲁棒性,也无法对某一个具体的 Bug 进行定向改进。

可能会有人会问,那语言大模型表现可以迁移吗?

泛化性的迁移是可行的, 根据 Google 的研究结果,他们基于语言大模型的抓取机器人,已经可以做到对没有见过的物体有直接的泛化能力,例如他们要求从未见过乌龟的机器人抓取一只乌龟,任务能够被很好地完成。

因为很好地使用了大语言模型的泛化能力,但是这件事情在自动驾驶上,尚未得到验证。

但是如何对一个具体的 Bug 进行改进?

假设出现了一次误刹,经典的自动驾驶技术栈会分析:

刹车指令的来源,是前方动态障碍物,还是静态物体?

或者是规划模块的速度规划出现问题?

或者是控制模块在输出正确的情况下,控制指令出现了问题?

根据这些然后再进行定向优化。

但是,完全端到端,就失去了这种定向优化的能力,甚至都无法知道,具体应该提供哪种数据进行定向优化。

而理想在上周提到的红绿灯意图网络(TIN)也同样是一个视觉输入到转向意图的整体设计创新,令人印象深刻。

但是对于具体如何应用到量产中我其实并不乐观,一个这样的网络硬件部署难度和实际效用的收益比尚且不论,而优化过程是一个更加大的命题。

如果答案是加上所有的量产数据,显然不能说服工程界,期待之后有更加深入的介绍。

当然,Elon Musk 在上个月的 Twitter 中,画了一个巨大的视觉到控制指令的饼,但是我也绝不认为他们正在研究的模型内部是一个完全黑盒的网络。


04

工程派的端到端自动驾驶 UniAD

整体自动优化,可解释性我统统都要

为了解决整体优化问题,UniAD 使用了一个巨大的 Transformer 网络,但是为了保证每个模块有足够的可解释性并能够被独立优化,这个网络被分割成多个共享 BEV 特征的 Transformer 网络。

首次将跟踪、建图、轨迹预测、占据栅格预测统一到一起,并且使用不依赖高精地图的 Planner 作为一个最终的目标输出,同时使用 Plan 结果作为整体训练的 loss 来源。

也就是说,UniAD 并没有完全抛弃原有的自动驾驶技术栈,而是改变了子模块连接的方式,传统可能是靠规则和显式连接,例如先从检测网络拿到目标物体的位置和速度,再喂给下一个模块。

这种规则和显式连接的方式无法完成梯度传播(神经网络的自我迭代方式),只能靠人工优化。

但是 UniAD 共享了 BEV 特征,将子模块用神经网络的方式连接起来。这样就保证了整体网络的一致性,能够完成梯度的前向传播,也就有了自动优化的能力。

整体流程

c3ac737c-14f0-11ee-962d-dac502259ad0.jpg

从流程上看,首先将环视的图片以 Transformer 映射到 BEV 空间供后续模块使用。

TrackFormer 根据 BEV 信息进行推理,融合了检测和跟踪任务,输出为目标检测和跟踪的信息;

MapFormer 根据 BEV 信息给出实时地图构建结果;

之后 Motion Former 将 TrackerFormer 的结果和 MapFormer 的结果和 BEV 结果进行融合,最后得出周围物体整体轨迹和预测。

这些信息会作为 OccFormer 的输入,再次与 BEV 特征融合作为占据栅格网络预测的输入。Planner 的目标是防止本车与占据栅格碰撞,作为整个大模块的最终输出。

前景

面对一个巨大的,并且分模块的任务,训练过程一定是非常不稳定的。

文章中提到,根据他们的经验,他们会先训练 6 次 Percecption(Track 和 Map )部分,再训练 20 次整体,最后得到比较好的结果。

这种训练方式也是得益于整体设计的相对解耦,感知模块可以被单独训练。能够在获得一个相对已经稳定的感知结果的基础上,进行后续模块的训练,同时也对感知模块进行优化。

这种设计为工业界使用提供了一定的便利,多个模块之间的输出可以被单独 debug,也能被统一优化。

而在工业界相对比较多的本车 Plan 相关数据也为整个网络的训练提供了保证。

UniAD 的输出到了Planning 就截止了,确实因为后面控制的内容就不属于计算机视觉领域了,并且其实控制模块用 Learning 的方式其实并没有的得到承认 期待一些公司的部署结果。


写在最后

关于自动驾驶的未来,各个模块之间的界限越来越模糊,与此同时,配套的开发工具链也需要从模块解耦转换到模块融合。

有意思的是,恰逢其时,来自 Waabi 创始人,著名研究学者 Raquel 的一篇文章 CVPR Highlight UniSim 也非常值得一读。

使用 NeRF 相关技术,统一了场景编辑、Camera 仿真、Lidar 仿真、交通仿真多个任务。

这篇文章为高效端到端的仿真训练提供了可能性。

c3c038a8-14f0-11ee-962d-dac502259ad0.jpg

虽然从算法创新的角度看,太阳底下没有什么新鲜事,UniAD 是 Tranformer 的工程化创新,UniSim 是 NeRF 的工程化创新。

但是自动驾驶本身就是一个工程问题,工程化和快速迭代的能力会越来越重要。

学术界已经有了非常明显的转变,国内工业界某些公司却似乎还在每天宣传自家算法的巨大创新。

甚至在这次 Best Paper 发布之后, 知乎上很多人诟病 UniAD 算法不够创新。

可是自动驾驶作为一个巨大的工程问题,为了创新而创新是无法带来真正量产可用的系统的。

这种反差倒也是一件非常有意思的事情。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>