#世界模型和DriveGPT这类大模型到底能给自动驾驶带来什么ne

以下分享大模型与自动驾驶结合的相关工作9篇论

1、ADAPT

ADAPT: Action-aware Driving Caption Transformer(ICRA2023)

ADAPT提出了一种基于端到端transformer的架构ADAPT(动作感知Driving cAPtion transformer),它为自动驾驶车辆的控制和动作提供了用户友好的自然语言叙述和推理。ADAPT通过共享视频表示联合训练驾驶字幕任务和车辆控制预测任务。

整体架构:

w~自动驾驶合集1_自动驾驶

ADAPT框架概述,(a) 输入是车辆的前视图视频,输出是预测车辆的控制信号以及当前动作的叙述和推理。首先对视频中的T帧进行密集和均匀的采样,将其发送到可学习的视频swin transformer,并标记为视频标记。不同的预测头生成最终的运动结果和文本结果。(b) (c)分别显示预测头~

w~自动驾驶合集1_自动驾驶_02

2、BEVGPT

Generative Pre-trained Large Model for Autonomous Driving Prediction, Decision-Making, and Planning.(AAAI2024)

BEVGPT 是第一个生成式, 集预测、决策、运动规划于一体的自监督 pre-trained的大模型。输入BEV images, 输出自车轨迹, 并且能够输出对驾驶场景的预测, 该方案训练时需要高精地图。之所以叫GPT,一方面是因为利用了GPT式的自回归训练方法, 这里自回归的输入是历史的轨迹及BEV, target 是下一个BEV和轨迹。另一方面,能够做到生成, 即给定初始桢的BEV, 算法能够自己生成接下来的多帧BEV场景。该方法并不是一个从传感器输入的端到端方法, 可以看成是基于感知的结果,将后面的模块用一个模型给模型化了, 在实际中也有重要的应用价值. 比如能够基于很多驾驶回传数据的感知结果和轨迹真值来训练驾驶专家模型。

整体结构:

w~自动驾驶合集1_自动驾驶_03

3、DriveGPT4

DriveGPT4 Interpretable End-to-end Autonomous Driving via Large Language Model

在过去的十年里,自动驾驶在学术界和工业界都得到了快速发展。然而其有限的可解释性仍然是一个悬而未决的重大问题,严重阻碍了自动驾驶的发展进程。以前使用小语言模型的方法由于缺乏灵活性、泛化能力和鲁棒性而未能解决这个问题。近两年随着ChatGPT的出现,多模态大型语言模型(LLM)因其通过文本处理和推理非文本数据(如图像和视频)的能力而受到研究界的极大关注。因此一些工作开始尝试将自动驾驶和大语言模型结合起来,今天汽车人为大家分享的DriveGPT4就是利用LLM的可解释实现的端到端自动驾驶系统。DriveGPT4能够解释车辆动作并提供相应的推理,以及回答用户提出的各种问题以增强交互。此外,DriveGPT4以端到端的方式预测车辆的运动控制。这些功能源于专门为无人驾驶设计的定制视觉指令调整数据集。DriveGPT4也是世界首个专注于可解释的端到端自动驾驶的工作。当与传统方法和视频理解LLM一起在多个任务上进行评估时,DriveGPT4表现出SOTA的定性和定量性能。

w~自动驾驶合集1_自动驾驶_04

4、Drive Like a Human

Drive Like a Human: Rethinking Autonomous Driving with Large Language Models.

code:https://github.com/PJLab-ADG/DriveLikeAHuman

作者提出了理想的AD系统应该像人类一样驾驶,通过持续驾驶积累经验,并利用常识解决问题。为了实现这一目标,确定了AD系统所需的三种关键能力:推理、解释和记忆。通过构建闭环系统来展示LLM的理解能力和环境交互能力,证明了在驾驶场景中使用LLM的可行性。大量实验表明,LLM表现出了令人印象深刻的推理和解决长尾案例的能力,为类人自动驾驶的发展提供了宝贵的见解!

w~自动驾驶合集1_自动驾驶_05

5、Driving with LLMs

Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving.

大型语言模型(LLM)在自动驾驶领域显示出了前景,尤其是在泛化和可解释性方面。本文引入了一种独特的目标级多模式LLM架构,该架构将矢量化的数字模态与预先训练的LLM相结合,以提高对驾驶情况下上下文的理解。本文还提出了一个新的数据集,其中包括来自10k驾驶场景的160k个QA对,与RL代理收集的高质量控制命令和教师LLM(GPT-3.5)生成的问答对配对。设计了一种独特的预训练策略,使用矢量字幕语言数据将数字矢量模态与静态LLM表示对齐。论文还介绍了驾驶QA的评估指标,并展示了LLM驾驶员在解释驾驶场景、回答问题和决策方面的熟练程度。与传统的行为克隆相比,突出了基于LLM的驱动动作生成的潜力。我们也提供了基准、数据集和模型以供进一步探索。

w~自动驾驶合集1_自动驾驶_06

模型结构:

w~自动驾驶合集1_自动驾驶_07

LLM驾驶体系结构概述,演示如何使用来自驾驶模拟器的对象级矢量输入来通过LLM预测动作!

w~自动驾驶合集1_自动驾驶_08

6、HiLM-D

HiLM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving.

自动驾驶系统通常针对不同的任务使用单独的模型,从而产生复杂的设计。这是首次利用奇异多模态大语言模型(MLLMs)来整合视频中的多个自动驾驶任务,即风险目标定位和意图与建议预测(ROLISP)任务。ROLISP使用自然语言同时识别和解释风险目标,理解自我-车辆意图,并提供动作建议,从而消除了特定任务架构的必要性。然而,由于缺乏高分辨率(HR)信息,现有的MLLM在应用于ROLISP时往往会错过小目标(如交通锥),并过度关注突出目标(如大型卡车)。本文提出了HiLM-D(在用于自动驾驶的MLLMs中实现高分辨率理解),这是一种将人力资源信息整合到用于ROLISP任务的MLLMs中的有效方法。

HiLM-D集成了两个分支:

(i) 低分辨率推理分支可以是任何MLLMs,处理低分辨率视频以说明风险目标并辨别自我车辆意图/建议;

(ii)HiLM-D突出的高分辨率感知分支(HR-PB)摄取HR图像,通过捕捉视觉特异性HR特征图并将所有潜在风险优先于仅突出的目标来增强检测;HR-PB作为一个即插即用模块,无缝地适应当前的MLLM。在ROLISP基准上的实验表明,与领先的MLLMs相比,HiLM-D具有显著的优势,在BLEU-4中用于字幕的改进为4.8%,在mIoU中用于检测的改进为17.2%。

w~自动驾驶合集1_自动驾驶_09

7、LanguageMPC

LanguageMPC: Large Language Models as Decision Makers for Autonomous Driving.

这项工作将大型语言模型(LLM)作为需要人类常识理解的复杂AD场景的决策组件。设计了认知途径,以实现LLM的全面推理,并开发了将LLM决策转化为可操作驾驶命令的算法。通过这种方法,LLM决策通过引导参数矩阵自适应与低级控制器无缝集成。大量实验表明,由于LLM的常识性推理能力,提出的方法不仅在单车任务中始终优于基线方法,而且有助于处理复杂的驾驶行为,甚至多车协调。本文在安全性、效率、可推广性和互操作性方面,为利用LLM作为复杂AD场景的有效决策者迈出了第一步,希望它能成为该领域未来研究的灵感来源。

w~自动驾驶合集1_自动驾驶_10

网络结构:

w~自动驾驶合集1_自动驾驶_11

8、Planning-oriented Autonomous Driving

今年CVPR2023的best paper!UniAD将各任务通过token的形式在特征层面,按照感知-预测-决策的流程进行深度融合,使得各项任务彼此支持,实现性能提升。在nuScenes数据集的所有任务上,UniAD都达到SOTA性能,比所有其它端到端的方法都要优越,尤其是预测和规划效果远超其它模型。作为业内首个实现感知决策一体化自动驾驶通用大模型,UniAD能更好地协助进行行车规划,实现「多任务」和「高性能」,确保车辆行驶的可靠和安全。基于此,UniAD具有极大的应用落地潜力和价值。

w~自动驾驶合集1_自动驾驶_12

w~自动驾驶合集1_自动驾驶_13

9、WEDGE

WEDGE:A multi-weather autonomous driving dataset built from generative vision-language models.

开放的道路给自主感知带来了许多挑战,包括极端天气。在好天气数据集上训练的模型经常无法在这些分布外数据(OOD)设置中进行检测。为了增强感知中的对抗性鲁棒性,本文引入WEDGE(WEather Images by DALL-E GEneration):一个通过提示用视觉语言生成模型生成的合成数据集。WEDGE 由 16 种极端天气条件下的 3360 张图像组成,并用 16513 个边框手动注释,支持天气分类和 2D 目标检测任务的研究。作者从研究的角度分析了WEDGE,验证了其对于极端天气自主感知的有效性。作者还建立了分类和检测的基线性能,测试准确度为 53.87%,mAP 为 45.41。WEDGE 可用于微调检测器,将真实世界天气基准(例如 DAWN)的 SOTA 性能提高 4.48 AP,适用于卡车等类别。

w~自动驾驶合集1_自动驾驶_14

w~自动驾驶合集1_自动驾驶_15

w~自动驾驶合集1_自动驾驶_16





#自动驾驶端到端规划方法汇总

一、Woven Planet(丰田子公司)的方案:Urban Driver 2021

这篇文章是21年的,但一大堆新文章都拿它来做对比基线,因此应该也有必要来看看方法。

w~自动驾驶合集1_自动驾驶_17

w~自动驾驶合集1_自动驾驶_18

大概看了下,主要就是用Policy Gradients学习State->近期action的映射函数,有了这个映射函数,可以一步步推演出整个执行轨迹,最后loss就是让这个推演给出的轨迹尽可能的接近专家轨迹。

效果应该当时还不错,因此能成为各家新算法的基线。

二、南洋理工大学方案一 Conditional Predictive Behavior Planning with Inverse Reinforcement Learning 2023.04

w~自动驾驶合集1_自动驾驶_19

先使用规则枚举了多种行为,生成了10~30条轨迹。(未使用预测结果)
使用Condtional Prediction算出每条主车待选轨迹情况下的预测结果,然后使用IRL对待选轨迹打分。

其中Conditional Joint Prediction模型长这样:

w~自动驾驶合集1_自动驾驶_20

这个方法基本上很赞的点就是利用了Conditional Joint Prediction可以很好的完成交互性的预测,使得算法有一定的博弈能力。
但我个人认为算法缺点是前边只生成了10~30条轨迹,而且轨迹生成时没考虑预测,而且最后会直接在IRL打分后,直接选用这些轨迹中的一条作为最终结果,比较容易出现10~30条在考虑预测后发现都不大理想的情况。相当于要在瘸子里边挑将军,挑出来的也还是瘸子。基于这个方案,再解决前边待选样本生成质量会是很不错的路子

三、英伟达方案:2023.02 Tree-structured Policy Planning with Learned Behavior Models

用规则树状采样,一层一层的往后考虑,对每一层的每个子结点都生成一个conditional prediction,然后用规则对prediction结果和主车轨迹打分,并用一些规则把不合法的干掉,然后,利用DP往后生成最优轨迹,DP思路有点类似于apollo里dp_path_optimizer,不过加了一个时间维度。

不过因为多了一个维度,这个后边扩展次数多了之后,还是会出现解空间很大计算量过大的情况,当前论文里写的方法是到节点过多之后,随机丢弃了一些节点来确保计算量可控(感觉意思是节点过多之后可能也是n层之后了,可能影响比较小了)

本文主要贡献就是把一个连续解空间通过这种树形采样规则转变一个马尔可夫决策过程,然后再利用dp求解。

四、南洋理工大学&英伟达联合 2023年10月最新方案:DTPP: Differentiable Joint Conditional Prediction and Cost Evaluation for Tree Policy Planning in Autonomous Driving

看标题就感觉很Exciting:

