文章:SAGE-ICP: Semantic Information-Assisted ICP 作者:Jiaming Cui, Jiming Chen, and Liang Li 编辑:点云PCL 欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。 公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。侵权或转载联系微信cloudpoint9527。 摘要 在未知环境中进行鲁棒且准确的姿态估计是机器人应用中至关重要的一部分,基于LiDAR的点对点ICP与有效语义信息相结合。本文提出了一种新颖的语义信息辅助ICP方法,命名为SAGE-ICP,它利用语义信息进行里程计估计,通过3D卷积网络及时高效地提取整个扫描的语义信息,这些逐点云标签深度参与配准的各个部分,包括语义体素下采样、数据关联、自适应局部地图和动态车辆去除。与先前的语义辅助方法不同,所提出的方法能够在语义信息存在一定误差的情况下提高大规模场景中的定位精度,对KITTI和KITTI-360的实验评估表明,我们的方法优于基线方法,提高了准确性的同时保持了实时性能,即运行速度超过传感器帧率。 主要贡献 图1展示了我们语义地图结果的示例。主要贡献总结如下:
图1. 我们自适应体素地图的示例。(a) 和 (b) 显示了在移动机器人通过十字路口之前和之后我们的局部地图如何更新。没有语义信息的点(用黑色标记)逐渐被带有语义信息的点替换。 内容概述 SAGE-ICP概述 本文旨在利用语义信息进行点云配准,图2展示了我们方法的流程。首先通过点云语义分割网络[5]将语义标签分配给原始点云。然后进一步处理属于车辆的语义点以获得实例分割结果,同时利用先验知识去除潜在的动态车辆。随后根据它们各自的语义类别,单独对点云进行降采样,从而确保在降采样的点云中包含不同的语义类别,接下来的步骤涉及将预处理的点云与局部地图进行对齐,此对齐使用自适应阈值进行数据关联,其中关联点的选择同时考虑了语义标签的关联性和点之间的欧几里得距离,最后更新自适应局部体素地图,增强其存储和更新更重要的语义点云的能力。 图2. 方法的流程图,我们通过三个独立的过程进行语义分割,以在ROS2环境中实现实时运行。 实时语义分割 Cylinder3D是一个圆柱分区和非对称的3D卷积网络,它将点云特征和体素推理结果结合在一起,优于基于深度图的2D卷积方法,虽然原始的Cylinder3D在笔记本电脑上很难实时应用于机器人应用,但Hou等人提出了一种名为PVD的点对体素知识蒸馏方法,显著加速了Cylinder3D模型,在SemanticKITTI上表现很好,原始Cylinder3D模型的推理时间为170毫秒,而PVD为76毫秒,但知识蒸馏的代码尚未开源。在原始Cylinder3D模型的基础上,我们提出了一种新的方法,能够在ROS2框架上的笔记本电脑上实现实时语义分割。我们的方法对点云分割过程进行了两个关键修改。首先将整个语义标签推理过程分为三个不同的阶段;其次合并了成对的连续帧以馈送到神经网络。首先通过圆柱分区栅格化原始点云的第一帧,并通过MLP提取点云特征。为了确保过程1(图2中的P1)的实时性能,我们随机选择每个体素中的一个点,将其提取的特征作为体素特征。第二帧以相同的方式处理,然后与第一帧一起打包进入队列1。然后使用非对称的3D卷积网络生成体素输出,同时认为同一体素中的所有点具有相同的标签(图2中的P2)。带有语义信息的两帧点云被顺序推送回队列2,同时过程3依次发布它们(图2中的P3)。由于这三个过程彼此独立,而过程2执行推理所花费的时间少于200毫秒,因此,如果过程3每100毫秒发布一帧语义点云,那么语义点云的频率与原始点云相同,延迟固定为300毫秒。时间统计如表III。 语义点云预处理 对获取的语义点云进行的预处理步骤,主要包括动态点的去除和按类别的下采样。去除动态实例的方法基于先验知识,通过区分动态和静态车辆,使用欧几里得点云聚类来识别动态实例,并进一步筛选静态实例。另外,进行了语义下采样,采用了来自KISS-ICP的点云下采样方法,以在原始坐标中保留每个体素一个点,并对不同类别使用不同的体素网格大小,以防止关键点被过滤掉。这些步骤的目标是实现更快的收敛、更高的鲁棒性和更精确的配准结果。 语义信息辅助关联 在迭代姿态优化之前,即寻找正确的点关联之前,需要进行数据关联。大多数基于 ICP 的方法使用标准的最近邻方法处理这一任务,而语义方法则直接将具有相同标签的两个点进行关联,或者根据关联点对的语义标签一致性赋予权重系数。鉴于语义分割结果不可能百分之百准确,这里的策略是将语义标签融入到最近邻搜索中,同时避免关联来自不同类别的点。对于预处理后的点云中的每个源点,首先根据运动预测计算其体素坐标,并从局部地图中收集相应体素及相邻体素内的点。接着,通过语义欧几里得距离来度量每个点到源点的语义相关性,其中语义标签一致的点对具有较小的距离。通过设置阈值,将这些点对存储起来,最后通过鲁棒优化最小化残差,完成迭代过程。 自适应体素图 传统的体素地图存储方法采用哈希表,但我们的自适应体素图在关键语义点方面具有更高的存储密度,并具备更新点云语义标签的能力。算法中定义了一种替换策略,当体素中的点数处于特定范围时,采用普通点替换已存储的未标记点,同时按常规方式存储关键点。这样设计确保了自适应体素图中包含更为丰富的语义信息。同时,为了节省内存使用,我们会移除距离当前姿态过远的体素。 实验 实验设计及结果验证 我们设计了实验以证明我们的系统在大多数情况下优于最先进的里程计算法,并且对错误的语义分割结果具有鲁棒性。所有参数均列在表格I中。 表II展示了LOAM、SuMa++和SA-LOAM比较结果。LOAM是KITTI基准上最先进的纯LiDAR方法,而SuMa++和SA-LOAM是语义辅助的LiDAR SLAM系统。在KITTI Odometry Benchmark上进行了评估,与KISS-ICP等方法相比,该系统在大多数序列上表现更好,特别是在高速公路或乡村场景中。泛化验证包括对KITTI原始数据和KITTI-360的评估,结果显示在动态场景中,系统相较于KISS-ICP更具鲁棒性和更准确的定位性能 表II中的KITTI-PART的结果显示,我们的Cylinder3D模型辅助的语义信息方法比KISS-ICP更具鲁棒性和更准确的定位性能,而KISS-ICP在移动物体上出现了错误的对应关系。与此同时,更低的旋转误差意味着我们的方法可以从降质的环境中捕捉到小而关键的特征点,例如高速公路上的路标。Rangenet++对远处和小物体的分割准确性较差(见图3),导致了较大的误差。 图3. 语义分割结果。(a) Cylinder3D对于小目标的分割更准确,例如树干(用褐色标记)和道路标志(用红色标记)。(b) Rangenet++在附近的大面积语义分割上更为准确,例如道路(用粉色标记)。 该方法在大多数序列中表现得比基线方法更好或相等(见表II和图4) 图4. 相对位姿误差与长度从100到800米的关系, (a) 视野中充满了大量的建筑物和交叉道路。(b) 序列t2与KITTI原始数据相似,环境中只能提取到少量的特征信息。 消融实验
总结 本文提出了一种语义信息辅助的ICP方法,构建了一个在线姿态估计系统,集成了纯LiDAR语义信息,在KITTI里程计基准、KITTI-360以及特定的KITTI路段序列上对所提方法的评估表明,该方法可以提高在动态场景中的定位精度,尤其是在有效几何特征较少的情况下,在未来的工作中,我们计划探索将语义信息融合到闭环检测中,并整合其他传感器以进一步改善语义分割和姿态估计。 资源 自动驾驶及定位相关分享 【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法 自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源) 更多文章可查看:点云学习历史文章大汇总 SLAM及AR相关分享 以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除 扫描二维码 关注我们 让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。 |
|