UniV2X
- 一、文章基本信息
- 二、文章背景
- 三、UniV2X框架
- 1. 车路协同自动驾驶问题定义
- 2. 稀疏-密集混合形态数据
- 3. 交叉视图数据融合(智能体融合)
- 4. 交叉视图数据融合(车道融合)
- 5. 交叉视图数据融合(占用融合)
- 6. 规划输出 Planning Output
- 四、实验
- 1. 实验设置
- 2. DAIR-V2X上的实验结果
- 3. 关于可靠性的消融实验
- 五、总结
一、文章基本信息
标题 | End-to-end autonomous driving through V2X cooperation |
---|---|
会议 | AAAI(Association for the Advancement of Artificial Intelligence) |
作者 | Haibao Yu;Wenxian Yang;Jiaru Zhong;Zhenwei Yang;Siqi Fan;Ping Luo;Zaiqing Nie |
主要单位 | The University of Hong Kong;AI Industry research (AIR), Tsinghua University |
日期 | v1:2024年3月31日;v3:2024年12月24日 |
论文链接 | https://arxiv.org/abs/2404.00717 |
代码链接 | https://github.com/AIR-THU/UniV2X |
摘要: 通过车联网通信来利用自车和路侧传感器的数据已经成为高阶自动驾驶的前景方法。然而,目前的研究主要聚焦于提高单一模块,而不是采用端到端的学习来优化最终规划性能,导致数据潜力未能充分利用。在这篇文章中,作者引入了一个UniV2X的先进协同自动驾驶框架,将不同视角下的所有关键的驾驶模块无缝地融合到一个统一的框架下。作者提出了一个稀疏-密集混合的数据传输和融合机制来促进车辆和基础设施的协同,主要有三个优点: |
文章框架:
二、文章背景
尽管自动驾驶通过深度学习的融合取得了巨大的发展,但由于感知距离受限、感知信息不充分,单车自动驾驶仍面临着巨大的挑战,尤其是对于依赖经济的摄像头作为传感器的车辆。通过车联网通信来利用具有更广阔视野的路侧传感器,在提高高阶自动驾驶方面展示了巨大的潜力。现有的利用额外感知数据来辅助提升感知精度的方法,在目标检测、目标追踪、语义分割、定位等单独的任务上表现较好,但忽视了最终的规划增强。最大的难点在于:单独的任务目标与最终轨迹规划的目标不一致。因此,利用车载和路侧传感器数据直接优化最终规划输出的方法变得必要。在本文中,作者聚焦于车辆基础设施协同自动驾驶(vehicle-infrastructure cooperative autonomous driving, VICAD)。
车辆基础设施协同自动驾驶问题可以定义为:在带宽限制条件下,采用多视图传感器输入的以规划为主的优化问题。与单车自动驾驶相比,车辆基础设施协同自动驾驶在处理端到端学习时,面临着额外的挑战:
- 传输的基础设施数据必须是有效的。它应既能增强关键模块的性能,又能提升自动驾驶的最终规划性能。
- 数据必须是传输友好型的。受实时性要求和有限通信条件的驱动,最小化传输成文对于降低通信带宽消耗和减少延迟直观重要。
- 传输数据必须是可靠的。车辆需要可解释的信息来有效地避免通信攻击和数据损坏带来的安全问题。
作者对比了一些现有的协同感知方法,并得出了以下判断:这些现有解决方案依赖于一种普通的方法,利用简单的网络来优化规划和控制输出。这种模式缺乏明确的模块,损害了安全保障和可解释性。尤其是在复杂的城市环境中,这种方法在确保驾驶系统的可靠性方面存在不足。
所以,作者受UniAD的设计理念启发,采用一种模块化的端端自动驾驶范式。除了最终的轨迹规划结果,还能对比和处理以下三个常见的任务:
- 智能体感知(agent perception): 包括动态障碍物的3D目标检测、追踪及运动预测
- 语义地图分割(online map):用于在线地图绘制的道路元素检测(尤其是车道)
- 网格占用预测(grid-occupancy prediction):用于通用障碍物感知的网格占用预测
在传输和跨视图交互中,我们将智能体感知和道路元素检测归类为实例级表示,将占用预测归类为场景级表示。本文传输智能体查询和车道查询,以进行跨视图智能体感知交互和在线地图绘制交互。本文传输占用概率图,考虑到其在场景级占用中的密集特性,用于跨视图占用交互。这种传输方式称为稀疏 - 密集混合传输,分别在空间和特征维度上平衡了稀疏性和密集性。
本文的主要贡献如下:
- 开发了首个用于车辆与基础设施协同自动驾驶的模块化端到端框架
- 设计了一种稀疏 - 密集混合传输和跨视图数据交互方法
- 复现了多种协同方法作为baseline,并用DAIR-V2X呈现了UniV2X
三、UniV2X框架
本部分展示了UniV2X的整体框架:
自车系统沿用了2023CVPR best paper: UniAD的架构1:包括TrackFormer, Mapformer和OccFormer几个主要的模块。
与UniAD最主要的区别应该是在于如何将路端和车端对齐,为此,作者提出了三个主要的东西分别是:
- 稀疏密集混合数据: 将agent queries和lane queries作为稀疏数据,将occupied probability map作为密集数据,来进行混合数据传输,降低通信成本
- 时间同步:采用特征流的概念
- 空间同步:时间同步采用BEV+坐标变换
- 自车消除:路侧占用预测中消除自车模块
1. 车路协同自动驾驶问题定义
1.1 系统输入输出
- 输入:纯视觉输入,包括自车图像 I v ( t ) ∣ t ≤ t v {I_{v}(t)|t\le t_{v}} Iv(t)∣t≤tv和车辆在 t v t_{v} tv时刻的位姿 M v ( t v ) M_{v}(t_{v}) Mv(tv);路侧基础设施图像 I i ( t ) ∣ t ≤ t i {I_{i}(t)|t\le t_{i}} Ii(t)∣t≤ti和基础设施在 t i t_{i} ti时刻的位姿 M i ( t i ) M_{i}(t_{i}) Mi(ti),实践中,时间 t i t_i ti应该比 t v t_v tv更早。
- 输出:预测自车在未来时间步 t = t v + 1 , … , t p r e d t=t_{v}+1,\dots,t_{pred} t=tv+1,…,tpred的坐标
1.2 评价指标
L2误差 (L2 error):用于评估规划的车辆未来轨迹与实际行驶轨迹之间的偏差程度。计算方法是对预测轨迹点和实际轨迹点对应坐标差值的平方和求平方根,其值越小,代表规划轨迹越接近实际轨迹,规划性能越好。
碰撞率 (collision rate):指在一定的测试或行驶场景下,车辆发生碰撞的次数与总行驶次数(或总行驶时间、总行驶里程等相关指标)的比例。该指标反映了车辆在行驶过程中发生碰撞的可能性,碰撞率越低,说明自动驾驶系统在避免碰撞方面的性能越出色.
道路偏离率(off-road rate):表示车辆偏离正常行驶道路区域的频率或比例。通过统计车辆离开可行驶区域(如超出车道范围、驶入禁止区域等)的次数,并与总行驶次数(或总行驶时间等)相除得到。道路偏离率低意味着车辆能较好地保持在规定的行驶区域内,规划路径能有效引导车辆遵守交通规则和维持在安全行驶区域。
每秒传输的比特数量(Bytes Per Second, BPS): 用于量化从基础设施每秒传输到自动驾驶车辆的数据量,它考虑了传输频率
1.3 面临的挑战
- 受实际通信条件的限制,应向车辆传输更少的基础设施数据,以最小化带宽使用并减少延迟。
- 无线通信会导致延迟,这可能会在数据融合时造成时间上的不一致。
- 在的通信攻击和数据损坏可能会使传输的数据不可信。
2. 稀疏-密集混合形态数据
这部分说明了如何在基础设施系统中生成用于传输的稀疏-密集混合数据。作者主要关注车道线和人行横道元素。在传输过程中,我们使用分类解码器生成的边界框过滤掉得分较低的查询,仅传输 N l i n f N_{l}^{inf} Nlinf个有效的车道查询 { Q L i n f } \{Q_{L}^{inf}\} {QLinf},其特征维度为 256,以及它们相应的参考点。
UniAD中的原始 OccFormer 仅考虑与智能体查询相关的实例级占用情况,并进行多步预测。然而,占用情况是一般障碍物检测中目标感知的补充因素,传输多个概率图会产生巨大的传输成本。为了解决这些挑战,我们保留通过像素级注意力获得的大小为 (200, 200, 256) 的密集特征。
首先,使用多层感知器(MLP)将密集特征转换为大小为 (200, 200) 的 BEV 占用概率图,记为
p
i
n
f
p^{inf}
pinf。
随后,采用特征流预测方法,利用一个额外的概率流模块通过线性运算来表示 T 步的概率图,公式为:
P
f
u
t
u
r
e
(
t
)
=
P
0
+
t
∗
P
1
P_{future}(t)=P_{0}+t*P_{1}
Pfuture(t)=P0+t∗P1
其中,
P
0
P_{0}
P0表示当前的 BEV 概率图,
P
1
P_{1}
P1表示相应的 BEV 概率流。传输 T 步的占用概率图需要
T
×
200
×
200
T×200×200
T×200×200个浮点数,而 UniV2X 仅需要
2
×
200
×
200
2×200×200
2×200×200个浮点数。
图片来自于原文作者在深蓝学院的课程:链接
3. 交叉视图数据融合(智能体融合)
在车载系统中,首先从车载传感器捕获的图像中提取鸟瞰图(BEV)特征 B v e h B_{veh} Bveh。我们还采用TrackFormer、MapFormer和OccFormer来生成相应的智能体查询 Q A v e h {Q_{A}^{veh}} QAveh、车道查询 Q L v e h {Q_{L}^{veh}} QLveh以及占用概率图 P v e h P_{veh} Pveh。这些模块的网络结构与基础设施系统中的对应模块一致。在本节中,我们将描述如何实现跨视图智能体融合。跨视图智能体融合主要包括
- 用于补偿延迟的时间同步
- 统一跨视图坐标的空间同步
- 数据匹配与融合
- 针对规划和中间输出的数据适配。
3.1 基于流预测的时间同步
基于流预测的时间同步在无线通信中,由于
t
i
t_{i}
ti早于
t
v
t_{v}
tv,传输延迟在复杂交通系统中十分显著,在繁忙的十字路口场景中更是如此。由于动态物体的移动,在融合不同来源的数据时会出现时间上的不一致。为了解决这个问题,本文根据特征流预测方法,将特征预测融入到基础设施智能体查询中以减少延迟。具体来说,我们将智能体查询
Q
A
i
n
f
Q_{A}^{inf}
QAinf和前一帧相关的查询输入到QueryFlowNet(一个三层的多层感知器)中,生成智能体查询流
Q
A
F
l
o
w
i
n
f
Q_{AFlow}^{inf}
QAFlowinf。智能体查询流的维度与智能体查询的维度相匹配。随后,通过线性运算预测未来特征,以此减少
t
v
−
t
i
t_{v}-t_{i}
tv−ti的延迟,公式表示为:
Q
A
i
n
f
(
t
v
)
=
Q
A
i
n
f
(
t
i
)
+
(
t
v
−
t
i
)
∗
Q
A
F
l
o
w
i
n
f
Q_{A}^{inf}(t_{v}) = Q_{A}^{inf}(t_{i}) + (t_{v}-t_{i}) * Q_{AFlow}^{inf}
QAinf(tv)=QAinf(ti)+(tv−ti)∗QAFlowinf
值得注意的是,在UniV2X中,流预测模块的QueryFlowNet并非以端到端的方式进行训练。我们采用了提出的自监督学习方法。
3.2 基于旋转注意查询转换的空间同步(本质是坐标系的转换)
文首先利用基础设施系统和车载系统之间的相对位姿 [ R , T ] [R, T] [R,T],将基础设施智能体查询 Q A i n f Q_{A}^{inf} QAinf的参考点从基础设施坐标系转换到车载坐标系。
这里的相对位姿是由两个系统的全局相对位姿生成的,其中 R R R代表旋转矩阵, T T T表示平移。然而,每个物体本身都具有关于其位置、大小和旋转的三维信息。
在表示三维物体的查询情境中,位置由参考点明确表示,而旋转则隐含地编码在查询的特征中,如图3所示。为了解决这个问题,我们提出了一种称为旋转感知查询变换的解决方案来实现空间同步。这需要将基础设施查询及其相对位姿中的旋转
R
R
R输入到一个三层的多层感知器(MLP)中,以使特征具备旋转感知能力,从而实现显式的空间同步,公式如下:
s
p
a
t
i
a
l
_
u
p
d
a
t
e
(
Q
A
i
n
f
)
=
M
L
P
(
[
Q
A
i
n
f
,
R
]
)
spatial\_update \left(Q_{A}^{inf}\right)=MLP\left(\left[Q_{A}^{inf}, R\right]\right)
spatial_update(QAinf)=MLP([QAinf,R]) 其中旋转矩阵
R
R
R被重塑为9维。最后,我们将基础设施智能体查询数据转换到车载坐标系中。
3.3 不同视图查询的匹配融合
跨视图查询匹配与融合。在这一阶段,跨视图的智能体查询已在时间和空间上完成同步。为了匹配来自不同视角的对应查询,我们计算它们参考点的欧氏距离,并采用匈牙利算法进行匹配:
-
对于匹配上的查询对 Q A i n f Q_{A}^{inf} QAinf和 Q A v e h Q_{A}^{veh} QAveh ,将它们输入到一个三层的多层感知器中,生成协作查询 Q A Q_{A} QA,用于更新车载智能体查询 Q A v e h Q_{A}^{veh} QAveh。
-
对于基础设施中未匹配上的查询,则将其添加到车载查询中。
-
最后,我们分配跟踪ID,并过滤掉检测置信度较低的跨视图融合查询,从而得到最终的智能体查询结果。
3.4 消除自车误检问题
该模块用于消除自车区域的误检测问题。从基础设施的视角来看,在智能体感知中,自车可能会被视作一个明显的障碍物,在占用预测中则可能被视为占用区域的一部分。经过跨视图数据融合后,有可能在自车所在区域生成障碍物查询,从而将自车区域标记为被占用。这种情况会严重干扰决策过程,最终影响决策性能。为缓解这一问题,我们将自车区域定义为一个矩形,过滤该区域内的查询,并将此区域指定为未被占用。然而,由于定位和校准不准确,导致基础设施与自车之间存在相对位置误差,这种简单直接的解决方案可能无法始终达到最佳效果。为推动协同自动驾驶发展,进一步探索和优化至关重要。
图片来自于原文作者在深蓝学院的课程:链接
3.5 用于中间输出的解码器输入增强
通过最终融合的智能体查询与车载TrackFormer中编码器的输出之间的交叉注意力机制,我们可以获得智能体的中间输出,如3D检测输出,以增强UniV2X的可解释性。然而,编码器的输出全部由车载传感器数据信息生成,这使得来自基础设施的查询无法产生相应的智能体输出。为了解决这个问题,我们使用同步的基础设施查询来增强编码器的输出,即车载BEV特征,公式如下:
u
p
d
a
t
e
(
B
v
e
h
)
=
B
v
e
h
+
M
L
P
(
s
y
n
c
h
r
o
n
i
z
e
d
(
Q
A
i
n
f
)
)
update (B^{veh})=B^{veh}+MLP(synchronized (Q_{A}^{inf}))
update(Bveh)=Bveh+MLP(synchronized(QAinf))
4. 交叉视图数据融合(车道融合)
车道融合(LaneFusion)模块用于融合来自不同视角的车道查询信息。在此过程中,我们在车道融合时省略了时间同步,因为道路车道元素不受延迟影响,保持稳定。与智能体融合(AgentFusion)类似,车道融合通过旋转感知查询变换实现空间同步。这个过程将包含参考点和查询特征的基础设施车道查询转换到车载坐标系中。然后,我们像在智能体融合中那样,对同步后的基础设施车道查询和车载车道查询进行匹配与融合。为加快训练速度,我们还选择直接将同步后的查询与车载车道查询连接起来。同步后的查询也用于解码器输入增强。
5. 交叉视图数据融合(占用融合)
我们首先通过线性运算生成多步的基础设施占用概率图,并将其与车载多步占用预测进行对齐。利用密集概率图中明确表示的旋转信息,我们使用相对位姿将基础设施占用概率图直接转换到车载系统。
随后,我们使用简单的取最大值运算,将同步后的占用概率图与车载占用概率图进行融合,生成融合概率图 P ^ \hat{P} P^。概率超过特定阈值的网格会被标记为已占用。
6. 规划输出 Planning Output
利用融合后的智能体查询、车道查询和占用特征,我们首先复用UniAD中的方法生成粗略的未来路径点。MotionFormer用于生成一组预测时长为 t p r e d t_{pred} tpred的 N a N_{a} Na个运动查询。这些查询通过捕捉智能体、车道和目标之间的交互生成。值得注意的是,这些智能体查询包含了自车查询,这使得MotionFormer能够生成具有多模态意图的自车查询。
鸟瞰图(BEV)占用概率图 P ^ \hat{P} P^用于创建二进制占用图 o ^ \hat{o} o^。在规划阶段,从MotionFormer获得的自车查询与指令嵌入相结合,形成一个 “规划查询”。这些指令包括左转、右转和前进。
这个规划查询与BEV特征一起输入到解码器中,以生成未来的路径点。
最终的规划轨迹由以下方式确定:
1)调整道路上的未来路径点,确保遵守交通规则,并利用生成的车道和其他道路元素使车辆保持在驾驶区域内;
2)最小化成本函数,以避免与被占用的网格
o
^
\hat{o}
o^发生碰撞。
四、实验
1. 实验设置
实验数据集—DAIR-V2X
DAIR-V2X2数据集包含约100个场景,这些场景拍摄于28个复杂的交通路口,由基础设施传感器和车辆传感器共同记录。每个场景时长在10到25秒之间,以10Hz的频率采集数据,并配备了高清地图。该数据集涵盖了多种驾驶行为,包括前进、左转和右转等动作。为了与nuScenes数据集保持一致,我们将目标类别分为四类:汽车、自行车、行人和交通锥。
实施细节
实施过程。我们将自车的关注范围设定为[-50, 50, -50, 50]米。自车的鸟瞰图(BEV)范围与之相同,也是[-50, 50, -50, 50]米,每个网格大小为0.25米×0.25米。基础设施的BEV范围设置为[0, 100, -50, 50]米,这考虑到了摄像头的前向感知范围,有助于更有效地利用基础设施数据。实验使用8块NVIDIA A100 GPU进行。附录中提供了更多实施细节。
基准算法设置
- 无融合(No Fusion):方案仅使用自车图像作为传感器数据输入,不输入任何基础设施数据。
- 普通方法(Vanilla approach):我们使用简单的卷积神经网络(CNN)融合基础设施和自车的鸟瞰图(BEV)特征。融合后的BEV特征被重塑为一维,随后输入到多层感知器(MLP)中以生成规划路径。
- 在BEV特征融合BEV Feature Fusion)方法:我们使用CNN将两侧的BEV特征融合为新的自车BEV特征,并将这个新特征输入到UniAD中。
- CooperNaut:最初利用点云的稀疏特性,采用点变换器(Point Transformer)来聚合跨视图特征。
鉴于自车状态(如自车速度)在开环端到端自动驾驶中起着重要作用(Li等人,2024),为了进行公平比较,我们在所有基线设置中都去除了自车速度嵌入。此外,我们在附录中探究了自车速度对UniV2X的作用。
2. DAIR-V2X上的实验结果
端到端自动驾驶最终规划结果,作者认为L2 Error指标似乎不太合理,因此一直讨论的是碰撞率,车道偏离率与传输成本。但我感觉这里的BPS对比好像设置的不是很合理,因为没有和一些专注于提升通信效率的算法相比,而只是证明了通过稀疏-密集混合传输使得传输的数据量减少了。
感知结果:
主要对比了mAP和AMOTA两个指标。
- mAP: 平均精度是对目标检测模型在不同类别上的精度进行平均得到的指标,它综合考虑了模型检测出的目标的准确率和召回率。
- AMOTA:AMOTA 是多目标追踪领域中用于评估模型性能的指标,它综合考虑了目标的检测准确性和轨迹的匹配准确性。
在线地图结果:
占用预测结果:
3. 关于可靠性的消融实验
在评估 UniV2X 时,我们的第一步是在传输过程中随机丢弃 10%、30%、50%、70% 和 100% 的基础设施智能体查询,以此来模拟数据损坏的情况。(这一块感觉论文中也没有详细说明,UniAD中说的是模块化的端到端让该模型变得更加可解释…可能是基于此)
五、总结
文章总结: 本文提出了UniV2X,这是一种新颖的端到端框架,它将来自不同视角的关键任务集成到单个网络中。该框架采用以规划为导向的方法,在利用原始传感器数据的同时,确保网络在协同自动驾驶中的可解释性。此外,还设计了一种稀疏 - 密集混合数据传输策略,以利用跨视图数据并提高整体规划性能。这种传输方法既便于通信又可靠,符合车联网(V2X)通信的要求。在DAIR-V2X数据集上的实证结果验证了我们所提方法的有效性。 |
补充:
开环评估和闭环实验是自动驾驶研究中评估系统性能的两种不同方式。
-
开环评估:在自动驾驶中,开环评估指系统依据输入数据(像传感器数据和地图信息)生成决策或规划,但不考虑这些决策实际执行后的反馈。比如在模拟场景里,系统根据当前感知信息规划行驶路径,却不依据车辆实际行驶轨迹来调整后续规划,类似单向操作,不形成回路,能简单快速地评估系统在特定输入下的规划能力。
-
闭环实验:闭环实验则不同,系统会把决策执行后的反馈纳入考量。车辆实际行驶过程中,系统持续接收传感器数据,判断规划路径是否合适。若出现偏差,如与预期轨迹不符,就会据此调整后续决策。这就像人开车,时刻根据实际路况调整驾驶行为,形成了感知 - 决策 - 执行 - 反馈的循环。
CVPR2023-best paper-UniAD-Planning-oriented Autonomous Driving ↩︎
CVPR2022-DAIR-V2X: A Large-Scale Dataset for Vehicle-Infrastructure Cooperative 3D Object Detection ↩︎