一、Conditional Prediction确保了一定博弈效果
二、可导,能够整个梯度回传,让预测与IRL一起训练。也是能拼出一个端到端自动驾驶的必备条件
三、Tree Policy Planning,可能有一定的交互推演能力

仔细看完,发现这篇文章信息含量很高,方法很巧妙。

w~自动驾驶合集1_自动驾驶_21

主要基于英伟达的TPP和南洋理工的Conditional Predictive Behavior Planning with Inverse Reinforcement Learning进行糅合改进,很好的解决了之前南洋理工论文中待选轨迹不好的问题。

论文方案主要模块有:

一、Conditional Prediction模块,输入一条主车历史轨迹+提示轨迹 + 障碍车历史轨迹,给出主车接近提示轨迹的预测轨迹和与主车行为自洽的障碍车的预测轨迹。
二、打分模块,能够给一个主车+障碍车轨迹打分看这个轨迹是否像专家的行为,学习方法是IRL。
三、Tree Policy Search模块,用来生成一堆待选轨迹

使用Tree Search的方案来探索主车的可行解,探索过程中每一步都会把已经探索出来的轨迹作为输入,使用Conditional Prediction来给出主车和障碍车的预测轨迹,然后再调用打分模块评估轨迹的好坏,从而影响到下一步搜索扩展结点的方向。通过这种办法可以得到一些差异比较大的主车轨迹,并且轨迹生成时已经随时考虑了与障碍车的交互。

传统的IRL都是人工搞了一大堆的feature,如前后一堆障碍物在轨迹时间维度上的各种feature(如相对s, l和ttc之类的),本文里为了让模型可导,则是直接使用prediction的ego context MLP生成一个Weight数组(size = 1 * C),隐式表征了主车周围的环境信息,然后又用MLP直接接把主车轨迹+对应多模态预测结果转成Feature数组(size = C * N, N指的待选轨迹数),然后两个矩阵相乘得到最终轨迹打分。然后IRL让专家得分最高。个人感觉这里可能是为了计算效率,让decoder尽可能简单,还是有一定的主车信息丢失,如果不关注计算效率,可以用一些更复杂一些的网络连接Ego Context和Predicted Trajectories,应该效果层面会更好?或者如果放弃可导性,这里还是可以考虑再把人工设置的feature加进去,也应该可以提升模型效果。

在耗时方面,该方案采用一次重Encode + 多次轻量化Decode的方法,有效降低了计算时延,文中提到时延可以压到98ms。

在learning based planner中属于SOTA行列,闭环效果接近前一篇文章中提到的nuplan 排第一的Rule Based方案PDM。

总结

看下来,感觉这么个范式是挺不错的思路,中间具体过程可以自己想办法调整:

  1. 用预测模型指导一些规则来生成一些待选ego轨迹
  2. 对每条轨迹,用Conditional Joint Prediction做交互式预测,生成agent预测。可以提升博弈性能。
  3. IRL等方法做利用Conditional Joint Prediction结果对前边的主车轨迹打分,选出最优轨迹





#交互感知自动驾驶 (IAAD)

交互感知自动驾驶(IAAD)是一个迅速发展的研究领域,专注于开发能够与人类道路使用者安全、高效交互的自动驾驶车辆。这是一项具有挑战性的任务,因为它要求自动驾驶车辆能够理解和预测人类道路使用者的行为。在这份文献综述中,作者对IAAD研究的当前状态进行了调研。从对术语的调研开始,关注点集中在仿真驾驶员和行人行为的挑战和现有模型上。接下来,对用于交互建模的各种技术进行了全面的回顾,涵盖了认知方法、机器学习方法和博弈论方法。通过讨论与IAAD相关的潜在优势和风险,以及对未来研究探索至关重要的关键问题,最终得出结论。

交互感知介绍

近年来,随着机器人技术和机器学习的最新进展,对自动驾驶汽车技术的开发越来越引起人们的兴趣。这使得自动驾驶工程师能够开发能够解决自动驾驶任务复杂性的算法。自动驾驶汽车有潜力提高交通质量,减少交通事故,提高出行时间的质量。如今,越来越多的自动驾驶汽车被部署到现实世界中,与其他人类道路使用者共享环境。这引发了一些担忧,即自动驾驶汽车可能无法理解并与其他人类道路使用者顺利交互,可能导致交通困境和安全问题。为了以高效且安全的方式运行,自动驾驶汽车需要以类似于人类的方式行为,并生成考虑与其他人类道路使用者的交互的最优行为。这对于减少潜在的交通冲突至关重要。例如,在十字路口谨慎但不必要的停车可能导致追尾事故。为了开发全自动驾驶汽车,需要在自动驾驶汽车技术的许多方面取得进展,包括感知、决策、规划和控制。在预测周围人类道路使用者的行为并相应地为自动驾驶汽车做出决策方面,与周围人类道路使用者的交互变得越来越重要,因为自动驾驶汽车的行为会影响他们的行为,反之亦然。

本文的目的是在自动驾驶背景下,对交互感知运动规划和决策的最新技术进行详尽调研。具体而言,文本首先涵盖人类道路使用者行为模型,以突显影响人类道路使用者在道路上做出决策的因素。驾驶员和行人行为模型对自动驾驶汽车来说有多重要是有原因的。首先,它们可用于评估和预测围绕自动驾驶汽车的道路使用者的行为。其次,它们可以帮助开发类似于人类的自动驾驶汽车行为。因此,它们既具有预测价值,又为模型/系统设计添加了相关的见解。

本综述分为5个主要部分,涵盖了交互感知自动驾驶中的不同领域。第2节介绍了交互感知自动驾驶中使用的术语。请参考下图1,了解论文结构的概览。第3节将涵盖影响人类驾驶决策的人因研究,以及行人行为研究。第4节广泛概述和分类了用于交互建模的现有技术。最后,第5和第6节涵盖了在交互场景中用于运动规划和决策制定的最新技术。

虽然自动驾驶近年来一直是一个活跃的研究领域,但大部分研究集中在仅涉及车辆的情景中。相对较少的工作涉及异构场景,其中既包括车辆又包括行人。在本文中,焦点是异构场景,但第5和第6节还将涵盖处理没有行人的场景的相关工作。这是因为这些论文中使用的技术可以轻松地适应混合交通场景,或者它们可以为处理混合交通场景的一般问题提供重要的见解。

w~自动驾驶合集1_自动驾驶_22

交互感知自动驾驶术语

在讨论交互感知运动规划和决策制定的最新进展之前,本文首先定义了该领域中使用的一些术语。在自动驾驶领域,术语"ego-vehicle"指的是要进行控制和研究的特定车辆。所有其他占据环绕自车区域的车辆、骑行者、行人等,都被视为交互障碍物,并被称为周围交通参与者,参见下图2a。由于道路交通不太可能在不久的将来变得完全自动化,自动驾驶汽车将不可避免地在与人类道路使用者(HRUs)混合的环境中运行,例如人类驾驶员和行人。因此,交互感知自动驾驶是一项研究领域,重点是开发能够安全有效地与周围HRUs交互的自动驾驶汽车。传统的自动驾驶方法通常将周围HRUs视为动态障碍物。然而,这并不是一种现实的方法,因为它们会不断地改变它们的行为以适应当前情况。

通常,多个周围HRUs可能在它们自己之间或与自车之间产生共享空间的冲突:这种情况可以合理地推断两个或两个以上的道路使用者打算在不久的将来的相同空间区域内占据相同的位置,见图2b。参与冲突的道路使用者被认为表现出交互行为,这意味着如果没有空间共享冲突,他们的行为将会不同。此外,交互不一定涉及冲突。它可以是明确或隐含的沟通,表明道路使用者的意图并影响HRUs。例如,驾驶员可以根据前方车辆的转向灯信号制定驾驶策略,使自车和前方车辆不在同一车道,且在不久的将来不会发生冲突。因此,交互行为是指道路使用者的不同行为方式,以适应他人的行为或请求对反应进行请求并采取行动以实现他们期望的目标。由于交互在驾驶时随时发生,因此开发的自动驾驶汽车算法必须了解道路使用者之间的交互动态。这样的算法被称为交互感知,通常是近期自动驾驶研究的焦点。目前,安全且社会接受的交互感知自动驾驶系统受到一些挑战的制约。其中一个挑战是缺乏关于HRUs如何交互的创新理论。这是一项困难的任务,因为要开发的理论不仅限于预测和建模HRUs的行为,还包括探索行为模式及其基础机制。将自动驾驶汽车无缝整合到交通中,就如同人类一样,需要更先进的行为理论和模型。另一个挑战是需要开发能够与其他HRUs安全有效地交互并产生符合人类标准的自动驾驶汽车行为的算法。下图3显示了构成自动驾驶汽车系统的主要部分。传感器的原始数据由感知模块处理,该模块检测周围环境并执行定位,允许为自车生成达到目标目的地的全局路线规划。场景还可以进行进一步的解释,并可以对周围交通参与者的预测进行操作。交互感知模型在预测任务中起着重要作用,因为道路使用者会影响彼此的轨迹和决策。

决策和路径规划是自动驾驶中最重要的两项任务之一。它们负责确定车辆如何在环境中移动。决策是从一组可能的选项中选择行动的过程。例如,车辆可能需要决定是否变道、减速或停车。路径规划是生成车辆可跟随的安全和可行轨迹的过程。决策和路径规划密切相关。决策过程通常输出高层次的计划,例如“向左变道”。然后,路径规划过程接受此计划并生成车辆可以跟随的详细轨迹。这两项任务都必须考虑车辆的当前位置、车辆的能力和周围的交通情况,这就是为什么交互感知模型对这两项任务非常相关的原因。从控制系统的角度来看,车辆的动态由其状态表示,即位置和方向,以及它们的时间导数。环境的状态由所有动态和静态实体的状态决定。物理状态空间还可以通过捕捉附加的潜在空间变量而得到扩充,这些变量捕捉周围用户的意图或行为偏好,这是场景理解系统的一部分。

w~自动驾驶合集1_自动驾驶_23

人类行为研究与交互

本节综合了关于HRUs(人类道路用户)行为的实证和建模研究结果,包括与自动驾驶汽车或传统车辆交互的人类驾驶员和行人,尤其是从沟通角度来看。焦点是研究涉及道路交互的内容,旨在发现可能促进交互感知自动驾驶汽车开发的见解。此处超出本文范围的研究还包括宏观交通条件的影响,如路径选择、天气或法规等。

w~自动驾驶合集1_自动驾驶_24

w~自动驾驶合集1_自动驾驶_25

驾驶员行为研究

驾驶员行为模型用于预测和了解驾驶员在不同驾驶场景中的行为方式。这些模型可用于改善交通系统的安全性和效率,并有助于自动驾驶汽车的设计过程。许多因素可能影响驾驶行为,包括个体特征(年龄、性别、个性、经验)、环境因素,即道路和天气条件,以及社会因素,包括驾驶员与HRUs的交互。这里将重点放在与车辆-行人交互相关的DBM上。

最常见的驾驶员行为模型包括:

  • 驾驶员风险场模型:(下图4a)该模型预测驾驶员在不同驾驶情况下如何感知风险。DRF模型的基础理念是驾驶员基于对风险的感知做出决策。[16] 的研究结果表明,驾驶行为受到成本函数的控制,该函数考虑到噪声对人类感知和行为的影响。自动驾驶汽车上的风险感知也在 [19]中进行了分析,该研究采用了驾驶仿真场景。
  • 基于理论的:(下图4b)感知和认知模型。基于感知信息的模型根据感知线索(如距离、车速、加速度、扩展角、反应时间等)描述驾驶员行为。认知模型概述了驾驶员作为心理人类的内部状态流和调节其行为的动机。
  • 数据驱动模型:(下图4c)这组方法依赖于使用机器学习分析自然驾驶数据来分析驾驶员行为。数据驱动模型可以学习人类行为的生成或判别模型,以对驾驶员未来的决策或首选驾驶风格进行预测。模型验证可以通过将预测与实际数据进行比较以及通过人在环仿真来完成。

w~自动驾驶合集1_自动驾驶_26

