自动驾驶:模块化/端到端/大模型

自动驾驶系统(3级和4级)主要有三种类型:模块化流水线、端到端、大模型。

自动驾驶:模块化/端到端/大模型
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI模型价格对比 | AI工具导航 | ONNX模型库 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

近年来,自动驾驶已成为人工智能(AI)和机器人领域最复杂的研究方向之一,其中自动驾驶车辆可以被理解为一个需要在道路上进行精确和准确定位的机器人,涉及对车道线、其他物体以及导航和自动驾驶系统读数的感知。从这个角度来看,自动驾驶应用可以采取三种形式之一:仿真、概念验证(遥控车大小的模型)或真实车辆。

1、车辆自动化级别

车辆自动化的概念已经发展了很长时间,最初与AI毫无关系,但从无辅助驾驶开始,逐步发展到可选的加速和制动控制功能,即所谓的自适应巡航控制。并逐步发展到第五级自动化,即完全自动驾驶车辆,驾驶员无需执行任何与车辆运动相关的任务,以下是五个自动化级别的描述[1]:

  • 0级(无驾驶自动化):在此级别中,驾驶员执行驾驶任务的所有方面,例如驾驶传统汽车。
  • 1级(驾驶员辅助):自动化系统提供持续的转向辅助或加速/制动辅助,系统的示例包括自适应巡航控制和车道保持辅助。在此级别中,自动化系统主要由控制器组成,例如前馈控制器或PID控制器,可以使用根轨迹法进行设计,在斜坡上行驶时通过控制速度或在弯道时保持车道来发挥作用。
  • 2级(部分驾驶自动化):对1级系统的升级,同时提供两种类型的持续辅助——转向和加速/制动。此级别自动化系统的示例包括Tesla AutopilotCadillac Super CruiseFord BlueCruise。虽然我不知道各公司如何构建其系统,但根据我的研究,可以通过为每个任务实现一个控制器并使两者同时运行来实现这一目标。
  • 3级(有条件驾驶自动化):此级别的系统与前一级别有很大不同,系统在其运行设计域(ODD)内执行驾驶任务的所有方面,并在需要时请求驾驶员干预。此级别系统的示例包括Audi Traffic Jam PilotMercedes-Benz Drive Pilot。在这种情况下,系统具有更复杂的结构,从传感器(LiDAR、超声波)开始,还包括处理传感器输入和输出车辆控制器控制信号的算法。
  • 4级(高驾驶自动化):此级别的系统在其ODD内执行驾驶任务的所有方面,无需驾驶员干预。这些系统的示例包括Waymo的RobotaxiNAVYA的班车。此时,系统是智能的,因为它在一个或多个部分中使用AI来处理和提取来自摄像头、LiDAR和其他传感器的信息,或预测车辆的最佳轨迹,与5级系统的主要区别在于它仅针对特定ODD,而非为所有可能的道路和驾驶场景而构建。
  • 5级(完全驾驶自动化):在此级别中,系统旨在提供优于人类驾驶员的性能,系统在所有条件下执行驾驶任务的所有方面,无需驾驶员干预。一个例子是没有方向盘或踏板的概念车,如TeslaCybercab

2、自动驾驶系统的实现类型

经过一段时间研究和开发的自动驾驶系统(3级和4级)主要有三种类型:

2.1 模块化流水线

这是创建自动驾驶系统较早且更传统的方法,目前不太受青睐,主要原因是其复杂性以及将系统的每个部分分离为不同的软件和硬件。然而,理解它可以在学习当今更现代和流行的方法时带来很大优势。

模块化流水线方法将自动驾驶系统的任务分解为四个主要部分(模块),它们是:

1. 感知模块:车辆利用车载传感器[3](如LiDAR、摄像头、雷达和基于事件的摄像头)收集、处理、理解和解释车辆周围环境信息,以提取尽可能多的关于道路和周围物体(如其他车辆)的信息。感知模块的任务和技术来自计算机视觉,如2D和3D目标检测、分割、目标跟踪和传感器融合。这些任务使用了YOLO、Faster R-CNN和VoxelNet等算法。

2. 预测模块:基于感知模块的实时感知信息,通过分析道路使用者(如行人)的过去和当前轨迹,试图预测道路使用者未来的短期和长期轨迹和行为,以了解未来的道路状况并确保安全和稳定。预测任务的算法包括MTP、VectorNet和Wayformer。[4]

