Skip to main content
QUICK REVIEW

[논문 리뷰] ASH: A Modern Framework for Parallel Spatial Hashing in 3D Perception

Wei Dong, Yixing Lao|arXiv (Cornell University)|2021. 10. 01.
Robotics and Sensor-Based Localization참고 문헌 51인용 수 9
한 줄 요약

ASH는 3D 인식에서 병렬 공간 해싱을 위한 고성능이고 사용자 친화적인 GPU 프레임워크로, 텐서 인터페이스를 통해 효율적이고 충돌 없는 키-값 조회를 가능하게 하며 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 인식 워크로드에서 속도, 메모리 효율성, 사용 용이성 측면에서 어떻게 성능을 발휘하는가?

주요 결과

  • ASH는 기준 구현 대비 공간적으로 변하는 구면 조화 함수(SVSH) 최적화에서 반복당 최대 150배 빠른 성능을 달성한다.
  • 프레임워크는 코드 복잡성을 5배 감소시켰으며, 원본 구현의 605라인 대비 SVSH 최적화에 254라인으로 단순화되었다.
  • 기하학과 외관을 동시에 최적화하는 과정에서 ASH는 에포크당 런타임을 147.3초에서 0.916초로 단축시켜 150배의 속도 향상을 이뤘다.
  • ASH는 PyTorch 자동 미분을 통한 종단 간 전이 가능한 3D 재구성 파이프라인을 가능하게 하였으며, 렌더링 품질은 비교적 유사한 수준(RMSE: 0.627 vs. 0.677)을 유지하면서도 훨씬 적은 코드로 달성하였다.
  • ASH는 SVSH와 같은 공간적으로 변하는 매개변수화 및 최소한의 엔지니어링 노력으로도 재조정 가능한 체적 재구성과 같은 기능을 지원한다.
  • ASH는 합성 벤치마크와 실제 3D 인식 작업(비정적 정렬, 체적 변형 등) 모두에서 최신 기술 대비 뛰어난 성능을 발휘한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.