【论文笔记】PolarPoint-BEV: Bird-eye-view Perception in Polar Points for Explainable End-to-end Autonomous Driving
原文链接:https://ieeexplore.ieee.org/document/10418570
I. 引言
端到端自动驾驶以传感器数据为输入,输出路径点或者控制信号。路径点可以输入低级控制器,如PID或模型预测控制。与包含各个模块(定位、感知、规划、控制)的传统方法相比,端到端方法可以避免误差的积累,且对复杂场景的可放缩性更强。但是,端到端方法通常可解释性较差,会导致不可预期的误差或危险。一些方法使用可解释人工智能(XAI)技术,生成交通场景的BEV图进行解释。
但是,传统BEV图有一些缺陷。首先,交通场景中的所有区域都被同等对待,但离自车近的物体对安全更为关键。因此,网络可能关注不重要的区域,而忽视重要信息。其次,像素方式表达相比稀疏表达,会需要更高的计算量、通信量和存储量,从而导致延迟。
本文提出BEV感知方法PolarPoint-BEV。使用极点BEV图,可以更关注自车附近的区域;此外,其为稀疏表达。为检验其可解释性和驾驶性能,本文提出端到端自动驾驶网络XPlan,同时预测控制指令和极点BEV图。
III. 提出的方法
A. PolarPoint-BEV
本文的极点BEV图与传统BEV图如上图所示。传统BEV图使用沿坐标轴均匀分布的矩形网格表达场景,极点BEV图则使用自车附近点的序列来表达。极点BEV图上的每个点都有语义标签,表示背景(橙色,
{
0
}
\{0\}
{0})、汽车(红色,
{
1
}
\{1\}
{1})和道路(绿色,
{
2
}
\{2\}
{2})。
极点BEV图上的点由极坐标表达,角度范围由前视相机的视野决定。可将该角度范围分割为若干子部分。径向方向被分为16层。因此,极点BEV图可表达为 P i ∈ { 0 , 1 , 2 } 16 × n P_i\in\{0,1,2\}^{16\times n} Pi∈{0,1,2}16×n。
将半径方向的16层分为4个区域,每个区域有不同的层间距,层间距随着区域离自车的距离增大而增大。因此,点的密度会随着离自车距离的增大而减小。这样,极点BEV图表达可使得模型更加关注离自车更近的区域。
B. 网络结构
如上图所示为XPlan的结构,包含3个组件:编码器、控制预测(CP)模块以及极点(PP)模块。网络以前视图像
I
i
∈
R
h
×
w
×
c
I_i\in\mathbb{R}^{h\times w\times c}
Ii∈Rh×w×c和导航信息
S
i
S_i
Si(包含当前速度
v
v
v,目标点
(
x
,
y
)
(x,y)
(x,y)和高级指令)为输入,输出控制指令
C
i
C_i
Ci(包含转向信号、油门信号和制动信号)与作为解释的极点BEV图
P
i
∈
{
0
,
1
,
2
}
16
×
n
P_i\in\{0,1,2\}^{16\times n}
Pi∈{0,1,2}16×n。XPlan可表达如下:
XPlan
:
(
I
i
,
S
i
)
→
(
C
i
,
P
i
)
\text{XPlan}:(I_i,S_i)\rightarrow(C_i,P_i)
XPlan:(Ii,Si)→(Ci,Pi)
编码器使用ResNet34,提取图像特征 F i F_i Fi,然后输入到CP模块和PP模块。CP模块为轨迹指导的控制预测(TCP)网络,可记为 ( F i , S i ) → C i (F_i,S_i)\rightarrow C_i (Fi,Si)→Ci。
PP模块用于生成极点BEV图,以解释控制指令。PP模块分为两个子模块,空间变换和BEV解码。空间变换模块将前视图的特征拉平并通过MLP变换到BEV空间,然后reshape为原始形状,并输入BEV解码器输入极点BEV图(即语义点序列)。PP模块可以表达为 F i → P i F_i\rightarrow P_i Fi→Pi。
C. 数据集与训练细节
使用CARLA模拟器,在不同光照与天气条件下生成随机路线,用于训练模型。
训练时,先预训练CP模块,再训练整个XPlan模型。损失函数包括控制指令损失与极点BEV图损失(交叉熵)。
IV. 实验结果与讨论
A. 评估指标
自动驾驶汽车的目标有两个:(1)沿预定义路线安全高效地到达目的地;(2)准确预测极点BEV图以解释控制信号。驾驶性能有3个主要评估指标:路线完整度、违规分数与驾驶分数(路线完整度与违规分数的乘积)。此外,还有其余更细节的评估指标。
极点BEV图使用IoU和F1分数进行评估。但由于在这两个指标中,所有点的权重相同。考虑到离自车近的区域对安全更为关键,本文提出加权IoU(wIoU):
$
wIoU
=
∑
z
=
1
4
(
mIoU
z
×
N
z
)
,
N
z
=
L
z
−
1
/
∑
z
=
1
4
L
z
−
1
\text{wIoU}=\sum_{z=1}^4(\text{mIoU}_z\times N_z),\ \ N_z=L_z^{-1}/\sum_{z=1}^4L_z^{-1}
wIoU=∑z=14(mIoUz×Nz), Nz=Lz−1/∑z=14Lz−1
其中 z z z索引III.A节中沿径向划分的区域, N z N_z Nz为归一化区域权重, L z L_z Lz为区域到自车的距离。这样,离自车近的区域在wIoU中的权重更大。
B. 比较结果
基准方案为联合预测控制指令与传统BEV图的端到端网络,称为Plan-B,其编码器与CP模块的结构与本文相同,传统BEV图的生成模块基于View Parsing Network(VPN)。使用预训练权重相同的CP模块训练Plan-B与XPlan。
实验表明,与传统BEV图相比,极点BEV图的总体性能(mIoU、F1分数)相同。但极点BEV图在汽车和道路类别上的性能更优。
在离自车最近的两个区域,极点BEV图的mIoU比传统BEV图更高;在离自车最远的区域,传统BEV图的性能更优。如果均按wIoU计算指标,则总的来说,极点BEV图的性能更高。
可视化表明,两种方法均能精确描述交通场景,为端到端网络生成的控制指令提供有效的解释。
计算复杂度上,与TCP相比,XPlan多出PP模块,但仅略微增加计算量和参数量。Plan-B也只多出BEV模块,但其计算量明显增加。这说明XPlan为轻量且高效的解释方法。
对于BEV图如何影响驾驶性能,实验表明XPlan与Plan-B均比TCP性能高,这说明BEV图的生成对驾驶有正面影响。此外,XPlan的驾驶性能指标均比Plan-B更高,这是因为:
- 极点BEV图更关注离自车近的区域,且在这个区域性能比传统BEV图高。由于离自车近的区域对安全更为关键,因此极点BEV能增强模型感知和响应潜在危险的能力。
- 极点BEV图在汽车和道路上的预测性能更优,而这两个类别比背景类别更为关键。
此外,考虑到仿真数据与真实数据的域间隙,还在nuScenes数据集上检验了极点BEV图的预测性能(XPlan去除CP模块)。结论与仿真数据上训练的模型类似。
C. 消融研究
极点BEV图不同角度划分密度带来的计算量相近,但适中的密度设置(对应图1表格中的“Normal”)在整体和各区域上的mIoU/wIoU最优。对驾驶性能而言,各种设置在各指标上均有各自的优势。
若在训练时固定预训练CP模块的参数,性能略有降低。
D. 局限性
本文考虑的类别较少;极点BEV图径向的层间距可能不是最优设置。