现有研究通过自然驾驶数据分析突显了驾驶员在行人存在的情况下的行为。[24]的作者发现在超越沿车道行走的行人、超越相反方向行走的行人或当对向交通存在时,驾驶员倾向于保持较小的最小横向间隙和较低的超车速度。最小横向间隙和时间-碰撞的关系与超车速度仅有弱相关。[25]中的结果显示,车辆减速行为与初始时间到碰撞(TTC)、对行人过马路意图的主观判断、车速、行人位置和过马路方向相关。

较少关注多道路使用者设置,其中多辆车和行人相互作用。在[26]中,作者基于在路口收集的数据开发了一个多道路使用者对抗逆强化学习(IRL)框架,以仿真路口的驾驶员和行人行为。总体而言,DBM是一个有前途的研究领域,有望显著改进交通系统的安全性和效率。然而,仍然需要在开发和验证这些模型方面进行大量工作。未来的研究应着重于开发更全面的模型,考虑到更广泛的因素,如驾驶员的内部状态、环境和与其他HRU的交互。

行人行为研究

由于行人被认为是最脆弱的道路使用者,缺乏保护装备且移动速度较慢,因此调研行人行为与自动驾驶汽车与行人交互对安全性和可接受性具有明显的相关性。几十年来,行人行为一直是广泛研究的对象。自动驾驶汽车的出现最近引发了许多关于行人行为的新研究问题。鉴于这个领域的大量工作以及作者的目标,本节调研了主要的研究而不是提供详尽的调研。综述涵盖了与车辆交互的行人行为研究,从三个角度进行:沟通、横穿行为的理论和模型,以及涉及自动驾驶汽车的应用。旨在确定和总结它们对开发具有交互感知能力的自动驾驶汽车的价值。

通信

在动态交通环境中,道路用户通过其运动和空间暗示向彼此故意或无意地传递信号信息,产生了明确和隐含的交流。研究结果一致认为,由于缺乏驾驶员角色,自动驾驶汽车的运动学和信号信息对行人道路行为产生了显著影响。因此,识别影响行人道路行为的关键动作提示和信号的研究具有重要意义(见下图5a)。

w~自动驾驶合集1_自动驾驶_27

隐含的沟通信号,如车辆的运动线索,涉及到影响其自身运动的道路用户行为,但可以被解释为另一道路用户的意图或运动的线索。接近的车辆与行人之间的距离或TTC是影响行人行为的最关键的隐含信息。证据表明,行人更倾向于更多地依赖距离而不是TTC。也就是说,对于相同的TTC,当车辆以较高的速度接近时,更多情况下,行人会过马路。最近的研究表明,行人利用了来自车辆运动的多个信息源,而不是依赖于一个。速度、距离和TTC对行人行为的影响是相互耦合的。

刹车动作,是影响行人行为的另一个关键的隐含信息。车辆的运动与行人对车辆的信任、情感和对行人决策的影响相关。当接近的车辆早早减速并轻刹车时,行人感到舒适,开始迅速过马路。急刹车导致行人回避行为。另一方面,早期的刹车动作和强烈的俯仰减少了行人理解车辆意图所需的时间。以较慢的速度接近行人且礼让的车辆可能阻碍理解。

交通特征 ,如交通量和间隙大小,为行人提供了隐含信息。高交通量迫使行人接受较小的交通间隙,因为时间成本的增加,增加了他们冒险的倾向。然而,大量证据表明,倾向等待的行人更为谨慎,不太可能接受冒险的间隙。交通量和行人过马路行为之间的关系依赖于上下文,可能受到交通中间隙的大小和顺序的影响。

此外,行人朝着道路的移动、站在路边和行人头部方向可能向接近的车辆传递关键的隐含信息。行人通常通过踏上道路或看向接近的车辆来主张他们的通行权。

明确的沟通信号 涉及道路用户的行为,向其他道路用户传递信号信息,而不影响自己的运动或感知。一个常见情况是车辆通过外部人机界面(eHMI)向行人传递信息。在自动驾驶汽车的背景下,没有人类驾驶员,eHMI变得很重要。大量证据支持了eHMI在行人与自动驾驶汽车的交互中的益处。已经提出了各种类型的eHMI原型,如车头灯、灯带、拟人符号,但对于最佳eHMI形式和要传达的信息的共识仍然难以确定。

许多研究表明,eHMI的性能取决于各种因素。行人对eHMI的熟悉程度、信任和解释可能会显著影响eHMI向行人传达信息的有效性。例如,行人更好地理解传统的eHMI(闪烁的大灯)作为车辆让行的信号,而不是新颖的eHMI(灯带)。如果eHMI失效,行人过度信任eHMI可能导致他们对车辆运动线索过于依赖,这是危险的。eHMI传递的以自我为中心的信息,如“OK TO CROSS”,比分配给他人的信息如“STOPPING”更具有说服力。此外,eHMI的可靠性受到天气、光照条件和车辆行为的影响。例如,在恶劣天气下,行人可能无法读取车辆标志。当车辆不让行或急剧减速时,行人愿意过马路的意愿不受eHMI的影响。其他概念,如将eHMI安装在道路基础设施上而不是车辆上,以及将eHMI与车辆运动线索结合使用,可能胜过纯粹的eHMI。

此外,从车辆的角度来看,虽然较少见,行人也使用明确的信号与自动驾驶汽车进行交流。这些信号包括眼神接触和手势,行人用这些信号确保自动驾驶汽车能看到他们并请求通行权。为了弥补没有人类驾驶员的缺陷,自动驾驶汽车可以利用驾驶座位上的类人视觉化身和无线通信技术,以增强车辆与行人的沟通。

横穿行为的理论和模型

行人横穿行为涉及各种认知过程。先前的研究表明,在交互中构建行人横穿行为涉及三个层次的过程,即感知、决策、开始和运动。基于这一假设,以下各节将综合有关这三个认知过程的行人横穿行为的理论和模型(见图5b)。

视觉感知理论,由吉布森(Gibson)奠定,解释了当物体接近观察者时,其在视网膜上的图像会扩展,形成人类碰撞感知的基础。在横越场景中,当车辆在视网膜上的图像扩展速率达到一定阈值时,行人会感知到车辆正在靠近,这被称为视觉逼近现象。一个心理物理模型将这种扩展速率简化为逼近行人瞳孔处的车辆形成的视觉角度变化,表示为 ̇θ(图6a)。最近的研究表明,行人使用 ̇θ 作为观察逼近车辆的关键视觉线索。然而,虽然 ̇θ 提供了空间信息,但它并不传达车辆何时到达行人的位置。在横越场景中,当车辆礼让时,行人需要时间信息来估计车辆是否能及时停下。Lee的数学演示表明,表示为 θ 与 ̇θ 比值的视觉线索 τ 可能指示接近车辆的TTC。此外,τ 的第一时间导数,表示为 ̇τ,用于检测当前减速率是否足以避免碰撞。此外,研究发现,在给定角度下,即方位角,行人可能会视觉感知即将发生的碰撞事件,方位角是车辆与行人注视线之间的角度(图6b)。

w~自动驾驶合集1_自动驾驶_28

除了视觉线索外,行人的感知可能取决于感知策略。田等人的研究表明,对车辆行为的行人估计可能是一个单独的过程或横穿决策的一个子过程。当有较大的交通间隙时,行人倾向于不依赖车辆驾驶行为,而更依赖间隙大小。同样,Delucia 指出,当碰撞事件距离较远时,人类倾向于使用'启发式'视觉线索,如θ和 ̇θ。然而,随着碰撞变得迫在眉睫,光学不变量如τ支配感知,提供更丰富的时空信息。

除了感知机制,各种因素可能影响行人的感知。研究表明,由于与年龄相关的感知限制,老年人或儿童行人面临较高的碰撞风险。老年行人更倾向于更多地依赖距离而不是TTC来判断靠近的车辆,而儿童难以检测以较高速度靠近的车辆。分心,特别是涉及视觉和手动部位(如使用智能手机)的分心,会分散大量的注意资源,并影响行人观察交通状况。相比之下,认知分心,比如听音乐,可能不会显著影响行人的感知。

决策 在没有信号灯的无控制交叉口,行人通常会与让行或不让行的车辆进行交互。在不让行的情况下,行人通常通过评估靠近车辆之间的间隔来做出横穿决策,这被称为间隙接受行为(GA)。这一概念导致了关键间隙模型的发展,包括Raff的模型、HCM2010的模型和Rasouli的模型。另外,二元logit模型将横穿决策视为二元变量,利用人工神经网络(ANN)、支持向量机(SVM)和逻辑回归(LR)等机器学习算法。例如,Kadali等人使用ANN根据各种独立变量(图6c)预测横穿决策,而Sun等人使用LR与诸如行人年龄、性别、组大小和车辆类型的变量。

在涉及让行车辆的场景中,横穿决策往往遵循一个称为双峰横穿行为(BC)的双峰模式。当交通间隙足够大或车辆即将停车时,行人更倾向于横穿。然而,在这种情况下做出决策可能是具有挑战性的,因为决策线索与碰撞风险之间存在对立关系,碰撞风险与交通间隙呈负相关,与车辆速度呈正相关。Zhu等人根据车辆速度和距离将横穿决策分为三组:横穿、困境条件和等待(图6d)。此外,田等人假设行人根据BC行为采用不同的决策策略,并将横穿决策建模为对不同视觉线索的响应。

虽然上述方法是基于观察到的行为模式来仿真横穿决策,其他模型则深入研究了支撑这些决策的心理机制。具体而言,田等人基于行人的视觉线索仿真了行人的GA行为,并在具有更复杂的视觉感知机制的让行场景中进行了扩展。王等人利用强化学习(RL)模型捕捉了基于有限感知机制的行人横穿行为。此外,一类模型,即证据积累(EA)模型,如漂移扩散模型,提出横穿决策是由视觉证据和噪声的积累决定的,一旦达到一定阈值,决策就确定了。整合了大规模的心理理论,详细解释了行人横穿决策(图6e)。此外,博弈论也被应用于在行人与车辆协商通行权时仿真横穿决策。传统的博弈论、序列鸡(SC)博弈和双累积器(DA)博弈被用来表征动态横穿决策。

环境的多样性和行人的异质性进一步复杂化了横穿决策建模。例如,横穿多条车道通常涉及行人在车道线等待并逐个接受交通间隙,被称为滚动间隙行为。在车道线等待的行人可能更有可能接受较小的交通间隙,而在路缘等待的行人可能不太可能接受。另一个复杂的场景是横穿双向道路,这在物理上和认知上都是具有挑战性的。行人需要考虑两边的车辆。同样,在交叉口处穿越拥挤的连续交通也是具有挑战性的,因为行人需要预测交通上游的交叉间隙,并在安全性和时间效率之间做出权衡。通常认为,随着等待时间的增加,行人倾向于接受更冒险的横穿机会。然而,最新的证据表明,倾向等待的行人更为谨慎,不太可能接受冒险的间隙。关于行人的异质性,应用ANN和LR模型来表征年龄对横穿决策的影响。分心,如手机使用,也可能影响行人的横穿决策。应用ANN来仿真手机使用对横穿决策的影响。此外,行人通常成群过马路,展示出群体行为。该行为被描述为群体成员保持与群体中心一定距离的趋势。使用EA模型来表征群体决策中信息级联,考虑了先前道路使用者的决策的影响。

开始和运动 横穿启动时间(CIT)代表行人开始过马路所需的时间,反映了他们决策的动态特性。一般来说,CIT是横穿机会可用时和行人开始移动之间的持续时间。漂移扩散理论认为CIT受认知系统中噪声证据的积累影响,反映了行人认知和运动系统的效率。各种因素可能影响CIT,包括车辆运动、年龄、性别和分心。面对更高的车速,行人倾向于更慢地开始横穿。此外,女性行人倾向于比男性更快地开始横穿,老年人倾向于比年轻行人更早开始。分心的影响取决于其组成部分。

