0. 这篇文章干了啥?
点云在各种机器人应用中被广泛使用,因为它们在支持基本功能和任务方面非常有效。现有的同时定位与地图构建(SLAM)方法简单地融合点云,而没有有意地移除可能影响静态环境特征准确表示的动态点。在地图中包含动态点可能导致幽灵点的出现,这些幽灵点也会影响下游任务的性能。在定位任务中,幽灵点可能会降低鲁棒性。对于全局路径规划,幽灵点的存在可能导致子优路径选择。
现有的动态点去除方法可以根据其管道逻辑分为三类:基于自由空间的、基于差分的和数据驱动的。基于自由空间的方法通过光线投射经常经过的区域来识别自由区域。然而,部分检测问题和高计算需求限制了它们的应用。基于差分的方法通过比较扫描和地图之间的差异来分类动态点。然而,它们缺乏合适的全局地图表示,使得错误移除静态点的恢复变得复杂。数据驱动方法依赖于从数据集中学习,并训练一个特征提取网络直接检测动态点。尽管这些方法有效地识别了移动物体,但如果训练和测试数据集来自不同的传感器设置,领域自适应是一个巨大的挑战。
在本文中,我们介绍了一种新颖的用于开放世界环境的动态点去除方法,称为动态点去除的二进制编码适应性地面矩阵(BeautyMap)。所提出的方法可以高效准确地从全局点云地图中去除动态点。为了增强效率,我们将点云数据表示为3D二进制网格,并将其编码为2D矩阵。我们通过按位操作比较帧之间的矩阵和全局点云地图,标记所有潜在的动态点。这种直接的操作使我们能够比传统的光线投射方法更有效地执行潜在的动态区域检测。
为了准确地去除动态点,我们进行了一个可适应的地面调整过程。在这个过程中,我们应用一个粗糙的地面提取模块来过滤掉地面以下的异常点,并应用一个分层分辨率模块来分割地面的上表面和靠近地面的动态点。然后我们执行一个静态点恢复过程来检查以前的潜在动态区域,考虑传感器属性并屏蔽视线之外的检测。
我们通过几个数据集评估了我们的方法,并且BeautyMap在点云地图动态去除基准测试中取得了最先进的性能。我们的方法是开源的,网址为https://github.com/MKJia/BeautyMap。
下面一起来阅读一下这项工作~
1. 论文信息
标题:BeautyMap: Binary-Encoded Adaptable Ground Matrix for Dynamic Points Removal in Global Maps
作者:Mingkai Jia, Qingwen Zhang, Bowen Yang, Jin Wu, Ming Liu, Patric Jensfelt
机构:香港科技大学
原文链接:https://arxiv.org/abs/2405.07283
代码链接:https://github.com/MKJia/BeautyMap
2. 摘要
全局点云正确表示静态环境特征,有助于准确定位和稳健路径规划。然而,动态对象引入了不希望出现的幽灵轨迹,与静态环境混合在一起。现有的动态去除方法通常无法在计算效率和准确性之间取得平衡。为此,我们提出了BeautyMap,以高效去除动态点并保留静态特征,以获得高保真度的全局地图。我们的方法利用二进制编码矩阵来有效提取环境特征。通过对每帧矩阵和相应地图区域的逐位比较,我们可以提取出潜在的动态区域。然后,我们使用z轴的粗到细的分层分割来处理地形变化。最后的静态恢复模块考虑了每个单次扫描的范围可见性,并保护了视线外的静态点。比较实验强调了BeautyMap相对于其他动态点去除方法在准确性和效率上的优越性。该代码在https://github.com/MKJia/BeautyMap开源。
3. 效果展示
在SemanticKITTI数据集中进行动态点移除的结果,利用BeautyMap的方法。红色:所有动态点(左)和移除后(右)。蓝色:静态点。
具有潜在动态区域的矩阵可视化。第一行显示了潜在动态点区域矩阵,经过我们的静态恢复方法执行后的动态区域矩阵,这显著减少了错误识别的静态区域,并显示了地面真相。第二行显示了剩余的静态区域矩阵,经过静态恢复后的矩阵以及地面真相。全局地图的原始点云显示在右侧。
4. 主要贡献
? 我们将二进制3D网格地图表示为二进制编码矩阵,通过位操作和矩阵运算提高计算效率。
? 我们引入自适应调整和分层Z轴分辨率,用于地面点,并提供一个保护模块,用于误检测点。
? 我们验证了BeautyMap与最先进的方法,并通过全面评估证明了其优越性能。
5. 基本原理是啥?
我们提出方法的概览管道。全局地图被编码为矩阵,并通过可适应地面调整进行处理。扫描数据在转换为全局框架后也类似地被编码。为了实现动态区域识别,查询矩阵与相应的地图子矩阵逐位比较,以获取潜在的动态矩阵。最后,实际上是静态的被错误分类的点被恢复。
我们提出的地图表示结构的实现。(a) 全局混杂的点云地图。红色代表来自地面真值的动态点仅用于可视化,不会使用地面真值标签。(b) 地图存储结构。有色体素表示被占据,而白色体素表示空闲。在z轴上应用分层分辨率,显示为棕色的地面网格单元。(c) 二进制编码的2D地图矩阵。放大区域的2D矩阵值以十六进制显示,右侧显示垂直占据数据的视图。为了更好的观察,每个值都以对数方式映射并以热图格式进行可视化。
黑色方框中的地下异常点显然在全局点云地图的侧视图中显示出来。颜色条指示了以米为单位的点高度。
我们的精细地面分割过程。黑色方框放大了Csel,显示了沿着黑色虚线的地面点数比分割。蓝点表示静态点,红点表示动态点。红色框表示潜在的动态网格,而带有静态和动态点的虚线蓝框用于内部计算。
6. 实验结果
动态点去除方法在几个数据集上的定量比较结果如表I所示。对于基于差分的方法,ERASOR展现出了其去除动态点并实现高DA得分的能力,但以减少SA得分为代价。Removert则显示出相反的低得分,这主要归因于在粗糙范围图像中出现了不正确恢复的动态点,如[11]所述。在4DMOS、MapMOS和DeFlow上的半室内数据集上的动态点去除结果显示,这三种数据驱动方法在16通道LiDAR上面临困难。由于两者都是在使用多通道LiDAR(如KITTI(64通道)和AV2(32通道))捕获的数据集上训练的,因此一种可能的方法是对混合数据集进行标注和训练。基于自由空间的方法Octomap在静态点保存和动态去除方面很难取得平衡,因为存在噪声和地面点。另外两种Octomap w GF和dynablox通常保持良好的静态和动态准确性。特殊情况是在半室内数据集(16通道)上,4DMOS、MapMOS、DeFlow、Removert和dynablox的动态准确性表现不佳。Removert和dynablox的原因是它们将LiDAR点转换为范围图像,而具有少量通道的LiDAR的这种范围图像的分辨率限制了检测能力。作为一种基于差分的方法,我们的方法从新的点云表示和我们提出的差分策略中受益,并在表I中的四个数据集中表现优异,胜过所有其他方法。
在KITTI序列05的点云地图中动态去除的定性结果如图8所示。第一行显示了标签结果,而第二行显示了清理后的输出地图,其中剩余的动态点用橙色标记。对于基于自由空间的方法,Octomap(图8(a))在第一行中展示了相当数量的错误动态标签,在第二行的清理地图中误分类了动态点。另一方面,Dynablox(图8(b))在识别动态网格方面更为保守,这从第一行的结果中可见。ERASOR(图8(c))产生了比其他两种方法更清晰的地图,但它也检测到了更多错误的动态点,并且不准确地去除了一些静态结构。我们的BeautyMap的清理地图与地面真实情况最为接近,在准确性和动态点去除方面优于其他方法。
我们将提出的BeautyMap方法在KITTI序列01上的每帧运行时间与其他动态点去除方法进行了比较。如表II所示,我们的BeautyMap方法表现优异,每个点云的运行时间为0.046秒。这种效率归因于我们的二进制编码矩阵结构。第二快的方法Removert利用范围图像和地图与扫描的直接比较实现了较短的运行时间。Dynablox的运行时间接近于Removert方法,其TSDF结构用于识别自由空间并降低了复杂性。ERASOR方法通过将点云编码为感兴趣区域(VOI)并基于此结构进行逐bin计算来跟随排名。Octomap和Octomap w GF使用传统的Octree结构和射线投射方法对每个点进行处理,是最慢的。
在我们的BeautyMap方法中探索单元大小、速度和性能之间的权衡,我们使用KITTI序列02对不同单元大小进行了比较。如表III所示,较小的单元大小(0.5米)会导致HA略微增加,但与运行时间的显著增加相比,改进微不足道。另一方面,较大的单元大小(2.0米)会导致更高的DA但较低的SA,因为它倾向于移除更多点。这种默认设置也提供了最佳的运行时间效率和良好的动态点去除性能。将表II和表III中BeutyMap的结果与1.0米单元大小进行比较,可以看到运行时间在两个数据集中都保持低水平。
7. 总结 & 未来工作
在本文中,我们介绍了一种新的全局点云地图动态点去除方法"BeautyMap"。我们的方法利用了二进制编码的矩阵地图表示结构,以及可调整的地面调整和静态恢复模块,成为全局地图维护的一种可观的解决方案。通过比较实验,BeautyMap展现出了其在准确性和效率方面对其他传统方法的优越能力,显示了我们结构和方法的高效性。它还可以推广到各种类型的动态点去除场景,并适用于各种类型的范围传感器。
与许多其他方法一样,BeautyMap在处理特定位置的多个地面水平的挑战方面也面临着挑战。我们提出的方法的一个潜在解决方案是检测天花板并执行更好的保护。在未来的工作中,我们将进一步探索二进制编码矩阵结构的进一步用途,处理具有挑战性的场景,如多个地面水平,实现与实时里程计集成的在线模式,并将我们的方法扩展到长期变化检测和地图更新框架。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3DCV技术交流群
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、大模型、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
大模型:NLP、CV、ASR、生成对抗大模型、强化学习大模型、对话大模型等
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、BEV感知、Occupancy、目标跟踪、端到端自动驾驶等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
除了这些,还有求职、硬件选型、视觉产品落地、最新论文、3D视觉最新产品、3D视觉行业新闻等交流群
添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
3D视觉技术星球
3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪,无人机等。