Skip to main content
QUICK REVIEW

[论文解读] VDB-EDT: An Efficient Euclidean Distance Transform Algorithm Based on VDB Data Structure

Delong Zhu, Chaoqun Wang|arXiv (Cornell University)|May 10, 2021
Robotic Path Planning Algorithms参考文献 21被引用 6
一句话总结

本文提出 VDB-EDT,一种新颖的欧几里得距离变换(EDT)算法,利用 VDB 数据结构——一种内存高效、分层的 B+ 树——以加速距离场计算。通过优化变换函数调度并利用空间相干性,VDB-EDT 将内存使用量减少 30–85%,并在大规模地下数据集上实现了优于最先进方法的运行时性能,在效率和可扩展性方面表现卓越。

ABSTRACT

This paper presents a fundamental algorithm, called VDB-EDT, for Euclidean distance transform (EDT) based on the VDB data structure. The algorithm executes on grid maps and generates the corresponding distance field for recording distance information against obstacles, which forms the basis of numerous motion planning algorithms. The contributions of this work mainly lie in three folds. Firstly, we propose a novel algorithm that can facilitate distance transform procedures by optimizing the scheduling priorities of transform functions, which significantly improves the running speed of conventional EDT algorithms. Secondly, we for the first time introduce the memory-efficient VDB data structure, a customed B+ tree, to represent the distance field hierarchically. Benefiting from the special index and caching mechanism, VDB shows a fast (average extit{O}(1)) random access speed, and thus is very suitable for the frequent neighbor-searching operations in EDT. Moreover, regarding the small scale of existing datasets, we release a large-scale dataset captured from subterranean environments to benchmark EDT algorithms. Extensive experiments on the released dataset and publicly available datasets show that VDB-EDT can reduce memory consumption by about 30%-85%, depending on the sparsity of the environment, while maintaining a competitive running speed with the fastest array-based implementation. The experiments also show that VDB-EDT can significantly outperform the state-of-the-art EDT algorithm in both runtime and memory efficiency, which strongly demonstrates the advantages of our proposed method. The released dataset and source code are available on https://github.com/zhudelong/VDB-EDT.

研究动机与目标

  • 解决传统欧几里得距离变换(EDT)算法在机器人路径规划中内存和计算成本过高的问题。
  • 通过用分层动态数据结构替代单体数组,提升运行时和内存效率。
  • 实现在地下探索等动态环境中的高效在线轨迹生成。
  • 在具有复杂空间结构的大规模真实世界数据集上对 EDT 性能进行基准测试。
  • 证明基于 VDB 的距离场表示方法优于现有的哈希法和树形方法。

提出的方法

  • 该算法使用 VDB 数据结构——一种自定义 B+ 树——以分层方式表示距离场,实现快速随机访问和低内存开销。
  • 提出一种新颖的 EDT 函数(Raise 和 Lower)调度策略,以最小化冗余操作,并将查询频率减少三分之一。
  • 通过限制变换操作仅在障碍物附近定义距离范围内的区域进行,利用空间相干性,并为未变换区域分配最大距离。
  • 仅对相关地图区域动态分配内存,避免全量预分配,从而在稀疏环境中减少内存浪费。
  • 该算法支持增量更新,适用于在线规划,实现实时轨迹生成。
  • 发布了一个大规模地下数据集,用于基准测试 EDT 性能,真实反映现实环境的复杂性。

实验结果

研究问题

  • RQ1与基于数组和哈希的方法相比,像 VDB 这类分层树形数据结构能否提升 EDT 的内存和运行时效率?
  • RQ2所提出的 Raise 和 Lower 函数调度优化在动态环境中的 EDT 总体性能方面有何影响?
  • RQ3障碍物邻近区域的空间相干性在多大程度上降低了距离场计算的计算负载?
  • RQ4VDB-EDT 在大规模真实世界机器人地图数据集上能否保持高精度和高性能?
  • RQ5与最先进的 EDT 算法(如 FIESTA)相比,VDB-EDT 在内存消耗和处理速度方面表现如何?

主要发现

  • 根据环境稀疏程度,VDB-EDT 相较于传统基于数组的 EDT,内存消耗降低了 30–85%。
  • 在 cow-and-lady 数据集上,VDB-EDT 处理的映射变更量是 FIESTA 的 5.4 倍,同时处理时间仅为后者的一半。
  • 在 SubT 数据集上,VDB-EDT 处理的映射变更量是 FIESTA 的 1.7 倍,运行时间是其 1.6 倍,而 FIESTA 未能构建出正确的距离图。
  • 与基线相比,VDB-EDT 的查询操作数量减少了三分之一,证明了优化函数调度的有效性。
  • 与标准 VDB 基础的 EDT 实现相比,VDB-EDT 实现了 1.5 倍的加速,且由于更完整和准确的地图融合,路径质量得到提升。
  • 该算法在森林环境中实现了 16Hz 的实时在线规划,仅使用 1.3Gbit 内存存储占用地图和距离地图。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。