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).
翻译:我们提出ASH,一种面向GPU的现代高性能并行空间哈希框架。与现有GPU哈希映射实现相比,ASH在实现空间变化操作(从体素几何重建到可微外观重建)时,具有更高性能、更丰富的功能,且所需代码行数更少。与现有GPU哈希映射不同,ASH框架提供通用张量接口,向用户隐藏底层细节。此外,通过将内部哈希数据结构与键值数据解耦至缓冲区,我们实现了通过索引直接访问空间变化数据,从而与PyTorch等现代库无缝集成。为此,我们:1)将存储的键值数据从底层哈希映射实现中分离;2)通过索引堆将指针优先的底层数据结构桥接至索引优先的高层张量接口;3)适配通用及非通用纯整型哈希映射实现作为后端,以处理多维键值。我们首先在合成数据上对ASH哈希映射与最先进哈希映射进行性能分析,展示该架构带来的性能提升。随后通过多个应用场景证明,ASH能以更少代码行数持续在大规模三维感知任务中实现更高性能,这些场景包括:1)点云体素化;2)可重定向体素场景重建;3)非刚体点云配准与体素形变;4)空间变化几何与外观优化。ASH及其示例应用已在Open3D开源(http://www.open3d.org)。