在行人面对不让行车辆的情况下,随着车辆与行人之间距离的减小,碰撞的风险增加。因此,行人通常通过评估靠近车辆的“snapshots”来迅速做出决策。在这些情况下,CIT的分布通常是集中且右偏的。响应时间模型,如指数高斯模型和偏移瓦尔德(SW)分布,被用来仿真这些情况下的CIT。例如,将CIT建模为遵循SW分布的变量(下面图7a)。

在车辆让行场景中,如前节所述,CIT表现为双峰分布。对于早期的CIT组,分布类似于不让行场景中的分布,因为行人采用相似的决策策略。然而,对于晚期组,分布是复杂的,不能用标准的响应时间分布来描述。已经提出了具有时变证据的EA模型来解决这种复杂性,允许生成具有复杂形状的CIT分布(下面图7b)。此外,使用响应时间模型的联合分布对车辆让行场景中的CIT进行建模。此外,应用RL模型来学习行人的横穿启动模式。

在行人启动横穿后,他们需要穿过道路。步行是横穿行为的关键部分,受到许多因素的影响,如靠近车辆的存在、基础设施、行人年龄和分心。行人调整其行走轨迹以避让车辆。在多车道横穿中,他们倾向于移动到并等待在车道线上,依次接受每个车道的交通间隙。横穿时,行人的行走速度通常比其他场景中的正常行走速度要快。虽然性别对行走速度没有显著影响,但青少年和老年人的步行速度较慢。分心,如使用手机,可能会降低行人的步行速度。

行为可以使用微观行人运动模型来仿真,包括元胞自动机(CA)模型、社会力(SF)模型和基于学习的方法。CA模型在空间、时间和状态上是离散的,使其成为仿真复杂动态系统(如行人-车辆相互作用)的理想选择。基于牛顿第二定律的SF模型被用于仿真行人-车辆相互作用和大规模行人流(下面图7c)。使用SF模型仿真了在涉及低速车辆的复杂交互场景中的行人群体的横穿行为。

与上述白盒模型相对,还有基于学习方法的黑盒模型,它们从自然数据集或预定义环境中学习行人行走行为。例如,采用人工神经网络(ANN)通过将视频中提取的行人与其他物体之间的相对空间和运动关系纳入考虑来学习行人的行走行为。将SF模型的输出作为输入输入到ANN中,以仿真多种行人行走行为。提出了一种长短时记忆网络(LSTM)行人轨迹预测模型(下面图7d)。此外,RL和IRL模型也被用于仿真行人的行走行为。应用RL模型学习在SF环境中多个行人的行走行为。开发了一种IRL模型,从视频数据集中学习行人的行走行为。

w~自动驾驶合集1_自动驾驶_29

自动驾驶汽车涉及的应用

近年来,研究自动驾驶汽车与行人之间的交互关系的兴趣逐渐增长。这种兴趣导致了大量研究,将行人横穿行为的理论和模型应用于增强或评估自动驾驶汽车在这些交互中的性能(下表2)。

w~自动驾驶合集1_自动驾驶_30

一种普遍的方法是使用基于学习的方法,该方法从现实世界的数据集中学习行人的意图和轨迹,以帮助自动驾驶汽车的决策制定。例如,提出了一种基于图卷积神经网络的行人轨迹预测模型,该模型考虑了过去的行人轨迹,以预测自动驾驶汽车使用案例的确定性和概率性未来轨迹。其他类似的模型旨在通过考虑交互的社会背景来提高预测准确性。例如,提出了一种LSTM行人轨迹预测模型,该模型考虑了过去的轨迹、行人头部方向和与靠近车辆的距离作为输入。此外,还有研究旨在预测行人横穿意图。分别应用SVM、LSTM和ANN来预测行人的横穿意图。

学习方法在预测行人轨迹和意图方面已经证明是有效的。然而,这些模型需要大量的数据才能获得强大的性能,在处理缺乏足够数据的交互案例时受到限制。此外,这些模型的黑盒性质可能使得难以解释生成的轨迹和意图,这对自动驾驶汽车的决策建模构成了挑战。为了解决这些问题,专家模型已经被开发出来。例如,SF模型已经被修改以通过纳入更多的交互细节(如TTC和车辆与行人之间的交互角度)来预测自动驾驶汽车的行人轨迹。此外,SF和CA模型还嵌入到自动驾驶汽车决策模块中,以表示行人横穿行为并指导自动驾驶汽车在与行人的交互中的决策。

此外,横穿决策模型也已应用于自动驾驶汽车研究。例如,采用了横穿关键间隙模型来表征其自动驾驶汽车决策模块中的行人横穿决策。将其速度-距离模型应用于为自动驾驶汽车设计防御性和竞争性的交互行为。在其提出的自动驾驶汽车决策模块中使用LR模型作为行人横穿决策模型。为了增强横穿决策的动态和交互性质,还使用博弈论模型来仿真在与自动驾驶汽车协商让行权利时的横穿决策。研究人员还尝试使用行人感知理论或模型来设计自动驾驶汽车的决策策略。例如,使用控制理论基于视觉线索、τ和方位角仿真了自动驾驶汽车-行人耦合行为。用方位角对自动驾驶汽车和行人的让行行为进行建模。

交互建模

交互建模技术对各种自动驾驶任务都至关重要,从交通预测到自动驾驶规划和决策。在自动驾驶中理解和建模社交交互对于预测场景动态并确保安全的自动驾驶行为至关重要。准确的预测提高安全性,而误解的自动驾驶行为可能导致事故。此外,理解自动驾驶行为的社会影响还可以影响周围的交通,比如通过提前停车来鼓励行人过马路。由于交互建模技术可以应用于不同的任务领域,因此作者将重点放在无论它们被设计用于哪种具体驾驶任务,都将其划分为不同的交互建模技术。

首先,可以在学习方法和基于模型的方法之间进行区分。在自动驾驶领域进行了广泛的研究,利用了机器学习和深度学习技术。在学习方法中,从大量数据集中学习模型。这一系列方法不需要对系统有任何先验知识。数据驱动方法是在示例数据集上训练的,然后用于进行预测或决策。相反,基于模型的方法从对系统的理论理解开始。这种先验知识用于创建系统的数学模型。然后使用经验数据来验证模型或调整其参数,以最小化模型预测与数据之间的差异。

基于另一个区分是方法是否明确利用人类思维的认知特征来解释人类行为,或者只是隐含地仿真交互,试图将环境输入映射到决策/行为。第三节介绍的人类行为研究可以作为发展明确方法的指南。例如,博弈论方法采用更明确的方法,将交通参与者视为理性的道路使用者商,他们积极考虑彼此的行动。另一方面,作为非认知方法的示例,社交力方法提供了更经验主义的观点,捕捉参与者对彼此行为的影响,而不明确详细说明解释道路使用者商在交互期间的推理的过程。作者建议根据它们是否明确地或隐含地仿真交互来区分现有的建模方法。

根据这两个标准,作者确定了四大交互建模类别,它们如下图8所示。

w~自动驾驶合集1_自动驾驶_31

基于学习的隐式方法

这些方法依赖于机器学习或深度学习技术。交互是隐式建模的,这意味着道路使用者的行为无法通过模型解释。模型只从数据中学习输入-输出映射。模型学习可以通过利用交互式模型架构来实现。一般来说,使用专门用于交互的神经网络架构的深度学习方法属于这个类别。

在这种类型的方法中,目标是学习一个概率生成模型,该模型预测道路使用者的未来行为a。该模型是在环境状态x的条件下的概率分布,其中包括周围道路使用者的状态,以及一组可学习的参数θ。

w~自动驾驶合集1_自动驾驶_32

基于学习的带认知特征的方法

这些方法依赖于明确手工制作的交互特征,这些特征被用作学习系统的输入。这种类型的交互特征可以包括时间间隔(TTC),相对距离等,反映了人类推理背后的某些认知过程。例如,在中,开发了一种利用车辆间交互的LSTM,用于分类周围车辆的变道意图。交互特征由风险矩阵组成,该矩阵考虑了周围车道中车辆的最坏情况TTC和相对距离。图卷积网络也属于这一类别,因为交互特征可以在图的邻接矩阵中明确建模。

在这种类型的方法中,目标是学习一个概率生成模型,该模型类似于1中预测道路使用者的未来行为。在这种情况下,概率分布可以在环境状态x和明确手工制作的交互特征I(x)的条件下。

w~自动驾驶合集1_自动驾驶_33

基于模型的非认知方法

这些方法中的建模是非认知的,因为交互不会主动推理出道路使用者行为背后的认知过程。该组方法包括社交力和势场。交互通过潜在函数(或SF)来描述,其中包含一组可学习的参数,这些参数可以根据经验数据进行调整。另一组方法包括基于驾驶风险场的方法,这些方法基于这样一个假设,即驾驶员行为是由基于风险的场域引起的。基于模型的隐式方法的优势在于它们可以很容易解释,并且可以嵌入领域知识,比如交通规则和场景背景。一些模型定义了一个潜在场,并将道路使用者的动作定义为与该场的梯度成正比。

w~自动驾驶合集1_自动驾驶_34

否则,可以直接对力进行建模,从而不需要梯度运算aF*(*x)。

基于模型的认知方法

基于模型的认知方法描述了人类决策背后的推理过程。可以区分为两类主要方法:效用最大化模型和认知模型。

在效用最大化方法中,人类被建模为优化器,选择其行动以最大化其未来效用。

w~自动驾驶合集1_自动驾驶_35

这些方法包括博弈论和马尔可夫决策过程(MDP)。在博弈论方法中,道路使用者被建模为相互竞争或合作的玩家,从而考虑到他们如何对彼此的反应。博弈论框架为建模人类驾驶员之间的动态交互提供了透明且明确的解决方案,允许对决策过程进行清晰的解释。然而,由于这种方法在道路使用者数量增加时计算复杂性不好处理,因此很难满足计算可处理性的要求。另一个可能的解决方案是将人类行为建模为MDP的道路使用者,这为在结果受到机会和决策者决策影响的情况下建模决策提供了出色的框架。MDPs的解决方案可以通过学习方法找到,例如DRL算法或蒙特卡洛树搜索,或者使用动态规划技术。

第二组方法旨在使用心理认知过程捕获道路使用者行为背后的行为动机。这组方法可以包括:

  • 刺激-响应模型,其中驾驶员或行人的行为取决于视网膜上的视觉刺激;
  • 证据积累,其中决策被描述为累积证据的结果;
  • 心灵理论,它表明人类使用对他人思想和行为的理解来做出决策。通过预测他人的行动并推断他们的知识,人类可以有效而安全地驾驶。

w~自动驾驶合集1_自动驾驶_36

在接下来的部分,将更详细地分析每个类别的交互建模。特别是,认知和非认知学习方法将在下一节中讨论。基于模型的认知方法已在第前面章节中进行了详细讨论,其中包括社交力和势场、驾驶风险场模型、心灵理论、刺激-响应模型和证据积累模型。后面章节将包括效用模型方法,其中包括MDP和博弈论。

基于学习的方法

机器学习(ML)方法广泛应用于自动驾驶的各种任务,包括目标检测、场景理解、路径规划和控制。通过从大量数据中学习,ML方法可以学会做出比人类更准确和高效的决策。本节将包括在前一节中确定的隐式和显式基于学习的方法,并更详细地介绍相关论文。下图9展示了一些基于学习的方法的概述。

w~自动驾驶合集1_自动驾驶_37

由于神经网络学习表示方面的最新进展,现在可以使用端到端的驾驶方法,将原始传感器数据作为输入,输出控制命令,如转向和油门,以解决路径规划和控制问题。然而,从高维原始感知数据(例如LiDAR点云、相机图像)中学习整个驾驶任务是具有挑战性的,因为这涉及同时学习感知和决策制定。在大多数工作中,学习如何行动的过程假设场景表示对运动规划和决策制定模块可用。实际上,这需要将端到端驾驶分为两个主要模块,一个模块中自动驾驶汽车学习如何看,另一个模块中学习如何行动。

有两种主要的端到端自动驾驶规划和控制任务的方法(学习如何行动):

  • 模仿学习:道路使用者学习模仿专家的行为。
  • 深度强化学习(DRL):道路使用者试图在仿真环境中进行的一种试错过程中学习如何行动。DRL方法将在后面章节中更详细地分析。

