文章目录
- 概要
- 主要贡献
- 内容概述
- 实验
- 小结
概要
论文地址:https://arxiv.org/pdf/2312.00534.pdf
路沿检测在自动驾驶中扮演着重要的角色,因为它能够帮助车辆感知道可行驶区域和不可行驶区域。为了开发和验证自动驾驶功能,标注的数据是必不可少的。然而,目前公共数据集中带有标注的点云路沿的数量非常有限。
本文提出了一种从激光雷达传感器捕获的一系列点云中检测3D路沿的方法,主要包括两个步骤。首先,我们使用分割深度神经网络在每个扫描中检测路沿。然后,我们通过车辆的里程数据对重建的点云进行序列级处理,以估计3D路沿。
通过对这些路沿的3D点云进行处理,我们按照ASAM OpenLABEL标准获取结构化的折线信息。这些检测结果可以用作标记流水线中的预标注,从而有效生成与路沿相关的地面实况数据。
我们通过实验证明了这种方法的有效性。实验中,我们让不同的人工标注员对一组基于LiDAR的序列数据进行标注,其中一部分数据带有我们自动生成的预标注,另一部分数据没有。结果显示,由于我们的检测方法,手动标注时间减少了50.99%,同时保持了数据质量水平。
主要贡献
在自动驾驶技术中,路沿检测对于全面了解车辆周围环境至关重要。路沿是道路边界的一部分,它将可行驶区域和不可行驶区域分隔开来,在自动驾驶任务(比如自动停车或路径规划)中扮演着重要的角色。
路沿的检测对于验证许多先进驾驶功能也非常重要,因为它们确定了潜在的感兴趣区域(比如停车位和人行道)。然而,带有路沿标注的数据虽然必不可少,但却非常有限。
为了减轻手动标注的任务,我们提出了一种方法,即提供3D路沿的预标注,可以融入到像[3]这样的标注工具中,实现半自动标注。
我们的方法包括两个阶段:首先,我们使用深度神经网络(DNN)对每个扫描进行粗略的路沿检测。然后,通过一个后处理步骤,对扫描级别的检测进行优化,并为整个输入序列提供路沿的预标注,这可以作为标注工具的输入,并表示为符合ASAM OpenLabel标准的折线。
因此,本文的主要贡献包括:
提供一种方法,以规范化的输出格式提供LiDAR点云序列的3D路沿检测,可用于标注工具。
开发适用于从LiDAR点云获得的2D俯视图(BEV)图像的扫描级路沿检测器。
提出一个后处理方法,将扫描级别的路沿检测转换为序列级别的三维折线。
验证所提方法,将人工标注员获取路沿地面实况数据所需的标注时间减少了50.99%。
内容概述
我们的方法包括三个主要阶段,如图1所示。首先处理点云以获得序列不同扫描的BEV(俯视图)点云表示。其次使用深度神经网络(DNN)推断每个扫描的路沿。第三步应用序列级处理步骤来获得3D路沿估计。这个最后的处理包括:
1)获取与每个扫描的2D路沿检测相对应的3D点;
2)从序列的扫描、2D路沿检测和车辆航迹的信息中重建检测到的3D路沿点;
3)对3D路沿进行聚类、骨架化和简化,以生成符合标准化标注文件的最终折线。
3.1 点云到BEV
为了检测路沿,可以使用两种类型的输入表示:LiDAR点云的3D表示或BEV(俯视图)投影。3D选项更准确且包含更多信息,但更为复杂且计算代价更高。因此,我们选择BEV选项作为更紧凑的表示方法。
点云是空间中的一组3D点,被分为M个切片,对应于不同的高度间隔,并投影到具有特定单元大小的2D网格图上。每个投影通过对每个网格单元中最高点的高度进行编码,产生一个单独的高度图。因此,BEV被编码为一组M通道的特征。
3.2 扫描帧路沿分割
我们提出了一个语义分割DNN来估计2D路沿。该网络采用M通道BEV地图,并推断逐像素的2D掩码,其中每个像素被分配一个类别标签,本例中为“路沿”和“非路沿”。我们使用逐像素的交叉熵损失来训练网络,这是语义分割任务中最常用的损失函数。损失函数对输入张量的所有像素求和,如下所示:DNN模型使我们能够获得对路沿的初始近似,以生成相应的地面实况。然后,我们执行一系列后处理步骤,以考虑整个序列,获得更健壮和一致的结果。
3.3 3D路沿优化
2D到3D转换。在此阶段,第一步是将DNN输出的每个扫描的2D推断转换为3D路沿点。为此,如图1所示,我们使用LiDAR输入扫描,从中提取必要的信息,以为先前推断为路沿的点分配高度。由于从点云到BEV的转换步骤会导致由网格分辨率和M切片数量产生的信息丢失,这个转换对于获得检测到的路沿点高度的良好近似至关重要(见图2)。
重建。在此步骤中,考虑到每个扫描的所有路沿3D点,以及输入点云,应用车辆航迹信息,进行所有这些点的累积重建,以获得整个序列的路沿点云。
标注生成。在这一点上,我们首先将不同的路沿检测分组,以便在后续阶段可以分开操作,例如,在标注工具中有效地加载它们或删除那些对应于虚假检测的部分。为了进行这种分离,我们使用DBSCAN算法执行聚类阶段。这个算法适用于数据中具有相似密度的簇,因此在其应用之前,我们执行了体素子采样过程,平衡了簇的密度,这也有助于后续的插值步骤。为了获得最终的折线路沿表示,我们使用骨架化算法。通过应用这个专为从LiDAR获得的点云进行骨架化而设计的算法,我们获得了线性迹线,我们期望表示路沿。最后的后处理步骤是简化。在此步骤中,通过Ramer-Douglas-Peucker算法减少了检测到的路沿骨架的点数。该算法使用给定的距离容差确定要消除或保留的线上的点。重建和随后的后处理步骤的表示(直到获得简化的点云)可见于图3。
标注文件。在这一步中,路沿以符合ASAM OpenLabel标准的文件中的折线形式存储。
实验
实验部分介绍了使用BEV表示来呈现DNN进行扫描级检测的结果,另一部分专门用于使用我们估算的3D路沿生成地面真值。
单帧扫描路沿估计:表格I展示了分割网络在两个不同容差下的结果,考虑到1像素对应0.1m,即空间分辨率为0.1m/像素。在3个像素的容差下获得的F分数显示,大多数情况下都能检测到路沿,证明了DNN用于初步路沿估计的适用性。当容差更为严格时,指标略有下降,这促使我们在流程中进行第二阶段的精炼。
3D路沿标注:我们进行了一系列测试以评估由我们的方法获得的路沿估计对于地面真值生成的实用性。这些测试涉及对有和没有使用我们方法获得的预标注的路沿进行标注。测试是在从一辆原型车上安装的LiDAR传感器收集的四个序列上进行的,这些序列包含不同的路沿特征,如直线段、曲线、被植被遮挡、停放的车辆等(见图4)。
图5中显示了使用标记的路沿的标注工具的示例。由于LiDAR点云的稀疏和低分辨率特性,手动标注的过程通常是一项复杂而繁琐的任务,尤其是路沿的标注,需要标注者具备一定的技能。为了简化标注过程,标注者被要求使用着色了z轴梯度的俯视图,以突出路沿高度上的不连续性。
我们使用精心制作的手动地面真值来评估标注者所做的标注。在标注过程中,标注者被要求测量每个地图的标注时间,包括从头开始标注和使用预标注的地图。
所采用的评估指标有召回率、精确度和F分数,该方法将3D多段线集转换为3D点集,并使用特定的度量步长对多段线进行采样。随后,它通过使用3D欧几里得距离比较这些3D多段线。
需要注意的是,距离测量的最大误差受到离散化步长的一半的限制。我们考虑了在实施细节中提到的0.1m/像素的分辨率。在表II中,显示了在每个地图的标注中获得的指标的平均值,以及总体平均值和通过使用预标注获得的改进。
基于BEV分辨率,使用10cm的容差来计数标注为正确。虽然在没有预标注和有预标注的情况下获得的值之间没有主要差异,主要是因为最终是人类标注者做所有标注,但我们确实注意到在使用我们的方法生成的预标注时,标注的质量略有提高。
此外,在表III中,我们展示了通过我们的方法提供的预标注将标注时间减少了50.99%。
小结
AD任务中对地面实况数据的需求需要大量的数据,这些数据需要手动标记。半自动标注算法可以帮助减少人工标注时间,从而在标注过程中节省成本。
在本文中提出了一种从激光雷达点云序列中以ASAM OpenLABEL标准化输出格式生成3D路沿预标注的方法。我们的方法在扫描级别检测路沿,并在第二序列级别的后处理阶段对其进行细化。
最终检测结果存储为多段线。通过使用从测试车辆中配备的激光雷达传感器获得的真实数据进行手动标注活动,我们验证了我们的方法的适用性。我们提出的路沿石检测管道将手动标注时间减少了50%,同时在标注中保持类似的准确性。
未来的工作包括用更大的数据集训练DNN,并探索替代架构来增强预标注。我们还计划扩展该方法,将RGB相机的数据纳入其中,以增强最困难场景中检测的可靠性。