点击下方卡片,关注“3D视觉之心”公众号
第一时间获取3D视觉干货
>>点击进入→3D视觉之心技术交流群
ERASOR的局限性
地图在理想情况下应该在静态环境中创建最佳,但在大多数现实场景中,动态物体的存在是不可避免的。由于每次扫描点云都在离散时间间隔内捕获数据,动态物体的存在可能会在点云数据中引入失真和长时间的痕迹。
现有方法大致可以分为在线方法和后处理方法。在线方法由于能够使用有限数量的当前扫描实现近乎即时性,因此在检测当前场景中的快速移动物体方面具有固有的局限性,这可能会忽略某些移动物体的痕迹。尽管在线方法使用了扫描-地图前端和地图-地图后端技术,但其准确性通常低于后处理方法。
后处理方法具有更高的准确性,主要分为:
基于聚类的方法
基于语义的方法
基于体素(或光线追踪)的方法
基于可见性的方法
基于描述符的方法
其中ERASOR[2]关注的是在一组生成的地图中进行动态物体后处理拒绝的问题。其主要工作包括利用垂直列中点的表示称为区域伪占用描述符(R-POD),提出了一种称为扫描比率测试(SRT)的方法来获取具有动态物体的箱子,一种称为区域地面平面拟合(R-GPF)的静态点检索方法,并提出了一种特别适用于静态地图构建任务的度量。
尽管ERASOR在动态物体移除方面表现出色,但仍存在一些局限性:
描述符的简单表示。在先前的方法中,箱子区域描述符的表示简化为仅包括Z轴的高度差异,这似乎丢失了大量有价值的信息。
在地面被遮挡的区域中去除的不确定性和错误。如图3所示,在一些包含远离扫描中心的植被的区域,或者当建筑物位于其他物体后面时,箱子中的扫描点数量有限,导致确定箱子状态的潜在不准确性。
由LiDAR数据漂移或误差引起的孤立动态箱。某些箱子可能表现出孤立的动态状态,尽管该区域中没有任何动态物体,这导致计算资源的浪费和无效的移除过程。
ERASOR++[1]基于描述符方法ERASOR的思路,引入了一种新颖的描述符表示方法,并提出了多种有效的测试方法,以克服现有的局限性:
新颖的高度编码描述符(HCD),它结合了Z轴的极值和稀疏中间值,增强了描述能力。
综合的高度堆栈测试(HST)方法,用于评估动态箱,利用HCD中的中间高度区域点的描述,避免因信息不足导致的潜在动态移除问题。
提出了额外的地面层测试(GLT)和周围点测试(SPT),用于提高动态状态的准确性,补充算法并解决特定挑战。
(大拇指往上滑,点击最上方的卡片关注我,整个操作只会花你 1.328 秒,然后带走未来、所有、免费的干货,万一有内容对您有帮助呢~)
具体方法
高度编码描述符
为了简化信息并采用一种新颖的方法来描述感兴趣区域的点云。设计了高度编码描述符(HCD):一种通过结合高度差异和高度编码信息的新方法,提供了一种既简洁又信息丰富的点云表示。
当前扫描到达时,首先获取特定距离范围内的点云,然后从先前地图中获取相同范围内的子地图。高度编码描述符基于获取的点云,如图2所示。
设 为时间步 感知到的点云; 为 中的一个点,即 ; 为从特定范围内获取的点,也称为感兴趣体积(VoI)。则 可以定义和公式化如下:
其中,,ρ。注意、和是VoI的常量阈值。此公式通过使用限制最大径向距离边界并使用和限定有效高度范围,从而减少需要变换的点数量并避免异常值。
如图2所示,VoI 将根据方位角和径向位置划分为箱子,称为扇区和环。设 为第 环和第 扇区的箱子中的点,则每个箱子中的点可以定义为:
其中,, 和 分别表示环和扇区的总划分数目。
在每个箱子中,基于高度值的层索引用于表示描述符中的高度信息。设 为第 环和第 扇区中第 层的点,则每个箱子中每一层的点可以定义为:
其中, 表示每个箱子中的总层数。
因此,高度编码描述符 以及其差异描述符 和编码描述符 可以定义为:
注意, 的表示是为了使用位操作简化计算和节省存储空间。如图2所示,使用这种编码方法,通过可选的总层数 ,可以完全表示每一层中的高度占用信息, 通常设置为8或其倍数以匹配计算机存储单元。
因此,描述符不仅可以显示相对高度的极值,还可以通过简化的编码方法表示其他点的高度信息。
高度堆栈测试
在之前的工作中,扫描比率测试(SRT)被用来比较当前扫描与其对应的先前地图描述符,以找出具有动态物体的箱子。SRT 直接通过限制这两个值的商来比较当前扫描和地图扫描中的高度差值,可以描述为:
这种方法可能会导致如图3所示的不良移除情况。在这种情况下,基于提出的高度编码描述符(HCD),我们设计并使用了一种新颖的测试方法,称为高度堆栈测试(HST)。
如图3所示,我们可以看到需要检查地面以上各层的重叠部分,重叠部分的数量表明了其为静态的可能性。因此,高度堆栈测试参数被设计为:
其中,符号 和 分别表示位编码的与操作和非操作,而 表示地面以下的编码层。 表示重叠层及其在地面以上的位置。注意,在编码和实现时, 始终转换为其占用位的数量,并限制在低层级。
因此,通过限制重叠层的位置和数量,可以利用中间位置的高度信息,成功避免由于扫描箱中的点被阻挡而导致的不良移除。
地面层测试
地面层测试(GLT)是一种新提出的方法,涉及检查高度编码描述符(HCD)中的地面层,以确定高度堆栈测试(HST)的相对位置。由于LiDAR里程计或SLAM中的姿态Z方向信息通常比X和Y方向更不确定,每个序列中的地面层并不统一,这使得在该系统中需要搜索地面层。
从上述过程来看,每个感兴趣体积(VoI)中的点都与一个箱子相关,并且可以根据环号和扇区号在中进行索引。考虑到地面点通常可以在扫描传感器附近获取,使用每个箱子的索引从近到远进行迭代,获取占据环的点,然后检查这些箱子中每一层的点数,最终选择点数最多的层作为中的地面层。如果超过四分之三的环中的箱子达到相同的地面层,则编码地面以下层的值定义为:
其中,是满足环中最近有效箱子中的地面点数量的层序号。
因此,找到了地面层,然后高度描述符可以表示绝对信息和相对信息。注意,与ERASOR中的地面平面拟合(R-GPF)不同,地面层测试方法仅使用简单的计算来找到具有地面点的层,并在所有过程之前独立运行,以为后续的HST和R-GPF提供限制信息。
周围点测试
周围点测试(SPT)是位于高度堆栈测试(HST)和区域地面平面拟合(R-GPF)之间的一个过程,用于减少错误的动态移除。由于LiDAR点云中总是存在不确定性,并且某些遮挡物可能会影响箱子状态的结果,因此会有一些孤立的动态箱,但其中没有动态物体,如图4所示。
这一部分的重点是通过搜索邻近的点来纠正孤立箱子的状态,旨在识别并纠正由于周围信息不足而导致箱子看起来是动态的情况。通过分析附近的点,这个测试可以确保对箱子动态状态的更准确评估。
由于先前的地图是通过累积每个扫描帧生成的,因此动态物体在地图中总是有长轨迹。因此,确实具有动态物体的箱子应聚集为组或线。在这种情况下,我们提出了周围点测试方法,通过搜索其周围点来检查每个动态箱,并确保其状态正确。搜索区域可以描述为:
其中, 表示点云搜索范围,可以根据数据序列进行调整,而 适用于大多数情况。
如果在搜索区域中存在动态箱,则目标箱的状态将保持不变。相反,如果在搜索区域中没有动态箱,则目标箱的状态将更改为静态状态。
因此,减少了孤立的错误移除,输出地图中的静态点数增加,保留率提高。
实验效果
实验结果显示,ERASOR++在所有序列中显著提高了保留率和F1分数,尽管拒绝率略有下降。特别是在处理长时间数据集时,ERASOR++能够保持高水平的精度。
ERASOR++在精度和速度方面均优于先前的ERASOR。通过引入高度编码描述符(HCD)、高度堆栈测试(HST)、地面层测试(GLT)和周围点测试(SPT),我们的系统有效地解决了先前方法的局限性,显著提高了动态物体移除的效果和静态点的保留质量。
总结一下
ERASOR++是基于ERASOR方法的一种改进动态物体移除系统,引入了一种新颖的表示方法——高度编码描述符,并提出了综合的高度堆栈测试、地面层测试和周围点测试。有效解决了ERASOR的局限性,提高了静态点的保留质量,特别是在非结构化环境中。
未来工作:通过新颖表示方法的创新,描述符预计将通过来自原始点云的更多可用信息来完善,进一步用于其他具有挑战性的任务或方面。
参考
[1] ERASOR++: Height Coding Plus Egocentric Ratio Based Dynamic Object Removal for Static Point Cloud Mapping
[2] ERASOR: Egocentric ratio of pseudo occupancy-based dynamic object removal for static 3D point cloud map building
投稿作者为『3D视觉之心知识星球』特邀嘉宾,欢迎加入交流!
【3D视觉之心】技术交流群
3D视觉之心是面向3D视觉感知方向相关的交流社区,由业内顶尖的3D视觉团队创办!聚焦三维重建、Nerf、点云处理、视觉SLAM、激光SLAM、多传感器标定、多传感器融合、深度估计、摄影几何、求职交流等方向。扫码添加小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
扫码添加小助理进群
【3D视觉之心】知识星球
3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。