使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割

A.写在前面

非常喜欢的一个工作,利用神经网络显式使用四维时空信息,能准确检测出自动驾驶场景中的动态物体。

题目:Receding Moving Object Segmentation in 3D LiDAR Data Using Sparse 4D Convolutions来源: RAL/IROS
作者:Benedikt Mersch, Xieyuanli Chen, Ignacio Vizzo, Lucas Nunes, Jens Behley, Cyrill Stachniss
Year: 2022

转载至:泡泡机器人SLAM 公众号 2022-08-01 06:30文章 
原文链接:
【泡泡图灵智库】使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割

B.概述

对于激光SLAM来说,如何在动态场景中的姿态估计一直是个难以解决的问题。现在基于激光雷达稀疏点云的物体分割算法已经有很多研究。但去除掉某一类的物体并不是解决激光SLAM在动态物体中的最优选择,停着的车、静止的墙这些才是激光SLAM定位当中真正需要观察的点云信息。本篇工作中,作者对采集到的序列点云帧构建出”后退序列滑动点云窗口“,用提出的新型的4D稀疏卷积算法,通过对采集到到的序列点云帧进行推理,预测出场景中真正移动的物体(如骑行的人)。除此之外,作者采用了贝叶斯滤波的方式,进一步提升了滤波的鲁棒性。

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第1张图片

C.主要工作和贡献

  • 提出稀疏的4D卷积方法可以提取出点云中的时空特征信息,用于分割出场景中真正运动的场景。该方法通过滑动窗口的方式,将新观测的点云信息添加到估计序列中的同时也去除掉序列中时间最久的序列帧。同时通过二元贝叶斯滤波的方式提升估计的鲁棒性。将场景中的真正静态物体保存下来。

  • 相比于之前的方法,该方法对于估计场景中静态物体的方式更好。

  • 对场景的适应性更好。

  • 可以通过新的观测点云来提升预测结果。

D.算法总结

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第2张图片

算法整体框架图如图所示:这里的代表的是当前时刻下观测得到的点云。

1.算法输入

将滑动窗口中的点云都对齐到当前点云帧坐标系下,构建出稠密的4D点云。这里的4D维度除了表示位置信息外,也将时间信息加到观测序列中。如公式所示。

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第3张图片

因为激光点云过于稀疏,所以这里将4D点云通过和的方式将空间中的稀疏点云划分到稀疏体素空间下。用稀疏的tensor来表示稀疏体素,并且只将有物体的空间体素特征进行表达来提升算法的高效,让算法可以在大空间下使用。

2. 稀疏4D卷积

相比于稠密4D卷积,稀疏4D卷积的方式速度更快。作者借助Minkowski Engine工具来实现这一idea,基于MinkUNet14框架进行修改。UNet这种跳跃连接的方式来更好的保存细节和提升预测效果。相比于之前基于SalsaNext的LMNet(6.7MB)或基于RangeNet++(50MB)的实现,我们的算法仅用了1.8M内存。网络的最后一层SoftMax,对场景中的点进行二值分类,通过0,1表示场景中的点到底是否运动。

3. 后退平移策略

该方法的优势是通过新的观测来对场景中的移动物体进行重新估计,可以通过序列的方式来有效的对场景中的移动物体来进行重建估计。

4. 二值贝叶斯滤波

这里二值滤波的主要方式就是通过新观测得到的LiDAR帧来对之前不同时刻观测得到的激光点云来进行重新预测。

如公式(2)所示,这里将表示时刻下预测的结果。通过贝叶斯滤波的方式来判断出点云在时刻t下到底是否运动。

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第4张图片

如公式(3)所示,可以通过递推的方式来判断出场景中的点到底是否运动。

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第5张图片

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第6张图片

在时刻t,我们通过对数的方式来输出置信度信息,判断产经中的信息是否运动。如果置信度信息大于0.5,则我们认为场景中的点运动,否则则认为场景中点没有运动。

E.实验结果

1. KITTI结果

  • 算法在Semantic Kitti上测试结果如下表所示:

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第7张图片

2. Apollo数据上测试结果:

  • 为了验证算法的泛化性,作者用KITTI的训练结果在Apollo上训练,得到结果如下:

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第8张图片

3. Prior在SemanticKITTI上测试

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第9张图片

4. 可视化结果观察

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第10张图片

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第11张图片

F.实验测试

github上开源算法README已将安装过程介绍的很清楚。唯一问题需要注意的是需要的torch版本是1.10,cuda是11.3。按照此环境配置,即可复现得到论文中的结果。

1.训练数据集构建

其中训练数据集构建得符合Semantic KITTI要求,如下所示:

使用稀疏 4D 卷积对 3D LiDAR 数据中的运动对象进行后退分割_第12张图片

2.可视化效果

如果希望可视化效果,按

github issue:https://github.com/PRBonn/4DMOS/issues/9

所示,得到结果:

cd semantic-kitti-api
./visualize_mos.py --sequence 8 --dataset /mnt/data/kitti-odometry/dataset --predictions /path/to/4DMOS

你可能感兴趣的:(3d,计算机视觉,人工智能)