arXiv:https://arxiv.org/abs/2306.16927
github:https://github.com/OpenDriveLab/End-to-end-Autonomous-Driving?tab=readme-ov-file
这篇文章我认为过于详细了,而且和我们现在研究的问题有点出入,有点抓不住重点,参考价值不是特别大。有用的我进行了一下总结。
基准中说明了开环和闭环的区别,以及常用的基准。
挑战中提到的问题我们日后也可能注意到。
如果要将人机共治和端到端结合的话,可以引入到模块化规划去,将共享想象成一个模块。
摘要
本文综述了端到端自动驾驶系统的最新发展,基于对270篇相关文献的分析,涵盖了端到端方法的动机、关键技术、挑战和未来发展趋势。重点讨论了多模态感知、可解释性、因果混淆、鲁棒性及世界模型等挑战,同时深入探讨了基础模型和视觉预训练的最新进展。我们的研究为自动驾驶领域提供了系统性的回顾和未来方向的指导。
1 介绍
传统与端到端方法的比较
传统的自动驾驶方法通过将感知、决策、控制等模块分开设计,使得每个模块独立优化。然而,这种方法在复杂环境中面临诸多局限,模块间目标不一致和误差传播问题突出。因此,端到端方法应运而生,它通过将整个系统作为一个统一的可微分模型,允许直接从传感器数据到控制指令的端到端学习。
端到端系统的优势在于通过一个整体框架优化各模块之间的协同作用,同时通过数据驱动方法持续提升系统的自适应能力和性能。
方法分类
端到端自动驾驶方法主要分为模仿学习和强化学习两种。
1.1 动机
在传统的模块化系统中,不同模块(如感知、规划)目标不同,导致系统难以整体优化,并且误差往往通过各模块传递。相比之下,端到端方法能够将这些模块整合为一个单一模型,通过整体优化减轻误差传递,提高计算效率并改善系统表现。
相比于传统的方法,端到端自动驾驶系统有多个有点:1. 将各个模块结合到一个模型 2. 整个系统可以同时优化 3. 共享backbones加快了计算 4. 数据驱动可以使系统更好的改进。
注意:端到端系统并不一定是一个只有黑盒,也可以有中间表示,就像UniAD。
1.2 发展路线
- 端到端的历史追溯到1988年的ALVINN,输入是相机和激光测距仪,输出是一个简单神经网络产生的转向。
- 然后是NVIDIA设计的一个CNN端到端的原型。
- 在模仿学习和强化学习中,由于深度神经网络,端到端再次发展了。
- LBC提到的策略蒸馏范式和相关工作显著提升了模仿专家的闭环表现。
2021年左右出现了显著的转折点。Transfuser和很多变体利用transformer等先进算法来捕捉全局背景和代表性特征。另外,为了提高自主系统的可解释性和安全性,一些方法设计了各种辅助模块,以更好地监督学习过程或利用注意力可视化。
最近的工作优先考虑生成安全关键数据,预先训练基础模型或骨干,并倡导模块化的端到端规划理念。
同时,引入了新的具有挑战性的CARLA v2和nuPlan基准,以促进该领域的研究。
1.3 综述与前人研究比较
与现有综述相比,本研究更全面地涵盖了端到端自动驾驶的最新进展,分析了目前的挑战并提出了相应的解决方案。此外,本综述还特别强调了新基准和方法的应用,如NuPlan和CARLA v2基准测试。
1.4 本文贡献
本文的贡献包括:
- 提供端到端自动驾驶系统的全面分析,强调系统整体设计和优化的重要性。
- 深入探讨当前端到端方法面临的关键挑战,涵盖普遍性、因果混淆、鲁棒性等问题。
- 强调基础模型和大规模数据引擎在未来发展中的重要性,提出了如何利用大数据和高质量数据推动系统发展。
2 方法
2.1 模仿学习
模仿学习通过模拟专家行为来训练代理。其主要方法包括行为克隆和逆最优控制。
行为克隆
行为克隆是一种通过监督学习训练代理模仿专家行为的方法。代理通过最小化规划误差来逐步学习专家的策略。然而,这种方法存在协变量偏移问题,即训练数据分布与真实环境中分布的差异,此外,因果混淆也是模仿学习中的常见挑战。
逆最优控制
逆最优控制通过学习专家的奖励函数来模仿其决策过程。这种方法通常需要从专家示例中推断出奖励模型,并通过最小化成本函数来选择最优路径。
2.2 强化学习
强化学习(RL)在自动驾驶中的应用经历了从简单模型到复杂模型的演变。尽管RL方法能够通过奖励机制自动优化策略,但由于训练数据需求大、奖励设计复杂等问题,RL仍面临许多挑战。为提高训练效率,通常需要结合模仿学习或监督学习。
3 基准
为了确保自动驾驶系统的安全性,需要对其进行全面的评估,使用合适的数据集、模拟器、度量标准和硬件。这个部分介绍了三种端到端自动驾驶系统的基准测试方法:(1)真实世界评估,(2)在线或闭环模拟评估,和(3)离线或开环评估。我们主要关注可扩展和系统化的在线模拟设置,并简要总结了真实世界和离线评估的情况。
3.1 真实世界评估
早期的自动驾驶基准测试依赖于真实世界评估。DARPA组织的系列比赛推进了自动驾驶技术的发展,例如首次比赛挑战通过240公里的莫哈维沙漠路线,无人成功完成;最终的DARPA城市挑战赛要求车辆遵守交通规则,避开障碍物行驶。此类赛事促进了LiDAR等关键技术的发展。密歇根大学的MCity提供了一个大型的受控环境,供学术和工业界进行测试。
3.2 在线/闭环模拟
这里讲了如何创建一个模拟器
由于真实世界测试成本高且具有风险,模拟成为一个有效的替代方案。模拟器可以快速原型化、快速测试和低成本访问多种场景。闭环评估通过创建一个高度逼真的模拟环境进行,评估系统的表现。在模拟中,系统需要安全地穿越交通并前进到目标位置。创建这类模拟环境需要解决四个主要子任务:参数初始化、交通仿真、传感器仿真和车辆动力学仿真。
- 参数初始化:
- 模拟器提供了对环境的高度控制,初始参数可以通过程序生成或数据驱动方法设置。程序生成方法利用算法随机化生成不同的道路、交通模式等,而数据驱动方法通过使用现实世界的驾驶日志来初始化环境参数,从而更贴近现实。
- 交通仿真:
- 交通仿真通过生成和移动虚拟实体(如车辆和行人)来模拟交通环境。常见方法包括基于规则的交通模型,如智能驾驶员模型(IDM),和数据驱动的方法,通过真实世界的数据捕捉更复杂的交通行为。
- 传感器仿真:
- 传感器仿真是评估自动驾驶系统的关键,涉及生成模拟的原始传感器数据(如摄像头图像和LiDAR扫描)。图形渲染方法通过3D模型生成传感器数据,而数据驱动的方法则利用真实世界的传感器数据来提升仿真真实感。
- 车辆动力学仿真:
- 车辆动力学仿真确保模拟的车辆符合物理运动规律。现有的仿真器通常采用简化的车辆模型,而更精确的物理建模对于将算法从模拟环境顺利转移到真实世界至关重要。
- CARLA采用多体系统方法,将车辆表示为四个车轮上的簧载质量的集合。
3.2.5 基准测试
在自动驾驶系统的开发中,基准测试是评估系统表现和验证其安全性的重要手段。通过基准测试,研究人员能够验证自动驾驶系统在不同场景中的表现,确保其在实际应用中具备所需的鲁棒性和安全性。以下是端到端自动驾驶系统的主要基准测试方法和现有的测试环境。
1. CARLA基准测试
- 概述:CARLA(Car Learning to Act)是一个开源的自动驾驶模拟器,广泛用于端到端自动驾驶系统的训练和评估。2019年,CARLA基准测试发布,并取得了接近完美的成绩。CARLA提供了多种场景和条件,用于测试自动驾驶系统的泛化能力,包括各种天气、时间变化、复杂的交通情况等。
- 具体测试:CARLA的测试环境包含多个测试任务,如避障、跟车、停车等,并提供了与实际驾驶环境相似的挑战。CARLA还允许用户进行模拟驾驶,调整不同的控制参数(如速度、刹车等)来评估系统的反应。
2. NoCrash基准
- 概述:NoCrash基准专注于训练自动驾驶系统在特定条件下的安全驾驶能力。该基准要求系统在一个特定的CARLA城镇中进行训练,并在另一个城镇和不同天气条件下进行测试,以评估系统的泛化能力。
- 特点:NoCrash的核心挑战是测试系统在不同场景和环境下的安全性,特别是在遇到复杂交通情况时是否能够避免碰撞。系统的任务是通过训练使其能够应对各种交通环境,避免与其他车辆或障碍物发生碰撞。
3. Town05基准
- 概述:Town05基准扩展了NoCrash的概念,通过训练模型在所有可用的城镇进行学习,而测试则完全在Town05进行。此测试旨在评估自动驾驶系统在广泛的交通环境中的表现,并确保其具备跨城镇的适应能力。
- 具体测试:在Town05基准中,测试过程更加全面,要求系统能够在不同城镇中无缝迁移,并保证系统能适应新的环境和复杂的交通状况。通过这种方式,系统不仅要在某个特定城镇表现良好,还要在未见过的环境中有效应对。
4. LAV基准
- 概述:LAV基准与Town05类似,区别在于它在训练时使用所有城镇,但测试时将Town02和Town05保留作为测试集。LAV基准强调测试系统在多种城市环境中的表现,进一步提高了系统的泛化能力。
- 测试目标:LAV基准的目的是通过在多城镇上训练,使系统具备更强的环境适应性,确保其能应对更多变的交通状况,特别是在面对未见过的测试城镇时。
5. Roach基准
- 概述:Roach基准采用了与前述基准略有不同的测试设置。Roach使用了3个测试城镇,尽管这些城镇在训练时已经见过,但没有包括安全关键的场景(如Town05和LAV中的危险情况)。
- 特点:Roach的设置侧重于确保系统能在已知城镇中安全行驶,并在这些场景中表现出高效的决策能力。该测试的挑战在于如何在已知的城镇环境中做出快速反应并避免潜在的危险。
6. Longest6基准
- 概述:Longest6基准使用6个不同的测试城镇进行系统测试。相比于其他基准,Longest6提供了更为复杂和多变的测试环境,要求系统在多个测试城镇中执行任务并应对各种交通场景。
- 具体测试:Longest6的最大挑战在于它结合了长距离行驶和多种城市环境的要求,测试系统是否能在复杂和多样化的道路条件下持续稳定运行。
7. Leaderboard v1 和 v2
- 概述:Leaderboard v1 和 v2 是在线评测平台,用于评估自动驾驶系统的表现。测试路线是保密的,以确保各系统之间的公平性。Leaderboard v2特别具有挑战性,因为它包含了更长的测试路线(超过8公里),并且设计了多样的交通场景。
- Leaderboard v2的特点:由于测试路线较长且交通场景更为复杂,Leaderboard v2提供了更严格的评估标准,能够测试系统在复杂环境下的适应性和鲁棒性。该平台的挑战在于,长时间的行驶和复杂场景的处理要求系统具有高度的可靠性和决策能力。
8. nuPlan模拟器与基准
- 概述:nuPlan模拟器由NAVSIM项目提供,专为端到端自动驾驶系统的评估设计。它提供了两个基准:Val14和Leaderboard。Val14基准使用nuPlan的验证数据集,而Leaderboard则是一个提交平台,用于评估系统在特定环境下的表现。但是现在不对外提供榜单了。
- 测试特点:nuPlan的测试基准结合了模拟与真实数据,旨在评估系统在不同驾驶情境下的表现。特别是通过数据驱动的参数初始化,nuPlan能够提供更精准的测试结果,帮助研究人员评估系统的泛化能力。
3.3 离线/开环评估
离线评估主要通过与预录制的专家驾驶行为进行对比,评估系统的表现。虽然这种方法简单有效,但它无法完全模拟实时驾驶行为,特别是在面对变化的环境和突发情况时。
这种方法需要全面的轨迹数据集。流行的数据集包括nuScenes、Argoverse、Waymo和nuPlan。
4 挑战
4.1 感知与输入模式
端到端自动驾驶系统中,传感器数据的融合是一个关键挑战。由于不同传感器的视角、数据分布和成本差异,如何有效设计传感器布局并融合多种数据是提高系统性能的关键。目前,传感器数据融合主要分为早期、中期和晚期融合三种方式。
我们的转角融合算是晚期融合。本文认为这种方式效率有点低,是否可以优化成中期融合?
4.2 对视觉抽象的依赖
端到端系统依赖于对环境的抽象表示。这要求设计高效的中间表示层,将高维感知数据压缩为可供决策使用的低维特征。为了提高系统效率,研究者提出了多种表示方法,如基于BEV(鸟瞰图)的表示方法和基于网格的3D表示方法。
4.3 基于模型的RL世界建模
基于模型的强化学习(MBRL)方法通过引入显式的世界模型来提高样本效率。在自动驾驶中,MBRL方法可以通过与学习到的环境模型进行交互,而不是依赖于实际的模拟器或真实世界环境,从而加速学习过程。
这就是Think2Drive的设计初衷。Think2Drive:Efficient Reinforcement Learning by Thinking with Latent World Model for Autonomous Dr
4.4 多任务学习
多任务学习通过共享表示来优化多个相关任务,能够提高模型的泛化能力。然而,如何选择合适的辅助任务并合理加权损失函数仍是一个挑战。
这里和师姐的论文还有点关系Imitation with Spatial-Temporal Heatmap: 2nd Place Solution for NuPlan Challenge
4.5 策略蒸馏
模仿学习,特别是行为克隆(BC),通过让代理模仿专家行为来训练系统,通常采用“教师-学生”范式。然而,这一方法面临两个主要问题:
- 专家的不完美:例如,CARLA提供的手工设计的自动驾驶专家虽然能访问周围环境的真实状态,但并不是完美的驾驶员。
- 学生学习的困难:学生只能通过传感器输入和专家的输出进行训练,同时需要从头开始提取特征并学习决策策略。
为了解决这些问题,一些方法提出分阶段学习:首先训练一个强大的教师网络,然后将学到的策略转移到学生网络。例如,Chen等人提出使用“特权代理”学习完整的环境状态,再让学生模仿这个代理。
此外,还有研究通过在特征层次进行蒸馏来增强学习效果。例如,FM-Net使用分割和光流模型指导学生,SAM和CaT通过特征对齐或损失函数进一步优化学生的学习。Roach通过强化学习训练更强大的教师,消除BC的限制,TCP则通过强化学习专家取得了CARLA基准的新成绩。
尽管有许多研究致力于优化专家和蒸馏过程,但教师-学生范式仍然存在效率低下的问题。例如,特权代理能够访问交通灯的真实状态,但这些信息很难有效传递给学生,导致学生代理在性能上与专家有较大差距。未来,可以借鉴机器学习中的其他蒸馏方法,进一步缩小这种差距。
4.6 可解释性
可解释性在自动驾驶中至关重要,帮助工程师调试、提高系统透明度并增强公众信任。然而,端到端模型的“黑盒”特性使其可解释性更具挑战性。以下是几种提升端到端驾驶模型可解释性的方法:
- 注意力机制:
- 通过为输入区域分配不同权重,注意力机制帮助揭示模型的关注点。Transformer的注意力层融合多传感器数据,突出关键区域。尽管有助于理解模型决策,但其准确性和实用性仍有限。
- 可解释任务:
- 通过将潜在特征表示解码为其他有意义的信息(如语义分割、深度估计等),增加可解释性。尽管提供了可解释的信息,但这些任务通常只作为辅助任务,未直接影响最终决策。
- 规则集成与成本学习:
- 基于规则的成本学习方法结合感知和预测结果,利用预定义规则(如安全性、交通规则等)评分路径,从而提高决策的透明度。
- 语言可解释性:
- 自然语言可以帮助人类理解系统决策。通过将驾驶视频与描述性文本结合,或使用大型语言模型(LLMs)提供决策解释,增强系统可理解性。
- 不确定性建模:
- 通过量化模型输出的不确定性(如数据不确定性和模型不确定性),可以识别不确定的情境并作出更安全的决策。
尽管有多种方法已被提出以增强可解释性,但仍面临挑战。未来的研究需探索更有效的方式来提升系统的透明度和可信度。
4.7 安全保障
端到端方法的学习性质使得系统难以提供严格的安全保证。为增强系统的安全性,未来可能需要将特定的安全约束纳入到优化框架中。
4.8 因果混淆
驾驶任务具有时间上的平滑性,即过去的运动通常能可靠地预测下一个动作。然而,使用多个帧训练的模型可能会过于依赖这种时间上的短期规律,导致在实际应用中出现灾难性失败,这种问题被称为因果混淆。
使用多个帧训练的模型可能会错误地将某些观察到的特征(比如车辆的速度)与特定行为(比如刹车)强关联,从而忽视了这些行为背后的真实因果关系。红灯停车为例,当车辆等待红灯时,车速为零,且车辆采取刹车动作。这种速度和刹车动作之间的关联性非常强,因为车速为零时,刹车几乎是唯一的合理行为。然而,模型可能会学到一个错误的规律:当车速为零时,车主动作总是刹车。这种关联在红灯变绿时会被打破——此时车辆可能需要重新加速,而不是继续刹车
为了解决因果混淆问题,研究者提出了几种方法:
- 去除虚假时间相关性:例如,通过训练一个对抗模型,消除中间层中的过去信息,从而减少因果混淆。
- 关键帧加权:通过加权训练过程中决策发生变化的关键帧,避免仅仅通过过去信息进行预测。
- 使用单帧信息:例如,ChauffeurNet通过使用过去的自车运动作为中间表示,并在训练时以50%的概率丢弃这些信息,来应对因果混淆。
4.9 鲁棒性
4.9.1 长尾分布
长尾分布问题主要体现在数据集的不平衡上,大多数数据属于少数类别,而安全关键场景则非常稀少且多样,难以复制。为解决这一问题,常用的方法包括数据处理(如过采样、欠采样、数据增强)和加权方法。在端到端自动驾驶中,常见的驾驶场景大多重复且单调,而有趣且关键的安全场景发生较少,且难以在现实中重现。为应对这一问题,有些研究通过手工设计场景、数据驱动方法或对抗攻击生成更多的多样化数据。
尽管模拟环境中的对抗场景生成有一定进展,但生成现实世界中安全关键场景的能力仍然是一个挑战。将真实世界数据用于关键场景挖掘并适应模拟环境,也是一个重要的研究方向。
4.9.2 协变量偏移
协变量偏移指的是专家策略和训练代理策略之间的状态分布差异,这会导致训练代理在实际测试中遭遇错误。常见的解决方法是DAgger(数据集聚合),它通过反复训练和查询专家,增加数据集的多样性,减少这种偏移。然而,DAgger需要实时访问专家,这在实际部署中成本较高。一些改进方法,如SafeDAgger和MetaDAgger,通过减少专家查询频率或使用元学习来增强方法的效率。
4.9.3 域适应
域适应是指源任务和目标任务相同,但领域不同的情况。在自动驾驶中,常见的域适应问题包括从模拟到现实(sim-to-real)、地理位置差异、天气变化、白天和夜晚的光照变化,以及不同传感器间的差异。解决这些问题的技术主要集中在通过图像翻译或生成对抗网络(GAN)学习域不变特征,或者通过域随机化方法来缩小模拟和现实之间的差距。
此外,随着LiDAR等传感器的使用,如何针对不同传感器进行特定的适应技术开发,也是一个重要研究方向。此外,交通代理在模拟和现实之间的行为差异也需要关注,利用现实世界数据增强模拟环境是一个有前景的方向。
当模型进一步复杂的时候,域适应是不可避免的问题。
5 未来趋势
5.1 零样本与少样本学习
自动驾驶模型最终会遇到训练数据之外的现实世界场景,这时如何将模型适应到没有或只有少量标注数据的目标域就成了一个重要问题。将零样本和少样本学习方法应用到端到端自动驾驶任务中,是解决这一问题的关键。
5.2 模块化端到端规划
模块化端到端规划框架通过优化多个模块,同时优先考虑最终的规划任务。这种方法可以提高模型的可解释性,并且在一些行业解决方案中已经得到应用(例如特斯拉、Wayve等)。在设计这些可微分的感知模块时,需要解决一些问题,例如选择合适的损失函数、是否使用3D边界框进行物体检测、以及如何在模块数据有限的情况下进行训练等。
UniAD是一个模块化的端到端规划,所以它得到了CVPR 2023 best paper。
5.3 数据引擎
大规模和高质量的数据对自动驾驶至关重要。建立一个自动标注数据的数据引擎,可以大大促进数据和模型的迭代发展。这个数据引擎应该能自动化标注高质量的感知标签,并支持挖掘复杂场景、生成和编辑数据,以促进数据驱动的评估,推动模型的多样性和泛化能力。
Think2Drive:Efficient Reinforcement Learning by Thinking with Latent World Model for Autonomous Dr这篇论文就是一个数据引擎。
5.4 基础模型
最近,语言和视觉基础模型的进展证明了大规模数据和模型能力在高层次推理任务中的巨大潜力。通过微调、提示学习等方法,这些基础模型可以应用到端到端自动驾驶领域。然而,直接使用大规模语言模型(LLM)进行驾驶任务可能面临挑战,因为自动驾驶要求输出稳定和准确,而语言模型的生成输出倾向于像人类一样不拘泥于准确性。一个可行的解决方案是训练一个“基础”驾驶模型,该模型能够预测环境的合理未来,并优化模型以执行规划等下游任务。
最近的SOTA算法用的是大视觉语言模型去增强端到端驾驶中的安全性,而不是直接进行控制。
6 总结
端到端自动驾驶系统面临许多挑战,包括感知、决策、控制等方面的技术难题。本文全面回顾了该领域的最新发展,分析了主要挑战,并提出了未来的研究方向。随着基础模型、数据引擎和模块化设计的不断发展,端到端自动驾驶系统有望实现更加安全、智能和可靠的未来。