自学内容网 自学内容网

动态SLAM总结一

汇总自己最近看到的有关动态SLAM的论文,虽然大部分都没有看懂。

方法分类:

  1. learning-based:
  2. visibility-based:Removert、ERASOR
    a. 入射角问题:比如入射角模糊。
    b. 障碍物出现时不能正确过滤掉动态点。
  3. occupancy map-based:OctoMap(建图)、UFOMap(建图)、DUFOMap、Dynablox
    a. 基于占据的方式在3D环境中是计算昂贵的。
    上面三种分类也可以称为如下:
  4. apperance-based segmentation:
  5. scan-to-scan change detection:
  6. map-based change detection:

OctoMap:(2013)

● 八叉树结构允许网格结构延迟初始化。
● 信息能够存储在八叉树中以不同的分辨率。
Voxblox:(2016)
● SDF(signed distance field)表示每个体素的点到距离最近的障碍物的距离,从而加速轨迹优化。
● 不同于事先分配体素大小,Voxblox分配块固定大小当需要的时候。

UFOMap:(2020)

这篇文章主要针对的是环境中的未知区域过多,从而引入未知区域的映射,和OctoMap相比在建图性能方面有所提升,但不是动态SLAM。(主要是为了和下面的DUFOMap联合理解)
● 创新点:
○ 地图中所有状态的显示表示:occupied、free、unknown。
○ 引入不同方式融合数据进八叉树,提高了效率;
○ OctoMap在插入/删除地图的同时不允许迭代操作,UFOMap克服这个缺陷。允许迭代。
○ OctoMap函数的八叉树的分辨率参数不可变的,UFOMap的八叉树分辨率参数可以改变。
● 占有率如何存储的:占有率存储在八叉树对应的节点中(log-adds occupancy value is stored in the nodes)。
● 一个节点(node)的占有率如何划分的:
free、 unknown occupied:
occ(n) < tf < occ(n) < to < occ(n)
● Morton codes使用去加速这个树的遍历。一种空间点编码方式。
● 集成传感器测量的点云:Simple integrator、Discrete integrator、Fast Discrete integrator,第三个方法暂时没有看懂。
离线方式:Removert、EARSOR、ERASOR2

Removert:(2020)

主要思想:在查询到的帧(scan)投影进地图(range images),随后在可见性约束下比较查询扫描的scan的范围图像,并且使用投票的方式预测动态点。同时为了减少错误位置,在退化的分辨率的场景下range images 被用于将动态点恢复为静态点,这也是为什么被称为Removert(移除并重建)。

ERASOR:(2021)

前提:假设动态对象是和地面相关联的。这篇文章暂时也不是很理解,动态对象和地面点相关联这个思想在 A Dynamic那篇文章中也提到过。后续可以结合起来看一下。
主要思想:比较查询scan和地图map的z轴最小和最大的比例。如果这个比例查过阈值,那么这个区域包含动态点,随后移除这个区域的bin。
缺点:对应不同的场景需要分别指定z轴范围的最小值和最大值。同时对于个别过高的区域可能超过z轴最大范围。

DynamicFilter:(2022)

scac-to-map前端 和 map-to-map后端 Visibility-based和map-based方法
the front end :
积累几帧后,基于可视化方法进行动态点移除:在大入射角或障碍物的情况下,静态点移除可能会发生退化,错误的将静态点识别为动态点,所以在移除后需要进行静态点重建。这里这个前端静态点重建方法比较新,可以看论文学习。
the back end:
文章中说明,由于只包含前端的系统在移除短序列时有效,但在移除长序列时表现效果较差,所以为了弥补这个缺陷,设计了后端移除方法。
这个文章后端模块中有一个大入射角的处理,通过计算每个点的入射角,将大于阈值的点云标计为伪占用点。将最近的伪占用点作为可视化边界,任何点超过这个可视化边界都不考虑。由于那些点的光线投影是不正确的。(这个思想和另一篇文章非常相近)

Dynablox:(2023)下层建图方案Voxblox

  • 主要思想:通过在线机器人操作过程中的感知、状态估计、映射限制增量的估计高置信度的free-sapce:核心思想是通过对每个限制进行建模来增量估计减少但高置信度的自由空间区域。然后使用这些高置信度区域来播种动态对象集群并消除低置信度区域中的点的歧义。
  • 创新点:增量高置信度估计方法考虑的因素有:输入点云、建模传感器噪声(重点看下这个和下面的DUFOMap方法使用的进行对比)、测量稀疏性、动态环境、状态估计漂移(这个也可以和下面的方式进行对比)。
  • 误差来源:传感器噪声、状态漂移、未探索空间边界地图的不准确性。

这篇文章看得是真的头大,好多概念都不是很清楚。

DUFOMap:(2024)基于UFOMap

关联:UFPMap中点云处理后生成的体素结构被用于DUFOMap的点云操作。光投影被用于识别void regions(后续用于区分静态点和动态点)。
文章中有一句话:The truncated signed distance field (TSDF) is an alternative to occupancy。 TDSF的值超过阈值的点被划分为"ever-free区域",随后点落到这个区域就被称为动态点,思想和基于占据的方式差不多。
● 创新点:如何识别动态点:
○ 基于已经标识的void regions,如果再次被观测到。同时考虑了传感器噪声和定位误差。如何考虑位姿位差和传感器噪声,通过缩小或者扩大void regions的范围。
○ 与最先进的实现方式的对比,基于多场景以及多传感器类型。
● 标识void regions:本文中提到:
○ 基于占据(Occupancy grids)的方式标识每个voxel的probalilistic,基于所有观测者对这个region的观测,也就是说这个regions可能在free和occupied之间进行切换。
○ 在本文提出的方式中,使用基于雷达单帧点云的观测,使用到一种新的光照投影的扩展方式去标记void region。不需要对观测进行积累才判断void region,直接基于单个观测快速判断。
● 位资和噪声补偿方法:
○ 对于位资采用一种切比雪夫距离,根据首次划分的void region使用,设置dp = 2。
○ 对于噪声补偿:设置一个距离ds = 0.2m,被集中的体素前方0.2米的位置对应的体素也被称为击中。对于这个自己理解的不是很准确,有兴趣学习的建议参考原文。

BeautyMap:(2024)

  1. 将点云表示为3D二进制网格,并进一步将他们编码进2D矩阵去提高效率。通过逐bit比较当前frame和global point cloud map去标记潜在的动态点。
  2. 动态点移除。
  3. 静态点重建:

原文地址:https://blog.csdn.net/weixin_45863010/article/details/142718256

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!