社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

2024年最大的坑?基于深度学习的端到端自动驾驶最新综述

自动驾驶之心 • 1 年前 • 298 次点击  

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取
>>点击进入→自动驾驶之心【端到端自动驾驶】技术交流群

论文作者 | 汽车人

编辑 | 自动驾驶之心

写在前面

最新的端到端自动驾驶综述刚刚出炉,话说论文一作卡内基梅隆大学的Apoorv Singh今年产出了七篇综述,都和自动驾驶相关,推荐给大家。就一个字:牛!

个人主页:https://www.apoorvsingh.com/research-papers

  1. End-to-end Autonomous Driving using Deep Learning: A Systematic Review
  2. A Review on Objective-Driven Artificial Intelligence
  3. Training Strategies for Vision Transformers for Object Detection
  4. Trajectory-Prediction with Vision: A Survey
  5. Transformer-Based Sensor Fusion for Autonomous Driving: A Survey
  6. Surround-View Vision-based 3D Detection for Autonomous Driving: A Survey
  7. Vision-RADAR fusion for Robotics BEV Detections: A Survey

摘要

端到端自动驾驶是一种完全可微分的机器学习系统,它将原始传感器输入数据和其他元数据作为先验信息,并直接输出自车的控制信号或规划轨迹。本文试图系统地回顾最近所有基于机器学习的技术来实现这一端到端任务,包括但不限于目标检测、语义场景理解、目标跟踪、轨迹预测、轨迹规划、车辆控制、社会行为和通信。本文重点研究了最近的完全可微端到端强化学习和基于深度学习的技术。我们的论文还通过对重要方法进行分组并展示其研究趋势,建立了它们的分类法。最后,本次调查突出了悬而未决的挑战,并指出了未来可能的方向,以启发对该主题的进一步研究。

总结来说,本文的主要贡献如下:

  • 我们为理解端到端自动驾驶方法提供全面的背景知识。首先总结了有史以来第一种应用于自动驾驶任务的技术。此外总结了模块化自动驾驶问题解决方案的竞争替代方法。还涵盖了用于端到端自动驾驶任务的评估和基准。

  • 接下来,我们将端到端方法分为模仿学习、强化学习、带辅助任务的端到端自主驾驶和师生范式四个部分,对其进行了广泛的介绍。此外,在深入讨论细节之前,我们用数学建模为读者介绍了一段理论知识。

  • 我们讨论了所涵盖的所有方法和方法的关键挑战,以启发读者未来的研究思路。此外,我们还讨论了一些开放式研究问题,我们预计这些问题将是端到端自动驾驶研究的下一步。

自动驾驶的模块化方法

传统的模块化自动驾驶软件是一个复杂的系统,包括各种子模块,每个子模块负责驾驶过程的特定方面。这些子模块协同工作,使车辆能够在无需人工干预的情况下导航、感知环境并做出决策。自动驾驶软件的一些关键子模块包括:

  • 地图绘制和高精地图绘制:是指创建和维护道路和周围环境的详细、高精地图。与人类驾驶员使用的传统导航地图不同,自动驾驶地图要详细得多,并包含对自动驾驶系统的特定需求至关重要的信息。它们包括有关车道边界、道路曲率、交通标志、交通信号、车道变更规则和道路坡度的信息。高精地图以厘米级的精度创建,以确保自动驾驶汽车能够在下游定位堆栈中的环境中准确定位。

  • 感知:是指自动驾驶汽车理解和解释周围环境的能力。它包括传感器融合、车辆和行人检测、像素级分割以及红绿灯/其他路标检测等任务。主要是基于多个相机、激光雷达和雷达的传感器的组合。

  • 定位:指的是自动驾驶汽车在其环境中准确确定其位置和方向(位姿)的能力。常见使用的关键组件是全球定位系统(GPS)、惯性测量单元(IMU)和通过地图匹配的感知传感器,其中包括将传感器数据与高清地图进行比较,以完善车辆的位置估计。

  • 目标跟踪:指的是自动驾驶汽车监测物体在其环境中过去运动的能力。这对于在下游任务中进行预测至关重要,过去的状态对下游任务至关重要。跟踪对于被遮挡的道路目标至关重要,因为即使在感知中看不到目标,我们仍然可以保持对该目标的期望。跟踪涉及感知输出的数据关联和运动学预测。

  • 行为规划(轨迹预测):指的是自动驾驶车辆预测各种道路使用者(如行人、骑自行车的人、其他汽车甚至动物)未来行动和移动的能力。

  • 路径规划:它指的是自动驾驶车辆在避开障碍物、遵守交通规则并考虑环境动态的同时,为自动驾驶车辆从当前位置导航到所需目的地确定安全和最佳路径的能力。基于当前车辆位置、期望目的地以及地图和传感器信息,路径规划算法生成初步路径,该初步路径将车辆连接到目标,同时避开障碍物。成本函数考虑了距离、舒适性、安全性、能源效率和碰撞风险因素。该算法搜索一条将此成本最小化的路径。模块化管道中最常见的规划方法包括使用复杂的基于规则的设计,这在解决驾驶时发生的许多情况时往往无效。

  • 决策:指的是自动驾驶车辆在各种交通场景中选择适当行动和行为的能力,同时优先考虑安全、效率和遵守交通规则。它与路径规划密切合作,涉及风险评估、情景分析、行为预测、交通规则和条例、伦理道德考虑等。

  • 控制:它指的是将高层决策和计划轨迹转化为车辆执行器为物理操纵车辆而采取的具体行动的机制和算法。这些控制装置可确保车辆沿预定路径行驶、加速、减速和处理各种驾驶场景,同时保持稳定性、安全性和舒适性。控制弥合了决策和车辆物理行为之间的差距。它包括执行器、车辆动力学、速度控制、稳定性和操控性、平稳过渡、人体舒适性等子部件。

  • 仿真和测试:在实际道路上部署之前,评估自动驾驶系统的性能、安全性和功能至关重要。