模仿学习是一种机器学习范例,道路使用者通过模仿专家演示者的行为来执行任务,这使其成为训练自主系统和机器人的有价值的方法。在[151]中,通过图注意力网络(GAT)学习交互特征。该网络的输入包括周围道路使用者的运动学信息以及编码来自鸟瞰图的场景表示的特征向量。该模型在CARLA仿真器中由专业驾驶员生成的合成数据上进行训练。模仿学习方法在与训练场景相似的情景中通常表现出色,但在场景偏离训练分布时通常会失败。像数据集聚合(DAgger)这样的算法可以通过为看不见的情况增加人标注的数据来改善模仿学习策略的性能。然而,要求专家标注新的训练样本可能既昂贵又不可行。

在场景理解和运动预测的背景下,深度神经网络已广泛使用。[127]等人在其神经网络架构中提出了一种社交池操作,以考虑人群运动预测中的周围邻居。类似地,使用具有最大池化操作的星形拓扑网络来考虑多智能体预测中的交互特征。CIDNN 使用LSTM跟踪人群中每个行人的移动,并根据他们与目标行人的接近程度为每个行人的运动特征分配权重,以进行位置预测。[129]的研究创建了一个数据集,并提出了一个名为VP-LSTM的框架,通过利用异质道路使用者的不同LSTM架构,预测拥挤混合场景中车辆和行人的轨迹。[130]中应用了生成对抗网络(GAN)来为场景中的任何道路使用者生成合理的预测。这些方法的共同特点是使用循环神经网络,结合池化操作,捕捉时空交互特征。在社交池操作期间,周围道路使用者的隐藏状态成为用于预测当前道路使用者运动的特征。扩散模型是另一组在建模时空轨迹方面越来越受欢迎的深度学习技术,可用于预测行人和车辆轨迹。

图卷积网络(GCNs)已广泛用于具有相互作用道路使用者的轨迹预测任务。在这些方法中,道路结构被表示为一个图,其中每个节点表示交通参与者。每个节点可以携带信息,如交通参与者的类别(汽车、卡车、行人等)、其位置或速度。显式交互可以在图的邻接矩阵中建模,而隐式部分包括图卷积层。GCNs广泛用于交通预测,并且最近还在运动规划中与DRL结合使用。

可以用于建模交互的其他机器学习技术包括高斯过程和概率图模型,包括隐马尔可夫模型。

基于效用的方法

基于效用的道路使用者使用效用函数来指导决策制定,为可能的世界状态分配值并选择导致最高效用的行动。与基于目标的道路使用者不同,后者根据目标满足程度评估状态,效用基的道路使用者可以处理多个目标并考虑概率和行动成本。效用基的方法包括马尔可夫决策过程(MDP)和博弈论模型。

马尔可夫决策过程

MDP是一种数学框架,用于建模决策问题,其中结果部分是随机的,部分是由决策者控制的。MDP的建模框架如下图10所示。有两种主要方法可以解决MDP问题:动态规划和强化学习。通常,后者更适用于自动驾驶,因为它们更适合高维状态空间。

w~自动驾驶合集1_自动驾驶_38

强化学习

强化学习(RL)利用马尔可夫决策过程(MDP)来建模复杂的环境,并包括一组算法来学习最大化期望奖励的策略。传统上,动态规划是实现这一目标的可靠方法,通过迭代计算每个状态的值,从终端状态开始,逆向工作到初始状态。该方法在状态空间较小的情况下表现出色。然而,在面对具有庞大状态空间的RL挑战时,例如自动驾驶的领域时,这可能会导致计算负担。更常见的是,使用深度神经网络(DRL)增强的RL。DRL算法在样本效率和可扩展性方面可能优于动态规划算法,但它们也可能更复杂,训练难度较大。有关DRL应用于自动驾驶的更详细调研,请参阅。

自动驾驶中的DRL解决方案将根据使用的场景、状态空间表示、动作空间和使用的算法进行分类。DRL中常用的状态表示见下图11:

  • 基于向量的表示:在这种表示类型中,有关周围车辆的信息,如位置和速度,包含在长度固定的向量中;
  • 鸟瞰图(BEV):从顶部视角呈现自车周围环境的2D图像表示;
  • 占用栅格表示:类似于BEV图像,它是围绕自车的环境的2D离散表示。它是一个2D或3D的单元格网格,每个单元格被分配被障碍物占用的概率,以及关于占用单元格的实体类型的分割信息。
  • 图表示:这是将自动驾驶汽车周围环境的状态表示为图的一种方式。图中的节点表示环境中的对象,如车辆、行人和红绿灯。图中的边表示对象之间的关系,如距离或潜在碰撞的可能性。图表示紧凑而高效,是表示环境状态的有前途的方法。

w~自动驾驶合集1_自动驾驶_39

基于向量的表示通过以紧凑而高效的方式表示对象,但以牺牲交通信息的方式,将其限制为周围车辆的固定维度子集。BEV图像和占用栅格提供了一种用固定方式表示环境的简单方法,可以轻松更新。然而,在高混杂度或不确定性的环境中,它们可能不准确。图表示可以以紧凑的方式轻松表示道路使用者之间的关系。另一方面,随着周围道路使用者数量的增加,更新图可能会变得复杂和计算昂贵。

动作空间可以是连续的或离散的。连续动作通常包括自车的纵向加速度和转向角。离散动作通常取决于正在解决的特定任务。例如,在变道场景中,离散动作包括左变道、保持当前道路或右变道。较低层控制器调节车辆的转向和加速度以执行该动作。

尽管大多数DRL论文关注仅有车辆的交通场景,但处理混合交通场景或车辆-行人交互的论文数量较有限。一些研究涉及移动机器人的人群导航。在[174]中,使用DRL在多智能体环境中导航机器人。在[175]中,通过使用基于注意力的神经网络和社交池提高了[174]中的模型。在[176]中,使用DQN道路使用者开发了一种自动制动系统。作者实现了一种创伤记忆,类似于优先经验重播(PER),用于从碰撞场景中采样。在[178]中,训练了一个DQN道路使用者来避免与横穿行人的碰撞,并进一步用于开发辅助驾驶员在行人避免碰撞情景中的ADAS系统。Deshpande等人使用了一个四层的网格状态表示。在类似的情景中,[180]的作者开发了一个使用连续动作的SAC道路使用者。通过在奖励函数中集成SVO组件,可以训练车辆具有不同的社交符合行为,从亲社会行为到更具攻击性的行为。

在实际场景中部署深度强化学习(DRL)面临着重大挑战,是一个开放的研究领域。一些研究,直接在实际应用中实施DRL策略,无需额外微调,展示了它们在无信号交叉口等场景中的有效性。迁移学习,深度学习的一个子领域,目前正在探索将知识从仿真环境转移到现实世界。两种主要技术包括域自适应和域随机化。在域随机化中,该方法旨在具有足够大的训练数据集,以涵盖真实世界作为特定情况。通过域自适应,目标是从源分布中学习一个在目标分布上表现良好的模型。

与DRL相关的另一个问题是,基于学习的策略具有较高的训练成本,并且很难实现语义解释。最近,一些研究人员专注于可解释的学习算法和终身学习算法来解决上述缺点。

多智能体强化学习

当多个RL道路使用者被部署到真实世界并相互交互时,问题变为多智能体强化学习(MARL)。为了处理多智能体系统,有多种方法可行。第一种方法是使用一个集中式控制器来管理整个车队。通过增加状态维度以包含所有车辆,并具有联合动作向量,问题可以再次变成单智能体问题。缺点是状态和动作空间的维度增加,这可能使学习变得更加复杂。最近,图形表示法已被用于克服问题的维度诅咒。另一种方法,受到Level-k博弈论的启发,是使用单个DRL学习器,但用其先前副本替换一些周围道路使用者。这种技术类似于在竞争性DRL场景中使用的自我对弈。最后一种方法是采用MARL方法来制定问题,其中多个学习器并行工作。在[187]中提出了一种多智能体深度确定性策略梯度(MADDPG)方法,该方法为每个道路使用者学习一个单独的集中式评论家,使每个道路使用者可以具有不同的奖励函数。详见,其中对MARL进行了广泛的调研。在自动驾驶中,MARL的其他应用可以在中找到。

部分可观察马尔可夫决策过程

部分可观察马尔可夫决策过程(POMDPs)是MDPs的一般化。如果过程状态s不能直接被决策者观察到,则MDP被认为是部分可观察的。POMDP在计算上很昂贵,但提供了一个通用的框架,可以对各种现实决策制定过程进行建模。由于硬件的改进,POMDP在自动驾驶的应用越来越受欢迎。在[190]中,POMDP已被用于在人群中导航移动机器人。机器人对行人的可能未来目标保持信念。POMDP还在存在行人时用于汽车决策制定。在POMDP中,将自车周围的道路使用者建模为环境的一部分,并使用信念向量来建模它们的意图。在[189]中,作者开发了一种多智能体相互作用感知的决策制定策略,该问题被建模为POMDP,并且使用基于注意力的神经网络机制来建模交互。POMDP还被用于解决交叉口处环境遮挡下的决策制定问题。有关POMDP在交互决策中的其他应用,请参见[193] [194]。传统的控制方法通常按顺序处理传感器不确定性和规划,在其中状态估计器处理传感器噪声和不确定性,然后使用确定性策略根据估计的状态确定动作。另一方面,POMDP不做这样的分离,策略是基于信念状态确定的。周围道路使用者可以被明确地建模为决策者(MARL),也可以被视为单个道路使用者在其中操作的环境(RL或DRL)。

w~自动驾驶合集1_自动驾驶_40

博弈论模型

博弈论是研究理性道路使用者之间战略交互的数学模型。博弈论主要应用于经济学,但也在自动驾驶中出现。特别是,对于自动驾驶来说,动态的非合作博弈论非常重要。如果博弈涉及多个决策且决策顺序重要,那么它是动态的;如果每个参与者都追求自己的兴趣,与其他人的兴趣部分冲突,那么它是非合作的。动态非合作博弈论包括离散时间和连续时间的博弈,并且它提供了对多智能体环境的最优控制的自然扩展。

博弈论研究在最优玩家假设下的平衡解,其中多个概念适用于轨迹博弈。动态博弈分为开环和反馈博弈,基于可用信息,开环假设每个玩家只能获得博弈的初始状态的信息。对于反馈博弈,每个道路使用者可获得博弈的当前状态的信息。尽管第二种类型的博弈更准确地描述了自动驾驶设置,但通常出于其简单性而更喜欢使用开环解决方案。自动驾驶中的常见平衡包括开环纳什、开环斯塔克尔伯格、闭环纳什和闭环斯塔克尔伯格平衡。有关该主题的更多详细信息,请参见[197]。

当道路使用者的动态必须符合一组约束,例如避免碰撞的约束时,平衡被称为广义平衡。[220]中研究了广义平衡问题的数值解。开环纳什均衡配方的缺点是玩家无法直接推断他们的行为如何影响周围道路使用者的行为。这方面的第一个简化是开环斯塔克尔伯格均衡,例如在[203]中应用于无人机自主比赛的背景下。在斯塔克尔伯格竞赛中,领导者首先行动,然后依次跟随后续玩家,允许那些具有较高优先级的人考虑那些具有较低优先级的人将如何计划他们的行动。在[207]中,作者提出了一种基于开环斯塔克尔伯格博弈的自主赛车的顺序双矩阵博弈方法。也可以找到斯塔克尔伯格配方的其他应用。可以在[223]中找到解决广义反馈纳什均衡问题的配方。Sadigh等人将自动驾驶汽车-人交互建模为Stackelberg竞赛中的部分可观察随机游戏。人类估计自动驾驶汽车的计划并相应行动,而自动驾驶汽车优化其自己的行动,假设对人类的行动具有间接控制权。