3. 规划模块:该模块负责根据车辆状态(位置、速度、加速度、方向)以及从预测和感知模块接收的环境信息,生成从当前位置到目标目的地的最佳路径和轨迹。它有两种类型:全局规划,关注使用A*和Dijkstra等算法在地图上找到从起点到目的地的最佳路线;局部规划,涉及根据车辆与周围环境的当前状况实时调整速度和方向,常用方法包括RRT和基于深度学习的规划器。

4. 控制模块:负责执行规划模块给出的轨迹和路径,考虑车辆动力学模型和环境条件,生成一系列控制信号,如加速/制动和转向。此步骤中更常用的控制器是模型预测控制器(MPC)。

模块化流水线结构和端到端结构的系统图 [4]。

2.2 端到端

一种将自动驾驶任务解释为单一学习任务的驾驶系统,通过将独立组件集成到统一系统中,以原始传感器信号作为输入并生成规划作为输出。可以重新表述为将感知、预测和规划的程序整合到一个程序中,该程序一端与传感器通信,另一端与控制器通信。与模块化流水线相比,这种类型的自动驾驶系统提供了更高的安全性和可靠性。

端到端系统最流行的方法包括:

1- 模仿学习:指通过演示进行学习,通过训练端到端算法来模仿专家算法[5]或人类驾驶员的行为来学习所需功能。此过程需要一个包含从专家算法运行时收集的轨迹的数据集,其中每条轨迹由状态-动作对组成,目标是让端到端算法学会生成与专家相同的轨迹。模仿学习有两种类型: a) 行为克隆:通过对数据集最小化损失作为监督学习来实现,最常用的方法是深度学习神经网络。这种方法有两个缺点:协变量偏移因果混淆b) 逆最优控制(IOC):也称为逆强化学习,在这种方法中,IOC算法从专家演示中学习未知的奖励函数,例如一个人正在驾驶车辆并试图通过其动作优化某个未知函数,算法将通过观察人类驾驶员学会在相同的道路状态或情况下表现相似。此类型的方法包括最大熵逆强化学习。

2- 强化学习:这种方法基于试错,因此模型通常在仿真环境中构建,然后部署到真实尺寸的车辆上。这种方法比模仿学习需要多得多的数据。此类型中使用的算法包括Actor-Critic网络和深度确定性策略梯度。

模块化流水线和端到端驾驶方法都面临泛化性、可解释性、因果混淆和鲁棒性等挑战,而LLM/VLM以其场景理解、推理、零样本识别、上下文学习和可解释性为解决这些问题提供了方案。

2.3 LLM/VLM

大语言模型和视觉语言模型展现了强大的推理能力,可以作为知识库为自动驾驶提供丰富的常识知识[6],使其更接近人类的驾驶方式。这些模型可以作为完整的自动驾驶系统,一端接收传感器数据,另一端输出控制信号。根据大型模型的类型,有时除了传感器和控制信号外,还可以接受语言指令或输出语言解释。

自动驾驶中主要的视觉语言任务包括: 1. 目标指代与跟踪:也称为目标定位,旨在通过连续帧使用自然语言表达来定位和跟踪图像中的指定目标。 2. 开放词汇交通环境感知:包括目标检测和语义分割应用。 3. 交通场景理解:涉及基于图像或视频输入回答问题,需要对交通场景和所提问题有高层次的理解,该任务解决了可解释性和可信度的挑战。 4. 语言引导导航:指车辆根据语言指令做出合理规划并到达指定位置的任务。 5. 条件化自动驾驶数据生成:允许有针对性地获取照片级逼真的合成数据,可用于增强训练数据的多样性。

已经发表了多篇关于LLM在自动驾驶中应用的研究论文,未来将有越来越多的技术被集成以改善自动驾驶系统的推理能力和互操作性。上述讨论的方法正在为3级或4级自动化系统提供性能,但构建能够实现5级自动化的系统需要强大的泛化能力以及收集来自世界各地的道路数据集并将其纳入算法训练中。


原文链接: Autonomous driving: Modular pipeline Vs. End-to-end and LLMs

汇智网翻译整理,转载请标明出处