Skip to main content
QUICK REVIEW

[论文解读] ASH: A Modern Framework for Parallel Spatial Hashing in 3D Perception

Wei Dong, Yixing Lao|arXiv (Cornell University)|Oct 1, 2021
Robotics and Sensor-Based Localization参考文献 51被引用 9
一句话总结

ASH 是一个高性能、用户友好的 GPU 框架,用于 3D 感知中的并行空间哈希,通过张量接口实现高效、无冲突的键值查找,并与 PyTorch 无缝集成。通过将哈希映射内部结构与数据存储解耦,并使用优化的索引优先适配器与 SoA 布局,该框架在 3D 重建和可微渲染任务中实现了最高 150 倍的性能提升和 5 倍的代码行数减少。

ABSTRACT

We present ASH, a modern and high-performance framework for parallel spatial hashing on GPU. Compared to existing GPU hash map implementations, ASH achieves higher performance, supports richer functionality, and requires fewer lines of code (LoC) when used for implementing spatially varying operations from volumetric geometry reconstruction to differentiable appearance reconstruction. Unlike existing GPU hash maps, the ASH framework provides a versatile tensor interface, hiding low-level details from the users. In addition, by decoupling the internal hashing data structures and key-value data in buffers, we offer direct access to spatially varying data via indices, enabling seamless integration to modern libraries such as PyTorch. To achieve this, we 1) detach stored key-value data from the low-level hash map implementation; 2) bridge the pointer-first low level data structures to index-first high-level tensor interfaces via an index heap; 3) adapt both generic and non-generic integer-only hash map implementations as backends to operate on multi-dimensional keys. We first profile our hash map against state-of-the-art hash maps on synthetic data to show the performance gain from this architecture. We then show that ASH can consistently achieve higher performance on various large-scale 3D perception tasks with fewer LoC by showcasing several applications, including 1) point cloud voxelization, 2) retargetable volumetric scene reconstruction, 3) non-rigid point cloud registration and volumetric deformation, and 4) spatially varying geometry and appearance refinement. ASH and its example applications are open sourced in Open3D (http://www.open3d.org).

研究动机与目标

  • 解决大规模 3D 感知任务中缺乏高层级、无冲突且可微的 GPU 哈希映射的问题。
  • 弥合低层 GPU 哈希映射实现与使用 PyTorch 和自动微分的高层研究工作流之间的差距。
  • 为体素几何与外观重建提供高效、可扩展且用户友好的空间哈希,同时最大限度减少代码量。
  • 支持丰富的功能,如空间可变数据访问、原地自动微分,以及与现代深度学习库的集成。
  • 降低实现复杂度,并在多种 3D 感知工作负载中提升性能。

提出的方法

  • 将键值数据与底层哈希映射结构解耦,将值存储在可通过索引访问的独立缓冲区中。
  • 引入一种索引优先适配器,通过索引堆将张量索引映射到哈希映射条目,支持高层级张量 I/O 和高效的内存访问。
  • 支持通用和非通用的仅整数哈希映射后端,用于多维键,兼顾灵活性与性能。
  • 采用优化的数组结构(SoA)数据布局,以加速批量操作并减少内存访问开销。
  • 提供与 PyTorch 原生集成的高层级张量接口,支持自动微分和端到端可微分流水线。
  • 使用 CUDA 内核并行化哈希映射操作,包括插入、查找和冲突解决,同时最小化线程分歧。

实验结果

研究问题

  • RQ1能否设计一种高层级、GPU 加速的空间哈希框架,以支持可微操作并实现与深度学习框架的无缝集成?
  • RQ2通过将哈希映射逻辑与数据存储解耦,如何提升 3D 感知流水线的性能与可维护性?
  • RQ3在体素重建任务中,基于张量的接口在保持或提升性能的同时,能在多大程度上减少代码复杂度?
  • RQ4统一框架能否以极低的性能开销高效支持静态与动态空间哈希?
  • RQ5与现有 GPU 哈希映射相比,所提出的架构在速度、内存效率和复杂 3D 感知工作负载下的易用性方面表现如何?

主要发现

  • 在空间可变球谐函数(SVSH)优化中,ASH 相较基线实现,每轮迭代性能最高提升 150 倍。
  • 框架将代码复杂度降低 5 倍,SVSH 优化仅需 254 行代码,而原始实现为 605 行。
  • 在几何与外观联合优化中,ASH 将每轮运行时间从 147.3 秒减少至 0.916 秒,实现 150 倍加速。
  • ASH 支持与 PyTorch 自动微分集成的端到端可微 3D 重建,渲染质量相当(RMSE:0.627 vs. 0.677),但代码量显著减少。
  • 该框架可轻松支持空间可变参数化(如 SVSH)和可重定向的体素重建,工程实现工作量极小。
  • ASH 在合成基准测试和真实世界 3D 感知任务(包括非刚性配准和体素形变)中,均优于当前最先进实现。

更好的研究,从现在开始

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

无需绑定信用卡

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