通常,博弈论方法面临以下问题:(1)计算复杂性随着道路使用者数量的增加和时间视角的增加而呈指数增长,(2)它们假设解释其他道路使用者行为的效用函数对自车辆是已知的,并且道路使用者根据这些奖励函数理性行事-然而在博弈论金融问题中已知,人类往往不是理性行事;(3)道路使用者的行为可能是随机的,并且解决混合或行为策略的计算变得更加棘手。自然地,博弈论还具有捕捉行为相互依赖性和一些问题的确切解决方案的巨大优势。博弈论自动驾驶领域的许多论文尝试通过进一步简化问题或找到近似解决方案来缓解这些问题。现在,将看一下该领域的一些论文,分析它们的简化假设。

w~自动驾驶合集1_自动驾驶_41

Level-k理论打破了纳什均衡理性期望逻辑,假设人们认为其他人比自己不那么复杂。这就是Level-k推理,其中迭代过程在k步之后停止。其他道路使用者被建模为Level-k-1的参与者。Level-k道路使用者假设所有其他道路使用者都是Level-(k-1),并基于这一假设进行预测,并相应地做出反应。在[219]中,Level-k推理被应用于环状交叉口场景。这种方法还在[206]中被纳入了一个RL框架中:作者将问题限制为两个交互道路使用者,并使用基于DQN的RL方法解决了具有两辆车的马尔可夫博弈。在[218]中,Level-k推理被采用来解决交叉口的冲突。作者们表明,在自车辆是Level-k道路使用者且所有周围车辆都是Level-k-1或更低级别的情况下,冲突可以很容易地解决。然而,当两个道路使用者都是相同级别时,碰撞的数量增加,这表明需要进一步改进以处理具有相同类型道路使用者的场景,这在多个自动驾驶汽车的情况下是至关重要的。

为了保持计算复杂性可控,可以通过确定与自车辆进行交互的所有道路使用者的子集来减少道路使用者的数量。时间视角也可以通过考虑远程视角控制器或暗示分层博弈规划而进行限制。后者包括具有短视角战术规划者和具有长视角战略规划者的组合。第一个负责准确仿真问题的动力学,第二个负责使用近似动力学决定战略。

迭代线性二次(LQ)方法在机器人学和控制领域日益普遍。[201]的作者将问题表述为具有非线性系统动力学的一般和差分博弈。在[202]中,他们将他们的方法扩展到具有反馈线性化动力学的系统。解决博弈理论问题的另一种方法是使用迭代最佳响应来计算纯纳什均衡,即纯策略中的纳什均衡。[216]的作者提出了一种“敏感性增强”的迭代最佳响应求解器。在[204]中,提出了一种基于IBR的在线博弈论轨迹规划器。该规划器适用于在线规划,并在竞争性赛车场景中展示出复杂的行为。Williams等人提出了一个IBR算法,以及一个信息论规划器,用于控制两个地面车辆在紧密接触中。

在[13]中,Schwarting等人提出了解决纳什均衡问题的迭代最佳响应的替代方法,该方法基于将优化问题重新制定为使用Karush–Kuhn–Tucker条件的本地单层优化。在[137]中,博弈论被用来建模其他车辆的决策制定。他们提出了一个并行游戏交互模型(PGIM),用于提供积极和社会合规的驾驶交互。为了解决环境不确定性,将博弈论的纳什均衡概念扩展到POMDPs。在[215]中,作者通过构建关于其他道路使用者目标和约束的多个假设,对其他道路使用者的意图存在不确定性进行了考虑。

讨论与未来挑战

在这次全面的调研中,介绍了对自动驾驶进展至关重要的两个关键部分:人类行为研究和交互建模。这些部分构成了理解和优化自动驾驶场景中复杂交交互态的基础。在本部分,将强调未来自动驾驶研究中交互场景的挑战和研究方向。

人类行为研究

在社会对自动驾驶的强烈愿望驱动下,人类行为研究在近年来再次成为一个热门话题,尤其是在自动驾驶汽车背景下的研究。为了更好地理解自动驾驶汽车交互过程中的行人行为,仍然需要克服许多挑战。

总体而言,驾驶员行为模型的探索是一个具有潜力的研究领域,有望在交通系统的安全性和效率方面取得实质性的改进。然而,在这些模型的开发和验证方面仍有大量工作需要进行。未来研究应优先考虑创建更全面的模型,涵盖更广泛的因素,包括驾驶员的心理状态、周围环境以及与道路上其他人的交互。

对于行人行为研究,一个重要的挑战是沟通。首先,尽管大多数研究者都同意eHMI的有效性,但在其内容、形式和视角方面仍然缺乏共识。一个悬而未决的问题是,eHMI是否应该是拟人化的还是非拟人化的。对于文本和非文本的eHMI,也出现了类似的问题。此外,由于道路上存在多个行人,当前的eHMI主要设计为一对一的相遇,这可能会误导其他行人。还存在许多类似的问题,阻碍了eHMI的标准化。另一方面,由于诸如车辆运动学之类的隐含信号被广泛接受、普遍、常见且可靠,因此它们的关键作用不能被忽视。虽然研究人员已经尝试通过操纵隐含信号(如车辆减速率、横向距离和俯仰)来影响行人,但这些努力不足以确保安全有效的沟通。这些沟通方法缺乏相关理论支持,以证明沟通信息的准确有效传递。此外,在研究方法方面,包括车辆驾驶行为设计、主观和客观实验设计等方面,可靠的研究范式的缺乏也是一个问题。另外,如何有效而流畅地将eHMI和隐含信号结合起来,以利用双方的优势,也是一个有趣的研究方向。

另一个挑战是行人行为研究。行人的决策制定和行为模式受到交互情境、交通环境和参与者多样性的影响。然而,这些方面目前缺乏足够的研究关注。现有研究通常侧重于特定和简单的交互情境,以控制变量或简化研究复杂性。然而,现实生活中涉及大量复杂情景,包括多车道、双向或非结构化道路的过路口、面对密集连续交通流的过路口、多行人过马路的情景等。此外,行人的异质性,如性别、年龄、分心和群体效应,也在交互中发挥着重要作用。值得注意的是,许多影响因素,如等待时间和分心,仍然缺乏共识。因此,由于缺乏充足且可靠的结果,研究结论主要依赖于假设,突显了对行人道路行为基本机制理解的不足

关于行人行为建模,近年来基于学习的方法变得越来越吸引人。端到端的深度神经网络可以有效捕捉复杂的行为机制,在行人意图预测和轨迹预测领域取得了显著进展。然而,其黑盒性质不能忽视。这些方法需要大量的数据来实现稳健的性能,这限制了它们对数据不足的零星案例的可扩展性。此外,黑盒模型在解释其决策和行为逻辑方面存在困难,这给建模带来了新问题。相反,专家模型,如社会力模型、证据积累模型或博弈论模型,具有坚实的心理和行为基础,其行为决策逻辑清晰且可解释。然而,大多数这些模型只在有限的数据集上进行了验证,或者仍处于实验室验证阶段,缺乏大量的工程实践。因此,未来需要进一步完善专家模型的理论,并在大量真实数据集上进行广泛验证。此外,专家模型和数据驱动模型在不同方面具有优势。可能的未来趋势是找到两种模型共同使用的平衡点。

最后,考虑到关于自动驾驶的整体文献中只有很小一部分明确考虑了行人行为,有必要增加行人行为模型的应用,可能包括但不限于行人行为预测、自动驾驶汽车行为设计和虚拟自动驾驶汽车验证。

交互建模

随着自动驾驶技术的不断发展,对交互建模的研究将在解决挑战和推动更安全、可靠的自动驾驶车辆发展中发挥关键作用。

自动驾驶研究中引起关注的一种突出方法是使用基于学习的方法。这些方法具有端到端解决方案的吸引力,直接将感知输入和目的地知识映射到自动驾驶车辆的行为中。然而,这样的系统可能表现为黑盒,导致在出现故障时解释性问题以及对模型进行验证的困难。此外,完成整个驾驶过程的任务庞大,即学习整个驾驶过程,这也带来了重大挑战。因此,当前的研究努力将这一任务分解为子任务,包括路线规划、感知、运动规划和控制,并利用基于学习的方法来解决这些部分挑战。

通过模仿学习或在深度强化学习(DRL)方法中进行仿真来学习交互行为的优势也在不断增强。然而,挑战依然存在。大多数基于深度学习的决策假设理想的道路场景和对周围环境的完美感知。然而,现实世界的条件往往涉及遮挡、传感器噪声和环境异常。在这些偶发事件中保持系统性能并处理部分或嘈杂信息是一个持续存在的研究挑战。不确定性来自周围交通参与者的不可预测行为,以及传感器噪声和车辆模型。此外,在仿真环境中训练的模型(如DRL模型)引发了一个问题,即如何弥合仿真和现实之间的差距。已经提出了几种策略,包括使仿真更加现实、领域随机化和领域自适应。这些方法旨在使模型能够应对现实世界的不可预测性和复杂性,确保其在道路上有效应用所学到的知识。

学习为基础的方法的另一种替代方法是基于模型的方法。这组方法包括博弈论模型、行为模型(在前一部分中已讨论)、社会力和势场。

博弈论提供了灵活性和适应性,可以有效处理各种情况,而无需依赖特定的数据分布。其关键优势之一是能够在给定情境中处理道路使用者的规划和预测。然而,计算方面存在一种权衡。随着道路使用者数量和时间范围的增加,计算负担也增加。研究人员提出了一些增强博弈论解决方案的策略,包括分层博弈论公式、将周围道路使用者的优化问题限制为近似解决方案、级别k博弈论,或提高非线性优化求解器的性能。

另一方面,社会力或势场方法提供了一种快速计算的解决方案。它们可以用于预测周围道路使用者的行为,也可以用于自动驾驶车辆的控制。社会力模型依赖于对人类行为的简化假设。它们通常将行人视为具有固定特征的粒子或道路使用者,忽视了人类决策制定的认知方面,这可能导致对复杂且动态的人类行为的不切实际的表示。这些方法的未来研究方向包括整合认知元素或上下文信息,如道路规则和交通信号。探索整合机器学习技术以提高社会力模型的适应性和预测能力也是可能的未来研究方向。

现有研究主要集中在车辆之间的交互中,这在自动驾驶中无疑起着关键作用。然而,有迫切需要开发能够处理与人类道路用户的交互,尤其是行人交互的方法。随着自动驾驶领域的不断发展,揭示治理与各种道路用户之间的沟通和交互的理论和模型,将在技术上变得更加重要,有望推动自动驾驶场景中的安全性和效率。






#自动驾驶~BEV感知

这有可能是更的最长的文章系列了,先说为什么,一方面是看到分割大模型对小模型的提升效果需要时间,另一方面是之前对自动驾驶的BEV算法做了很长时间的预研,自己也应该好好梳理一下了。

(很多事情都是环环相扣,都需要去决断。比如分割大模型对小模型性能有没有提升,效果提升的投入和输出是否合适,提升不大还有有没有必要继续做,是换个方向还是继续探索,继续探索还有多少资源支撑,太多太多了。bev预研到什么时候才有可能落地,看过的paper有没有转化为产出的机会,产出能不能给自己带来收益,这些也都是问题。虽然看起来问题很复杂,但不过也就是个隐马尔可夫或者CRF,一切都还在变化之中,静待靴子落地吧)

其实自动驾驶bev算法是个很宽泛的说法,bev也就是bird's-eye-view,是指从鸟瞰视角来做task的范式;从数据来说有纯视觉的bev,纯雷达的bev,也有视觉雷达or其他多传感器融合的bev。

这也是有很多说法的,对于一个公司项目来说,走什么样的技术路线,用什么样的传感器,运行在什么平台上,都对相应的算法有着要求,在现实的种种妥协之下最sota的算法也不一定就是最好的,指标高的算法也不见得就一定是能用的。

就先简单说一下,也给大家share一下自己的一些paper list:

camera bev :

1. Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D

  • 点评:纯视觉bev的开山鼻祖,在后续的文章里面但凡有用到将二维图像feature提升到三维空间然后拍扁到bev空间都有用到其提出的lift-splat的操作,代码也很干脆易读。(shoot部分是做规划的,代码没开出来)核心是将每个图像单独提升为一个特征的视锥,然后将所有视锥拍平到栅格化的BEV网格上,如下图所示。

