Paper Purpose
Input: mutilple cameras and lidar
Output: 道路预测向量化,提供一种预测实时运动预测、规划中使用的局部语义地图的方法.
Vision
从相机前视图到鸟瞰图的视角转换.
Core Body
主要需要解决2个问题:
- 道路预测向量化
- 从相机前视图到鸟瞰图的视角转换。
Contribution
- 向量化:最终得到的地图信息不是图片形式的,而是用点、线、框等几何形状表示的,这种表示在地图的下游任务使用、存储等方面都有巨大优势。
- 鸟瞰图转换:由于没有图片上每个像素点的深度信息,无法简单地利用几何投影将图像投回到鸟瞰视角。一种做法是假设地面高度全部为0,直接通过 Inverse Perspect Mapping 来进行投影。但因为地面会有倾斜,再加上车的颠簸,并不能保证车道线被正确的投影到鸟瞰视角。Lift-Splat-Shoot 很巧妙的利用 attention 的方式端到端地学了一个深度,但是因为没有显式的深度作为监督,所以实际的性能并不是很好。在这里,作者团队参考了 VPN 的做法,使用全连接网络来让 network 自己学习如何进行视角的变换。与其不同的是,HDMapNet 显式地使用了相机外参来将从不同相机抽取的特征拼接到鸟瞰视角,从而提升了特征在鸟瞰视角的分辨率。
Construct
主要由四部分组成:
透视图像编码器(PV image encoder)
神经视图变换器(neural view transformer) ,透视图视角和相机坐标系中对应像素的关系由 MLP计算得出。鸟瞰图视角特征 由F使用相机外设的几何投影(geometric projection with camera extrinsics)转换得到。最终图像特征bev 是N_m个相机鸟瞰图视角特征的平均值。
View Transformation
显式地使用了相机外参来将从不同相机抽取的特征拼接到鸟瞰视角,从而提升了特征在鸟瞰视角的分辨率。
点云编码器(pillar-based point cloud encoder)
地图元素解码器(map element decoder) ,BEV 是一个包含 3 个分支的 FCN,这 3 个分支分别是语义分割、实例嵌入和方向预测分支。如果点云数据和图像数据都存在,则将这两者的特征图拼接起来输入 BEV 中。然后通过后处理的手段来将这些信息处理成向量化的道路表达
向量化
向量化(Vectorization)是指我们最终得到的地图信息不是图片形式的,而是用点、线、框等几何形状表示的,这种表示在地图的下游任务使用、存储等方面都有巨大优势。HDMapNet的decoder输出3个分支:语义分割semantic segmentation、实例分割instance embedding、方向预测direction prediction。然后通过后处理的手段来将这些信息处理成向量化的道路表达。
Paper details
概述
在本文中,我们介绍了高清语义地图学习问题,该问题基于车载传感器观察动态构建局部语义。同时,我们引入了一种语义地图学习方法,称为 HDMapNet。 HDMapNet 对来自周围摄像机和/或来自 LiDAR 的点云的图像特征进行编码,并预测鸟瞰图中的矢量化地图元素。
高清(HD)语义地图是自动驾驶的重要模块。 构建此类高清语义地图的传统管道包括预先捕获点云、使用 SLAM 构建全局一致的地图以及在地图中注释语义。 这种模式虽然可以生成精确的高清地图并被许多自动驾驶公司采用,但需要大量的人力。
作为替代方案,我们研究可扩展且价格合理的自动驾驶解决方案,例如 最大限度地减少人工注释和维护高清地图的工作量。 为此,我们引入了一种新颖的语义地图学习框架,该框架利用车载传感器和计算来估计矢量化的局部语义地图。 值得注意的是,我们的框架并非旨在取代全局高清地图重建,而是提供一种简单的方法来预测局部语义地图以进行实时运动预测和规划
我们提出了一种名为 HDMapNet 的语义地图学习方法,它从周围摄像机的图像和/或像激光雷达这样的点云中生成矢量化地图元素。 我们研究了当深度缺失时如何有效地将透视图像特征转换为鸟瞰图特征。 我们提出了一种新颖的视图变换器,它由神经特征变换和几何投影组成。 此外,我们研究了点云和相机图像在这项任务中是否相互补充。 我们发现不同的地图元素在单一模式中的识别度不同。 为了两全其美,我们最好的模型将点云表示与图像表示相结合。 该模型在所有类别中都显着优于其单模态模型。 为了展示我们方法的实用价值,我们使用图 6 中的模型生成了一个局部一致的地图; 该地图可立即应用于实时运动规划。
总而言之,我们的贡献包括以下内容:
• 我们提出了一种新颖的在线框架,用于从感官观察中构建高清语义图,并结合一种名为 HDMapNet 的方法。
• 我们提出了一种新颖的从透视图到鸟瞰图的特征投影模块。 该模块隐式地模拟 3D 环境,并明确地考虑相机外部。
• 我们制定综合评估协议和指标以促进未来研究。
II. RELATED WORK
语义地图构建。
大多数现有的高清语义地图都是在环境的 LiDAR 点云上手动或半自动注释的,这些地图是从使用高端 GPS 和 IMU 的勘测车辆收集的 LiDAR 扫描合并而来的。 SLAM 算法是将 LiDAR 扫描融合成高度准确且一致的点云的最常用算法。首先,采用成对对齐算法,如 ICP [1]、NDT [2] 及其变体 [3],使用语义 [4] 或几何信息 [5] 在两个附近的时间戳匹配 LiDAR 数据。其次,估计自我车辆的准确姿势被表述为非线性最小二乘问题[6]或因子图[7],这对于构建全局一致的地图至关重要。杨等人。 [8]提出了一种在成对对齐因子约束下基于位姿图优化的城市尺度地图重建方法。为了降低人工标注语义图的成本,[9]、[10] 提出了几种机器学习技术来从融合的 LiDAR 点云和相机中提取静态元素。然而,维护高清语义地图仍然是费力和昂贵的,因为它需要高精度和及时更新。在本文中,我们认为我们提出的局部语义地图学习任务是一种潜在的更具可扩展性的自动驾驶解决方案。
透视图车道检测。传统的基于透视图的车道检测流程涉及局部图像特征提取(例如颜色、方向滤波器 [11]、[12]、[13])、线拟合(例如 Hough 变换 [14])、图像到世界随着基于深度学习的图像分割和检测技术的进步[15]、[16]、[17]、[18],研究人员探索了更多的数据驱动方法。为道路分割 [19]、[20]、车道检测 [21]、[22]、可驾驶区域分析 [23] 等开发了深度模型。最近,建立了模型以提供 3D 输出而不是 2D。白等人。 [24] 结合了 LiDAR 信号,以便可以将图像像素投影到地面上。加内特等人。 [25]和郭等人。 [26] 使用合成车道数据集对摄像机高度和间距的预测进行监督训练,使输出车道位于 3D 地平面上。除了检测车道之外,我们的工作还从环绕摄像头或激光雷达输出车辆周围一致的局部语义地图
跨视图学习。 最近,已经做出了一些努力来研究跨视图学习,以促进机器人的周围感知能力。 Pan [27] 使用 MLP 来学习透视图特征图和鸟瞰图特征图之间的关系。 Roddick 和 Cipolla [28] 对沿水平轴的图像特征应用一维卷积来预测鸟瞰图。 Philion 和 Fidler [29] 使用软注意力预测单目相机的深度并将图像特征投影到鸟瞰图中。 我们的工作侧重于局部语义地图构建的关键任务,我们使用跨视图传感方法以矢量化形式生成地图元素。 此外,我们的模型可以很容易地与 LiDAR 输入融合,以进一步提高其准确性。
III. SEMANTIC MAP LEARNING
我们提出了语义地图学习,这是一种产生本地高清语义地图的新颖框架。 它接受摄像头图像和激光雷达点云等传感器输入,并输出矢量化地图元素,例如车道分隔线、车道边界和行人过路处。 我们使用 I 和 P 分别表示图像和点云。 可选地,该框架可以扩展到包括其他传感器信号,如雷达。 我们将 M 定义为要预测的地图元素
A. HDMapNet
我们的语义地图学习模型,名为 HDMapNet,直接使用神经网络从单帧 I 和 P 预测地图元素 M。 概述如图 2 所示,四个神经网络参数化我们的模型:透视图图像编码器 φI 和图像分支中的神经视图变换器 φV,基于柱的点云编码器 φP 和地图元素解码器 φM。 如果模型仅将周围图像、仅 LiDAR 或两者都作为输入,我们将 HDMapNet 系列表示为 HDMapNet(Surr)、HDMapNet(LiDAR)、HDMap Net(Fusion)。
1)图像编码器:我们的图像编码器有两个组件,即perspective view image encoder and neural view transformer.。
perspective view image encoder。 我们的图像分支从 Nm 个周围的摄像机获取透视图输入,覆盖场景的全景。 每个图像 Ii 通过共享神经网络 φI 嵌入,得到透视图特征图 FpvIi⊆ RHpv×Wpv×K,其中 Hpv、Wpv 和 K 分别是高度、宽度和特征维度。
neural view transformer。 如图 3 所示,我们首先将图像特征从透视图转换为相机坐标系,然后再转换为鸟瞰图。
也就是首先使用MLP 从2D 恢复 3D,然后使用3D 使用外参投影到地面。
透视图和相机坐标系之间任意两个像素的关系由多层感知器 φVi 建模:
其中 φhw Vi 模拟相机坐标系统中位置 (h, w) 处的特征向量与透视图特征图上的每个像素之间的关系。 我们将 Hc 和 Wc 表示为 FcI 的自上而下的空间维度。
鸟瞰图(自我坐标系)特征 FbevIi ⊆ R Hbev×Wbev×K 是通过几何投影与相机外参对特征 FcIi 进行变换得到的,其中 Hbev 和 Wbev 是鸟瞰图中的高度和宽度。
最终图像特征 Fbev I 的平均值为 Nm 相机功能。
- 点云编码器:我们的点云编码器 φP 是具有动态体素化 [31] 的 PointPillar [30] 的变体,它将 3d 空间划分为多个柱状图,并从柱状点云的柱状特征中学习特征图。 输入是点云中的 N 个激光雷达点。 对于每个点 p,它具有三维坐标和附加的 K 维特征,表示为 fp ⊆ RK+3。
在将特征从点投影到鸟瞰图时,多个点可能会落入同一个柱子中。 我们将 Pj 定义为对应于支柱 j 的点集。 为了从柱子中的点聚合特征,需要使用 PointNet [32](表示为 PN),其中
然后,柱状特征通过卷积神经网络 φpillar 进一步编码。 我们将鸟瞰图中的特征图表示为 FbevP。
3)鸟瞰图解码器:地图是一个复杂的图网络,包括车道分隔线和车道边界的实例级和方向信息。 需要对车道线进行矢量化,而不是像素级表示,以便自动驾驶车辆可以跟随它们。 因此,我们的 BEV 解码器 φM 不仅输出语义分割,还预测实例嵌入和车道方向。 将后处理过程应用于来自嵌入的集群实例并将它们矢量化
整体架构。 BEV解码器是一个全卷积网络(FCN)[33],具有3个分支,即语义分割分支、实例嵌入分支和方向预测分支。 BEV 解码器的输入是图像特征图 FbevI 和/或点云特征图 FbevP,如果两者都存在,我们将它们连接起来。
语义预测。 语义预测模块是一个完全卷积网络(FCN)[33],我们使用交叉熵损失进行语义预测。
实例嵌入。 我们的实例嵌入模块旨在对每个鸟瞰图嵌入进行聚类。 为了便于表示,我们遵循 [34] 中的确切定义:C 是 ground truth 中的簇数,Nc 是簇 c 中的元素数,μc 是簇 c 的平均嵌入,k·k 是 L2 范数,[x]+ = max(0, x) 表示元素最大值。 δv 和 δd 分别是方差和距离损失的边际。 聚类损失 L 由下式计算:
方向预测。 我们的方向模块旨在从每个像素 C 预测车道方向。方向被离散化为均匀分布在单位圆上的 Nd 个类。 通过对当前像素 Cnow 的方向 D 进行分类,可以得到车道 Cnext 的下一个像素为 Cnext = Cnow + Δstep · D,其中 Δstep 是预定义的步长。 由于我们不知道车道的方向,我们无法识别每个节点的前进和后退方向。 相反,我们将它们都视为正面标签。 具体来说,每个车道节点的方向标签是一个 Nd 向量,其中 2 个索引标记为 1,其他索引标记为 0。请注意,topdown 地图上的大多数像素都不位于车道上,这意味着它们没有 方向。 这些像素的方向向量是零向量,我们从不在训练期间对这些像素进行反向传播。 我们使用 softmax 作为分类的激活函数
矢量化。 在推理过程中,我们首先使用基于密度的噪声应用空间聚类 (DBSCAN) 对实例嵌入进行聚类。 然后使用非最大抑制(NMS)来减少冗余。 最后,在预测方向的帮助下,通过贪婪地连接像素来获得向量表示。
B. 评估
在本节中,我们提出了语义图学习的评估协议,包括语义度量和实例度量。
1)语义度量:模型预测的语义可以用欧拉方式和拉格朗日方式进行评估。 欧拉度量在密集网格上计算并测量像素值差异。 相反,拉格朗日度量随着形状移动并测量形状的空间距离。
欧拉度量。 我们使用联合交集(IoU)作为欧拉度量,由下式给出,
其中 D1, D2 ⊆ R H×W×D 是形状的密集表示(在网格上光栅化的曲线); H和W是网格的高度和宽度,D是类别数; |·| 表示集合的大小。
拉格朗日度量。 我们对结构化输出感兴趣,即曲线由连接点组成。 为了评估预测曲线和地面实况曲线之间的空间距离,我们使用曲线上采样的点集之间的倒角距离 (CD):
其中 CDdir 是定向倒角距离,CD 是双向倒角距离; S1 和 S2 是曲线上的两组点。
2)实例指标:我们进一步评估我们模型的实例检测能力。 我们使用类似于目标检测[35]中的平均精度(AP),由下式给出
其中 APr 是召回率 = r 时的精度。 我们收集所有预测并根据语义置信度按降序排列它们。 然后,我们根据 CD 阈值对每个预测进行分类。 例如,如果 CD 低于预定义的阈值,则认为是真阳性,否则认为是假阳性。 最后,我们获得所有精确召回对并相应地计算 AP。
IV. EXPERIMENTS
A. 实施细节
任务和指标。我们在 NuScenes 数据集 [36] 上评估我们的方法。我们专注于两个子任务:语义图分割和实例检测。由于 nuScenes 数据集中的地图元素类型有限,我们考虑三个静态地图元素:车道边界、车道分隔线和行人过路处。
建筑学。对于透视图图像编码器,我们采用在 ImageNet [38] 上预训练的 EfficientNet-B0 [37],如 [29]。然后,我们使用多层感知器(MLP)将透视图特征转换为相机坐标系中的鸟瞰图特征。 MLP 是按通道共享的,不会改变特征维度。
对于点云,我们使用具有动态体素化 [31] 的 PointPillars [39] 的变体。我们使用具有 64 维层的 PointNet [32] 来聚合柱中的点。具有三个块的 ResNet [40] 用作 BEV 解码器。
tarin 详情。我们将交叉熵损失用于语义分割,并将判别损失(等式 5)用于我们设置 α = β = 1、δv = 0.5 和 δd = 3.0 的实例嵌入。我们使用 Adam [41] 进行模型训练,学习率为 1e-3。
B. 基线方法
对于所有基线方法,我们使用与 HDMapNet 相同的图像编码器和解码器,并且只更改视图转换模块。
逆透视映射 (IPM)。最直接的基线是通过 IPM [42]、[43] 将分割预测映射到鸟瞰图。
带有鸟瞰图解码器的 IPM (IPM(B))。我们的第二个基线是 IPM 的扩展。我们不是在透视图中进行预测,而是直接在鸟瞰图中执行语义分割。
具有透视图特征编码器和鸟瞰图解码器 (IPM(CB)) 的 IPM。下一个扩展是在透视图中进行特征学习,同时在鸟瞰图中进行预测。
Lift-Splat-Shoot。 Lift-Splat-Shoot [29] 估计透视图图像中的深度分布。然后,它将 2D 图像转换为具有特征的 3D 点云,并将它们投影到自我车架中。
View Parsing Network
C. 结果
我们将 HDMapNet 与第 IV-B 节中的基线进行比较。 表 I 显示了比较。 首先,我们的 HDMapNet(Surr),它是仅围绕相机的方法,优于所有基线。 这表明我们新颖的基于学习的视图转换确实有效,无需对复杂地平面 (IPM) 或估计深度 (Lift Splat-Shoot) 做出不切实际的假设。 其次,我们的 HDMapNet(LiDAR) 在边界方面优于 HDMapNet(Surr),但在分隔线和人行横道方面较差。 这表明不同的类别在一种模态中不能被同等识别。 第三,我们的相机图像和激光雷达点云的融合模型达到了最佳性能。 它相对于基线和我们的仅相机方法提高了 50%。 (VPN)。 VPN [27] 提出了一个简单的视图转换模块:一个视图关系模块来建模任意两个像素之间的关系,一个视图融合模块来融合像素的特征。
另一个有趣的现象是各种模型在 CD 方面的行为不同。 例如,VPN 在所有类别中的 CDP 最低,而它在 CDL 上的表现不如同类产品,并且总体 CD 最差。 相反,我们的 HDMapNet(Surr) 平衡了 CDP 和 CDL,在所有基于相机的方法中实现了最好的 CD。 这一发现表明 CD 是 IoU 的补充,它显示了模型的精度和召回方面。 这有助于我们从另一个角度理解不同模型的行为
实例地图检测。 在图 2(实例检测分支)中,我们使用主成分分析 (PCA) 显示嵌入的可视化。 即使它们彼此靠近或有交叉路口,也会为不同的车道分配不同的颜色。 这证实了我们的模型学习了实例级信息并且可以准确地预测实例标签。 在图 2(方向分类分支)中,我们显示了我们的方向分支预测的方向掩码。 方向一致且平滑。 我们在图 4 中展示了后处理后产生的矢量化曲线。在表 II 中,我们展示了实例图检测的定量结果。 HDMapNet(Surr) 已经优于基线,而 HDMapNet(Fusion) 明显优于所有同类产品,例如,它比 IPM 提高了 55.4%。
传感器融合。 在本节中,我们将进一步分析传感器融合对构建高清语义图的效果。 如表 I 所示,对于分隔线和人行横道,HDMapNet(Surr) 优于 HDMapNet(LiDAR),而对于车道边界,HDMapNet(LiDAR) 效果更好。 我们假设这是因为车道边界附近有高程变化,因此很容易在 LiDAR 点云中检测到。 另一方面,道路分隔线和人行横道的颜色对比是有用的信息,使两个类别在图像中更容易识别; 可视化在图 4 中也证实了这一点。结合 LiDAR 和摄像头时实现了最强的性能; 组合模型的性能大大优于具有单个传感器的两种模型。 这表明这两个传感器包含彼此的互补信息。
恶劣的天气条件。 在这里,我们评估了我们的模型在极端天气条件下的稳健性。 如图 5 所示,我们的模型可以生成完整的车道,即使在光照条件不好或雨水遮挡视线的情况下。 我们推测,当道路不完全可见时,该模型可以根据部分观察预测车道的形状。 虽然在极端天气条件下性能有所下降,但整体表现尚可。 (表三)
时间融合。在这里,我们对时间融合策略进行了实验。我们首先通过根据自我姿势将先前帧的特征图粘贴到当前帧中来进行短期时间融合。特征图通过最大池化融合,然后输入解码器。如表IV所示,融合多帧可以提高语义的IoU。我们通过融合分割概率进一步实验长期时间积累。如图 6 所示,我们的方法在融合多个帧的同时产生具有更大视野的一致语义图。
五、结论
HDMapNet 直接从相机图像和/或 LiDAR 点云预测高清语义地图。与需要大量人力的全局地图构建和注释管道相比,局部语义地图学习框架可能是一种更具可扩展性的方法。尽管我们的语义地图学习基线方法不能产生准确的地图元素,但它为系统开发人员提供了在可扩展性和准确性之间权衡的另一种可能选择
Conclusion
不同投影方式: (IPM)图像坐标系下结果直接投bev,(IPMB)特征投到bev后在bev下做分割,(IPMCB)特征学习训练在图像坐标系下,但是分割在bev下,(LSS)每个点预测一个深度,然后投影,(VPN)神经网络学习映射关系
CDl是prediction到label的距离,CPp是label到prediction的距离,CD是他俩的均值(单位m),越低约好,IoU是越高越好。就投影方式来看HDMap(surr)>IPMCB>LSS>VPN,就传感器看融合>视觉>lidar