这些系统及其依赖如图2所示。

BENCHMARKING/ EVALUATIONS

在开发软件之前,首先要开发测试需求,让我们在深入研究主要方法之前,先看看端到端系统的评估需求。评估可分为两种类型:闭环评估和开环评估。前者是在在线仿真器中定义的;然而,前者是在人类驾驶数据集上离线计算的。端到端系统可以在CARLA等在线模拟器上轻松评估;许多模块化感知技术依赖于更昂贵的离线数据集。

闭环评测如图3所示。

开环评测如图4所示。

方法

A.模仿学习

在模仿学习中,智能体通过模仿人类专家或预先存在的模型所展示的行为来学习执行任务。agent不是明确地设计奖励函数或定义最优策略,而是通过观察和模仿专家采取的行动来学习。与强化学习相比,模仿学习有几个优势,包括利用人类专业知识解决复杂任务的能力,以及提供更安全、更可解释的行为的潜力,在强化学习中,主体通过试错进行学习。然而,模仿学习也有局限性,例如对专家演示中的错误很敏感,并且不总是能够探索超出专家演示范围的新策略。在训练期间,agent的目标是学习从输入观察到专家演示的行动的映射。这通常使用监督学习技术来完成,在监督学习技术中,对agent的模型进行训练,以最大限度地减少其预测动作与专家数据集中的动作之间的差异。类似地,在评估过程中,根据新的、看不见的数据来评估经过训练的agent的性能,以确定其模仿专家行为的能力。这种评估可以包括将代理人的行为与专家的行为进行比较,或者评估代理人是否成功完成了任务。模仿学习可以进一步分为Behavior Clone和Inverse Reinforcement Learning。

然而,IRL和模仿学习也有其自身的一系列挑战和局限性:

  • 家行为的模糊性:IRL假设观察到的专家行为在某些潜在的奖励函数方面是最优的或接近最优的。然而,现实世界中的专家行为可能是嘈杂的、次优的,或者受到奖励函数未捕捉到的因素的影响,导致推断的奖励函数中的模糊性。
  • 解决方案的非唯一性:多个奖励函数可以解释同一组观察到的专家行为。这种非唯一性会使确定哪种奖励函数是“正确的”奖励函数具有挑战性,导致所学习的奖励函数和后续策略的不确定性。
  • 有限的专家演示:IRL在很大程度上依赖于专家演示的质量和数量。如果数据集较小、有偏差或没有覆盖广泛的场景,则学习的奖励函数可能无法准确地表示真实的底层奖励结构。
  • 维度诅咒:随着状态空间变得越来越大、越来越复杂,由于维度诅咒,从有限的专家数据中准确恢复奖励函数的能力变得越来越困难。高维状态空间需要大量的数据来捕捉奖励函数的复杂性。
  • 计算复杂性:许多IRL算法涉及计算成本高昂的优化问题,尤其是在处理大的状态空间或复杂的奖励函数时。
  • 缺乏探索:IRL专注于从专家演示中学习,并没有本质上提供探索专家演示之外的新策略的机制。这可能会限制代理人发现更有效或更具创造性的解决方案的能力。
  • 转移到新环境:习得的奖励函数通常是特定于推断它们的环境的。由于动力学、状态空间和其他因素的差异,将学习到的奖励函数转移到一个新的、看不见的环境可能具有挑战性。

B.强化学习