w~自动驾驶合集1_自动驾驶_42

当然由于是初代版本也就不可避免的存在一些问题,最主要的两个点,一是splat的过程中运算耗时,二是在深度估计部分由于给予每个点可能的深度时并没有用深度真值监督,导致不够准确,越远效果越差性能和现在的新一些算法比起来差很多。但这仍旧不妨碍其在bev算法中的份量。

题外话:我也有过对lss进行优化,说来话长,可以给大家推一些我之前相关的博文。简单说就是之前有想着打一打nuscenes的榜单,对公司对自己也都有好处,于是就打算从Lss入手来搞,当时主要考虑他是plug and play 的,基于lss的bev算法很多,如果能在这样基础算法上做出改进那就可以对所有使用了lss模块的算法都带来提升,这是一件有意义的事情。至于后面就不说了,都是汗与累啊!

一个是对代码的解读

一个是对LSS做改进的nuscenes sota

一个是我之前搞得nuscenes 深度图

2. M2BEV: Multi-Camera Joint 3D Detection and Segmentation with Unified Bird's-Eye View Representation

  • 点评:这是一篇没有开源的文章,和lss一样也是nvidia的工作,也是从2d到3d再投影到bev空间但由于假设沿射线的深度分布是均匀的,这意味着沿相机射线的所有体素都填充与2D空间中单个像素对应的相同特征,所以内存高效速度更快,单从文章看效果比lss要好,号称是第一个用统一框架同时做检测和分割任务的,但没开源。
  • 这里有一个点是,这篇文章假设沿着射线的深度分布是均匀的,这意味着沿着相机射线的所有体素都填充有与2D空间中的P中的单个像素相对应的相同特征。好处是这种统一的假设通过减少学习参数的数量来提高计算和存储效率。但lss却不是这样,他是a non-uniform depth distribution。

w~自动驾驶合集1_自动驾驶_43

3. BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View

  • 点评:lss算法后来者,或者说包了一层皮(有点直白),改进了前处理和后处理核心没变,之前lss是做分割任务,这篇是拿来做检测任务。这篇工作是鉴智机器人做的,后续还有一系列文章与改进版本。虽然但是从这里开始后面的很多文章就会对lss中的所谓“棱台求和”部分进行优化和加速了。

题外话(+1):鉴智机器人还是可以的创始人都是清华背景,当初大概21年后半年的时候有面过,那时候他们刚开始创业也就几十个人,说过去做感知后处理,非常可惜当时自己也还年轻,互相也都没看上。后面再来看他们确实做了不少有意义的工作,点赞!不过现在自动驾驶环境也一般,大家也都过的不容易。

w~自动驾驶合集1_自动驾驶_44

这里给大家放一下bevdet系列的发展历程:

w~自动驾驶合集1_自动驾驶_45

bevdet做出来以后,后面还有bevdet4d (BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection)主要就是增加了时序,将过去帧与当前帧特征融合来提高精度,比较有趣的。主要原因有:在做特征融合的时候,BEVDet4D在BEVDet的基础上,通过保留过去帧的中间BEV特征,并通过与当前帧对齐和拼接来融合特征。这样,BEVDet4D可以通过查询两个候选特征来获取时间线索,而仅需要可忽略的计算增加。对任务进行了简化,BEVDet4D通过移除自我运动和时间因素来简化速度预测任务。这使得BEVDet4D能够减少速度误差,使得基于视觉的方法在这方面首次与依赖LiDAR或雷达的方法相媲美。BEVDet4D的性能提升主要来源于速度估计更准确1。此外,小模型上的mAP有一定的增长,主要是小分辨率无法覆盖50米的范围,历史帧提供了一定的线索。

在往后就是bevpoolv2主要做对于lift-splat的提速,用预处理来优化计算流程做到了4.6 - 15.1倍速度的提升,同时也降低了内存的占用。这个处理确实很高级,点赞!对于工程化落地来说真是太重要了。

w~自动驾驶合集1_自动驾驶_46

截止到2023年12月22日,bevdet系列的最新发展是DAL(Detecting As Labeling:Rethinking LiDAR-camera Fusion in 3D Object Detection),是做视觉和lidar融合的,效果和速度都有提升。如果直接点说,和bevfusion(mit版本)的流程大同小异,只是在视觉雷达的分支上更加相信雷达,然后包了一个“模仿数据注释过程”的故事,比较粗浅的来说就是这样。当然这并不妨碍人家效果好,也还是做了很多细节上的工作的。也比较期待他们接下来的工作。

以下是DAL paper中的框架图:

w~自动驾驶合集1_自动驾驶_47

4. BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers

  • 点评:使用transformer和temporal来做bev感知任务(检测和分割)提升性能,有一些设计比如bev queries,spatial cross-attention,temporal self-attention。主要注意的是这里的两个attention并不是经典的transformer,而是用的DeformAtt.这里我记得当时在看整个流程的时候废了一点功夫,代码也相对来说复杂一些。

不过大家也可以从这里开始,顺便看一看detr的发展脉络。这里的bev queries 是随机生成初始化的,然后我记得后面有一篇nvidia打榜cvpr 2023 挑战赛的时候的fb-bev or fb-occ来着,对于queries的初始化这部分有做改进,能学的快一点。

w~自动驾驶合集1_自动驾驶_48

上面是论文出处,不是我乱说哦!这里没有把这篇文章放进来主要是最开始fb-occ是做占用网格用的,后面做bev放出来的fb-bev效果反倒没有很惊艳,再加上打榜的工作本来就不是为了产品化来设计的,前向投影查一遍反向投影(2d-3d,3d-2d)速度当然就很慢了,所以就没说。(不过也有懒得成分了)

w~自动驾驶合集1_自动驾驶_49

后续还有一些改进的版本,比如BEVFormer++,bevformerv2当然这个工作不是原班人马,所以就简单说一下bevformerv2。这篇主要就是没开源,paper说要开但是还没,所以也就只能看看idea;bevformer++

则是一篇技术报告,原班人马拿了Waymo Open Dataset Challenge 2022的第一名,可以看一看吧。

5. BEVDepth: Acquisition of Reliable Depth for Multi-view 3D Object Detection

  • 点评:bevdepth是我非常欣赏的一篇工作,在lss的基础上用雷达作为深度的真值,深度估计网络考虑到相机内参,深度细化模块专门对深度估计部分进行了优化,更重要的是使用gpu并行对原来lss的"cumsum trick"进行了优化,大大提升了lss环节的速度,在gpu下相较原版lss快了80x。真是把lss depth估计的效果提升了一个档次(其实这也是我当时想在lss深度上做文章的灵感来源,ps这句话不重要)

w~自动驾驶合集1_自动驾驶_50

6. CVT:Cross-view Transformers for real-time Map-view Semantic Segmentation

  • 点评:前视图投影顶视图的原理,用transformer的注意力机制搞跨视图分割。

w~自动驾驶合集1_自动驾驶_51

w~自动驾驶合集1_自动驾驶_52

7. GKT:Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guided Kernel Transformer

  • 点评:之前有注释过核心代码,不是什么很出名的paper,像其他的可能都是cvpr,eccv,iccv啥的,之所以会搞这个主要是当时有项目在地平线的芯片上,他们对这个算法有支持,然后一看原来是人在地平线实习的时候搞得,目前为止没看到有中稿,就他们自家东西支持一下我觉得也很正常。感兴趣大家可以自己看看,简单说是bev投到图像,然后在投影周边一定范围内做注意力,当然也有一些其他的比如对外参加一些噪声让网络更鲁棒,建查找表加速。

lidar det:

对于雷达来说,bev其实就没有那么必须,雷达bev和detection关系比较密切。一般用雷达做检测有几个范式?不知道咋说,要么就是基于点来做,像pointnet,pointnet++;基于视角来做的话就可以是顶视这就是bev,也可以是前视图,这两种视角变化做雷达图像融合也会看到的;也可以基于体素来做。当然这么说并不准确,不管什么范式总有互相借鉴的地方。

1. pointpillar

  • 点评:,很久之前浅浅有做过个ppt,当时主要是当科普来讲,所以没有很细,但确实是篇对工业界有用的paper,点赞!

2. centerpoint

  • 点评:CenterPoint使用标准的基于激光雷达的主干网络,VoxelNet或PointPillars。CenterPoint预测连续帧之间物体的相对偏移(速度),然后贪婪地连接这些帧。因此,在CenterPoint中,3D物体跟踪简化为贪婪的最近点匹配。这种检测和跟踪算法既高效又有效。在nuScenes基准测试中,CenterPoint实现了最先进的性能。在Waymo开放数据集上,CenterPoint的性能超过了所有以前的单一模型方法。
  • 青出于蓝胜于蓝,也是一篇很不错的paper,工业界目前还有在使用的,点赞!

fusion bev:

1.BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird's-Eye View Representation [code]

w~自动驾驶合集1_自动驾驶_53

  • 点评:bevfusion是一篇图像激光雷达融合的bev算法,支持同时检测和分割任务。在nuScenes detection task

榜单上有许多该方法的变体,从总体架构上来看基本方法很清晰,camera分支和lidar分支分别提取特征,然后转移到共享的bev空间下,再提取bev特征来做多任务,真可谓是大道至简。值得一提的是,bevfusion对于camera to bev 部分的优化做了不少工作,预计算部分减少了13ms,gpu计算间隔优化减少了498ms,真是把优化做到了极致,很多公司都做不到这样。

w~自动驾驶合集1_自动驾驶_54

此外,从paper实验对比部分我们也能看出bevfusion的强大,对于许多想学习bev的工程师来说bevfusion真是一个很优秀的框架了,正如团队所说希望BEVFusion可以作为一个简单但强大的基线,启发未来多任务多传感器融合的研究。但遗憾的是,尽管团队针对速度做了很多工作但仍不能达到实时。(8.4 FPS)   

在实际的工程项目中,如果想要使用bevfusion最大的问题其实还是优化问题,因为作者的优化都是基于cuda是做的,一旦离开nvidia的平台很多地方会受到影响,这部分就需要针对不同平台来编写定制化的算子。

w~自动驾驶合集1_自动驾驶_55

2. Cross Modal Transformer: Towards Fast and Robust 3D Object Detection [code]

w~自动驾驶合集1_自动驾驶_56

当然算法永远是在进步更新的,新算法往往会更快更强,就比如CMT也是在nuscenes 榜上有名的。既然都说到这里了,那就简单说一下cmt精髓,属实是把位置编码玩明白了。

对于图像,先把pixel左乘内参的逆然后乘外参转到雷达坐标系下,然后用mlp输出其位置编码

w~自动驾驶合集1_自动驾驶_57

代码如下:这个参考点是可以学习的

w~自动驾驶合集1_自动驾驶_58

最主要的操作就是这个了。在paper里面也写的很清楚,bevfusion是两个模态转到bev空间后拼接,transfusion先在lidar特征中生成Q取top-k再查图像特征。而CMT则是对象查询直接与多模态特征同时交互,使用位置编码来对齐两个模态。当然也取得了不错的效果。

w~自动驾驶合集1_自动驾驶_59

3.TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers [code]

  • 点评:transfusion当然也是一篇不错的工作,而且除检测外还做了跟踪,当时在nuScenes跟踪排行榜上排名第一。一个主要的亮点是,使用了一种软关联机制,可以处理图像质量较差和传感器未配准的情况。这种机制使得模型能够自适应地确定从图像中获取何处和何种信息,从而实现了一种鲁棒且有效的融合策略。简单说就是利用cross-attention建立了激光雷达和图像之间的soft association。翻译一下论文就是:

(Spatially Modulated Cross Attention,SMCA)模块通过在每个查询的投影2D中心周围使用一个2D圆形高斯掩膜来加权交叉注意力。权重掩膜M的生成方式与CenterNet[66]类似,使用了以下公式:

w~自动驾驶合集1_自动驾驶_60

当然他的问题在于如果图像质量极差,例如在照明条件较差的情况下,其性能可能会受到影响。由于使用了Transformer解码器,因此会增加计算复杂度和内存需求。(不过毕竟是fusion的bev跑实时确实不容易,更不用说之后的占用网格)

