ASH: A Modern Framework for Parallel Spatial Hashing in 3D Perception

被引:5
作者
Dong, Wei [1 ]
Lao, Yixing [2 ]
Kaess, Michael [1 ,3 ]
Koltun, Vladlen [2 ,4 ]
机构
[1] Carnegie Mellon Univ, Robot Inst, Pittsburgh, PA 15213 USA
[2] Intel Corp, Intel Labs, Santa Clara, CA 95054 USA
[3] Georgia Tech, Coll Comp, Atlanta, GA 30332 USA
[4] Apple Inc, One Apple Pk Way, Cupertino, CA 95014 USA
关键词
Three-dimensional displays; Graphics processing units; Ash; Tensors; Task analysis; Image reconstruction; Arrays; Parallel hashing; GPU; volumetric reconstruction; SLAM; shape-from-shading; autodiff; RECONSTRUCTION;
D O I
10.1109/TPAMI.2022.3214347
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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).
引用
收藏
页码:5417 / 5435
页数:19
相关论文
共 64 条
  • [21] Günther J, 2007, RT07: IEEE/EG SYMPOSIUM ON INTERACTIVE RAY TRACING 2007, P113, DOI 10.1109/RT.2007.4342598
  • [22] Han L, 2018, ROBOTICS: SCIENCE AND SYSTEMS XIV
  • [23] Array programming with NumPy
    Harris, Charles R.
    Millman, K. Jarrod
    van der Walt, Stefan J.
    Gommers, Ralf
    Virtanen, Pauli
    Cournapeau, David
    Wieser, Eric
    Taylor, Julian
    Berg, Sebastian
    Smith, Nathaniel J.
    Kern, Robert
    Picus, Matti
    Hoyer, Stephan
    van Kerkwijk, Marten H.
    Brett, Matthew
    Haldane, Allan
    del Rio, Jaime Fernandez
    Wiebe, Mark
    Peterson, Pearu
    Gerard-Marchant, Pierre
    Sheppard, Kevin
    Reddy, Tyler
    Weckesser, Warren
    Abbasi, Hameer
    Gohlke, Christoph
    Oliphant, Travis E.
    [J]. NATURE, 2020, 585 (7825) : 357 - 362
  • [24] Hoetzlein Rama Karl, 2016, P 16 HIGH PERF GRAPH, P109
  • [25] OctoMap: an efficient probabilistic 3D mapping framework based on octrees
    Hornung, Armin
    Wurm, Kai M.
    Bennewitz, Maren
    Stachniss, Cyrill
    Burgard, Wolfram
    [J]. AUTONOMOUS ROBOTS, 2013, 34 (03) : 189 - 206
  • [26] BSGP: Bulk-synchronous GPU programming
    Hou, Qiming
    Zhou, Kun
    Guo, Baining
    [J]. ACM TRANSACTIONS ON GRAPHICS, 2008, 27 (03):
  • [27] Taichi: A Language for High-Performance Computation on Spatially Sparse Data Structures
    Hu, Yuanming
    Li, Tzu-Mao
    Anderson, Luke
    Ragan-Kelley, Jonathan
    Durand, Fredo
    [J]. ACM TRANSACTIONS ON GRAPHICS, 2019, 38 (06):
  • [28] Jakob W., 2017, pybind11-seamless operability between C++11 and Python
  • [29] Junger D, 2020, Arxiv, DOI arXiv:2009.07914
  • [30] Karnagel R., 2015, 2015 INT WORKSH ACC, P13