在强化学习中,智能体学习如何在环境中做出决策和行动,以最大化累积奖励信号。在自主智能体的背景下,RL为这些智能体提供了一种通过试错学习来学习如何在没有明确编程的情况下执行任务和做出决策的方法。自主主体是RL框架中的学习者。它与环境相互作用,并采取行动实现某些目标。环境是代理与之交互的外部系统。它根据代理人的行为通过奖励向代理人提供反馈。在每个时间步长,环境都处于特定状态,这表示环境当前条件的快照。代理根据操作的当前状态选择操作。行为会影响环境,使其转变为一种新的状态,并奖励代理人。环境在每个动作之后向代理提供数字奖励信号,指示动作的直接收益或成本。代理的策略是一种将状态映射到操作的策略。代理的目标是学习一种最优策略,使随着时间的推移累积奖励最大化。值函数估计代理在遵循特定策略的同时,从给定状态可以实现的预期累积回报。它有助于代理人在知情的情况下决定采取哪些行动。代理使用RL算法通过试错来学习最优策略或值函数。学习过程包括探索环境、获得奖励和调整政策以提高绩效。代理人面临着探索新动作以发现潜在的更好策略(探索)和利用已知动作以最大限度地获得即时回报(利用)之间的权衡。然而,自主智能体的RL也面临着挑战,如高效探索、长期奖励和在现实世界环境中的安全学习。强化学习方法可进一步细分为以下几个子领域:

  • Value Based RL;
  • Policy Based RL;
  • Actor-Critic RL

C.Teacher Student范式

端到端自主驾驶的最先进方法遵循师生范式。教师模型,如CARLA,使用特权信息(周围代理和地图元素的基本状态)来学习驾驶策略。学生模型只能访问原始传感器数据,并对教师模型收集的数据进行行为克隆。

D.带辅助任务的端到端自动驾驶

通常,人们普遍认为,用于轨迹规划的学习控制输出/路点可能过于复杂,无法从传感器数据的数十亿个参数中进行映射。这导致研究人员开发辅助任务来监督端到端的学习任务,正如我们之前在中看到的那样,感知和规划模块分两个阶段进行训练。Uber ATG在论文中介绍了另一种更离散的方法,他们使用以激光雷达数据和地图为输入的主干来学习端到端可解释的运动规划器。首先,他们输出其他参与者的边界框,用于未来的时间步(感知)和使用T过滤器进行规划的成本量。接下来,对于来自采样器的每个轨迹建议,从成本体积的不同滤波器中索引其成本,并将其相加。成本最低的轨迹将是我们的最终规划,如图6所示。他们使用多任务训练,从检测、运动预测和人类驱动的自车轨迹进行监督。请注意,没有对成本量进行监督。因此,他们采用最大边际损失来推动网络学习区分好轨迹和坏轨迹。

开放的挑战和未来趋势

考虑到所讨论方法中的挑战,并从机器学习的多学科领域获得灵感,我们发现了未来研究人员的潜在研究方向:

  • 端到端协作任务:已经有关于协作感知的研究,其中从附近的自动驾驶汽车联合进行感知,以处理遮挡并扩大检测范围。端到端自动驾驶任务也有类似的概念。随着越来越多的自动驾驶汽车公司在城市中部署车队,这种端到端的协作任务可能成为该领域SOTA方法的下一个范例。
  • 使用扩散模型基于文本需求生成场景:自动驾驶汽车经过训练,在通用场景中运行良好;一个尚未解决的主要挑战是长尾问题,我们无法在模拟器中对其进行广泛建模。最近,使用稳定扩散方法的图像生成模型取得了很好的结果;很高兴看到未来的研究人员利用这项技术来构建更真实的模拟场景。自动驾驶的端到端任务可以在端到端的任务中进行训练,其中扩散模型自动生成自动驾驶汽车故障案例的相似场景。然后,我们可以在那些精心挑选的模拟场景上进行训练,直到我们的模型在真实世界的指标上如预期那样进行预测。
  • 基础模型:最近,计算机视觉和大语言中的基础模型在多样化的大规模数据集上进行训练后,显示出了最先进的性能,并且可以适应广泛的任务(驾驶场景)。研究人员可以利用这些模型将端到端任务的能力从模拟器推广到现实生活中的数据。

结论

总之,本文对快速发展的端到端自动驾驶领域进行了全面的探索。从传统的模块化方法到端到端学习的范式转变概念的历程已经阐明,展示了从handcrafted的功能和复杂的管道到允许车辆直接从原始传感器输入中学习的数据驱动解决方案的转变。讨论涵盖了这种方法的优势和挑战,强调了它在简化系统设计、捕捉复杂交互和适应不同驾驶场景方面的潜力。随着这一领域的不断成熟,该论文讨论了安全保证、监管框架的重要性,以及学术界、工业界和政策制定者之间合作的必要性。发现了一些悬而未决的挑战,如极端场景下的安全性、迁移学习、可解释性、人际互动和高效探索,邀请研究人员和从业者共同为塑造自动驾驶的未来做出贡献。

从本质上讲,这篇综述文章展示了端到端的自动驾驶不仅仅是一次技术飞跃;这是一种范式转变,体现了机器学习、机器人和运输工程的融合。未来的道路充满了令人兴奋的机遇和复杂的挑战,需要跨学科的努力来实现安全、高效和可靠的自动驾驶汽车的愿景,使其能够无缝地在我们的现代道路上行驶。

参考

[1] End-to-end Autonomous Driving using Deep Learning: A Systematic Review


① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测点云3D目标检测目标跟踪Occupancycuda与TensorRT模型部署协同感知语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

④【自动驾驶之心】平台矩阵,欢迎联系我们!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/165432
 
298 次点击