从上面对比的一系列表格也可以看出,bev相关的paper还是很多的,大家感兴趣可以随便找一篇相关文章,然后从对比表格中找到一连串同类型文章。此外,这篇博客也只是粗浅的写一些与我相关的见过的部分paper,也只是个开篇,等有空的时候会陆续再更新吧。

Interesting thing

写到这里了就再分享个自己觉得有趣的事情,那就是有一件看似很反直觉的事情,单从fusion bev的三个算法来看cmt明显性能不错,速度也可以,其次是bevfusion,最后是transfusion。但如果去看这三者的github就会发现,最好的cmt其实是受关注最少的,transfusion是fork最多的,bevfusion是star最多的。以下数据截止到2023年12月27日.

  • Transfusion 1.4k fork,539 star
  • CMT 30 fork,259 star
  • bevfusion 322 fork,1.8k star







#自动驾驶策略预训练~无标注网络驾驶视频

2023 年 1 月 21 日,人工智能顶级会议 ICLR 2023(International Conference on Learning Representations)投稿结果正式公布。上海人工智能实验室自动驾驶 OpenDriveLab 团队成果 —— 基于自监督几何建模的自动驾驶策略预训练方法(PPGeo)被正式录用。PPGeo 是一个基于几何建模的自监督预训练框架,利用大量无标注网络驾驶视频,以自监督的方式对驾驶策略进行预训练,将会显著提升下游端到端感知决策任务的性能

驾驶策略学习的特殊性

自动驾驶领域中的端到端驾驶策略学习将原始传感器数据(图片,车身信号,点云等)作为输入,直接预测控制信号或规划路线。由于驾驶环境的复杂性和不确定性以及传感器数据中的大量无关信息,对于端到端的驾驶策略模型,从头开始学习是很困难的,它通常需要大量的标注数据或环境交互反馈才能达到令人满意的性能。

如图 1 所示,自然环境中存在着许多不需要关注的信息如建筑物、天气变化以及光照变化等,于驾驶任务而言,下一步往哪里行驶,信号灯是否允许通行,这些信息才是真正需要关注的。

  • (a) 静态障碍物和背景建筑物(黄色矩形中的物体)与驾驶决策无关;
  • (b) 视觉输入中的交通信号(标有绿色框)仅占图片的很小一部分,但对于控制输出而言却是确定性的; 
  • (c) 端到端驾驶策略模型必须对不同的光照和天气条件具有鲁棒性。

w~自动驾驶合集1_自动驾驶_61

 图 1:PPGeo 研究动机 

当前预训练方法在策略学习任务中的限制

为解决端到端的驾驶策略模型对于大规模标注数据的需求,采用无标注的驾驶视频 (如图 2)数据对驾驶策略模型的感知部分进行预训练是很自然的思路,因此获得了非常广泛有效的应用,主流的预训练方法包括分类,对比学习,掩码图像建模。然而,不同于常见的检测和分割任务,端到端驾驶策略学习对自车的位姿敏感,缺乏平移或视角不变性。这也使得常见视觉任务预训练的常胜将军们,在端到端驾驶策略学习任务上败下阵来。由于上文提到的端到端驾驶任务输入的特殊性,其他机器人领域的视觉控制任务使用的预训练方法在这里也表现相对有限。

w~自动驾驶合集1_自动驾驶_62

图 2:YouTube 上驾驶视频数据示例

对此,OpenDriveLab 团队提出一个基于自监督几何建模的端到端自动驾驶策略预训练方法(PPGeo)

  • 论文地址:https://arxiv.org/abs/2301.01006
  • 项目地址:https://github.com/OpenDriveLab/PPGeo

基于自监督几何建模的策略预训练

PPGeo 分为两个阶段,在第一阶段,根据时序前后帧图像训练位姿和深度预测网络;在第二阶段,利用第一阶段训练的深度网络和位姿网络监督单图像输入的视觉编码器,完成视觉编码器的预训练。将使用 PPGeo 预训练后的视觉编码器进行微调,可以适配于下游不同的端到端自动驾驶任务。实验表明,基于 PPGeo 的预训练方法相比于其他预训练方法在下游任务上具有更好的驾驶性能。

w~自动驾驶合集1_自动驾驶_63

图 3:PPGeo 的概述。(a) 在第一阶段 (a.1), 利用前后帧图像作为输入,训练一个位姿预测网络 PoseNet 和深度预测网络 DepthNet,位姿预测网络通过比较前后帧图片推测出自车运动,并结合深度和相机内参估计完成两帧之间的像素对应,从而形成监督。在第二阶段 (a.2),待预训练的视觉编码器仅以单帧图像作为输入,在当前帧图像中捕捉与驾驶策略真正相关的信息来预测自车运动,并利用第一阶段获得的内参和深度估计完成像素对应。在这个说明性的例子中,自车需要刹车。位姿预测网络(a.1)根据连续两帧几乎没有变化来推断出刹车行为;而视觉编码器(a.2)根据单一视觉输入中前方有他车来做出预测。(b) 视觉编码器可以被微调并应用于广泛的下游任务中。

第一阶段 - 自监督的几何建模

通过给定一个目标图像 I_t 和源图像 I_(t^' ),估计目标图像的深度、相机的内参,以及这两帧之间的六自由度自车运动。根据这些估计结果,我们可以对场景的三维几何形状进行建模,并通过在源图像中投影像素来重建目标图像,根据重建的光度误差计算损失进行自监督训练。

第二阶段 - 视觉运动策略预训练

经过第一阶段的训练后,估计深度的 DepthNet 和估计位姿变化的 PoseNet 经过良好的训练,已经拟合了驾驶视频数据。在第二阶段,我们将用于下游驾驶策略学习任务的视觉编码器 φ(X) 替换 PoseNet。现在,视觉编码器只接受单帧图像作为输入,并预测当前帧和后续帧之间的自车运动。当前到未来帧的自车运动直接与当前时刻下的驾驶决策或行动相关, 因此视觉编码器能够通过预测自车运动学习到实际的驾驶策略。

至此,视觉编码器 φ(X) 已经从大量的驾驶视频中获得了关于驾驶策略的知识。它可以作为初始权值应用于下游的端到端自动驾驶任务。此外,经过在大量无标注校准的视频数据上训练的 DepthNet 和 PoseNet 也可以用于深度和测程估计任务。

PPGeo 性能比较

PPGeo 的预训练实验是在大量无标注的 YouTube 驾驶视频上进行。我们在 1Hz 的频率下总共采样了 80 万帧样本来进行训练,训练样本涵盖了诸如地理位置和天气等不同的驾驶条件(如上图 2)。

下游自动驾驶任务实验

Navigation&Navigation  Dynamic - 基于 CARLA 的两个用于模拟学习的闭环驾驶任务

我们使用不同大小的训练数据(从 4K 到 40K)在标记数据有限的情况下评估预训练视觉编码器的泛化能力并进行闭环评估。评估指标是成功率,表示在 50 条预定义路线中完成驾驶路线没有发生任何碰撞的比率。相较于 Navigation 任务,Navigation Dynamic 中还包括其他动态车辆和行人(如图 4)。

w~自动驾驶合集1_自动驾驶_64


 图 4:导航和导航动态任务的前视图图像示例  

w~自动驾驶合集1_自动驾驶_65

表 1:闭环导航任务的成功率结果 

可以看到,模型在从 10%  (4K)  到 100%(40K)的不同数量的微调样本下进行测试。在训练样本量特别小的情况下,PPGeo 依然表现出有竞争力的表现,并且相对其他方法有超过 100% 的提升。这验证了预训练视觉编码器的泛化能力,这在适应标记数据非常有限的新环境时非常重要。

Leaderboard‑Town05‑long

Leaderboard‑Town05‑long 的 10 条长距离路线任务更接近现实世界的城市驾驶,在路线中添加了不同的挑战性场景。由于此任务中具有挑战性的场景,我们使用最先进的基于单帧图像的自动驾驶模型 TCP (NeurIPS 2022)来评估不同的预训练方法。该任务的主要指标是驾驶分数、路线完成和违规分数(均越高越好)。

如表 2 所示,在更具挑战性和真实世界风格的 Leaderboard Town05-Long 任务中,使用我们的方法预训练的模型获得了最高的驾驶分数和违规分数。PPGeo 可以很好地处理自车需要刹车的情况,从而大大减少车辆碰撞和闯红灯的情况。

w~自动驾驶合集1_自动驾驶_66

表 2:闭环任务 Town05-long 任务结果。除三个主要指标外,其余违规详细信息(越低越好)上 PPGeo 也均表现优秀

强化学习在 CARLA 中的驾驶任务

我们进一步验证预训练方法对于强化学习任务的帮助。我们使用强化学习算法近端策略优化  (PPO)  在 CARLA Town01 环境中训练使用不同预训练权重初始化的 CILRS 模型(左)。我们进一步实验在训练期间冻结预训练的视觉编码器(右),以更好地研究预训练特征表示的有效性。

w~自动驾驶合集1_自动驾驶_67

图 5:使用  PPGeo  和其他三个最佳预训练方法的强化学习学习曲线。左:预训练视觉编码器在 RL 训练期间联合微调;右:视觉编码器在 RL 训练期间被冻结

NuScenes 上的开环规划任务

我们使用真实世界的 NuScenes 数据集评价不同时间长度下的轨迹规划预测与实际真实轨迹之间的 L2 距离以及规划轨迹导致的碰撞率。相较其它预训练方法,PPGeo 在下游开环规划任务上也取得了最优的效果。 

w~自动驾驶合集1_自动驾驶_68

表 3:NuScenes 开环轨迹规划结果

可视化结果

图 6 展示的是不同预训练方法学习的特征表示的热图。在许多情况下,我们的模型关注部分主要集中在与驾驶高度相关的自车前方的车道。PPGeo 还很好地捕捉到了导致刹车动作的特定线索,包括前方车辆(第 3 和 4 行)和交通信号灯(第 5 行)。我们还观察到,使用 ImageNet 分类预训练的模型倾向于捕获图像中的显著对象,当显著对象与驾驶决策直接相关时(第 4 行),该模型可以正常工作;但当输入包含其他不相关信息时(第 2 行和第 3 行),该模型可能会关注错误的对象。

w~自动驾驶合集1_自动驾驶_69

图 6:驾驶视频数据上不同预训练方法学习表征的可视化热图  

消融研究

就表 4 中的导航任务对 PPGeo 的不同设计进行了消融研究。同时在单个阶段(第 1 行)训练视觉编码器和 DepthNet 导致性能变差,这表明同时从头开始进行对深度估计网络和预测自车运动的视觉编码器的训练过于困难。此外,在第二阶段(第 2 行)联合优化 DepthNet 会降低深度估计质量并损害性能。在第 3 行中,我们观察到利用第一阶段获得的 PoseNet 提供伪标签监督将会导致较差的结果,因为单个不准确的伪标签在很大程度上对学习过程造成影响,而通过像素重建的方式可以获得更加稠密丰富的监督。

w~自动驾驶合集1_自动驾驶_70


 表 4:PPGeo 的关键设计消融研究

总结

  • 我们提出了一种针对视觉运动驾驶任务的预训练范式 PPGeo。这是第一个完全自监督的预训练框架,不需要任何标签和额外数据,可以充分利用大规模的无标注数据。
  • 经过预训练的视觉编码器,能够基于单一的视觉输入预测自车运动,并提取与驾驶策略密切相关的特征表征。这种视觉编码器的设计可以灵活地扩展到各种下游应用程序。
  • 我们在一系列端到端驾驶任务上展示了我们的方法的优越性,涵盖了不同的类型和难度级别。在数据非常有限的具有挑战性的情况下,各种指标方面的性能从 2% 提高到甚至超过 100%。
  • 使用第一阶段训练后的 DepthNet 和 PoseNet 作为初始权重,并在 KITTI 上进行实验。证明了通过大规模驾驶视频的预训练也可以提高深度和测程估计任务的性能,这是我们的预训练框架的额外收获。