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 は、3次元認識における並列空間ハッシュ化のための高パフォーマンスで使いやすい GPU フレームワークであり、テンソルインターフェースを備え、PyTorch にシームレスに統合可能で、衝突のない効率的なキー値検索を実現する。ハッシュマップの内部構造とデータストレージを分離し、最適化された SoA レイアウトを採用したインデックス優先のアダプタを用いることで、3次元再構築および微分可能なレンダリングタスクにおいて最大 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).

研究の動機と目的

  • 大規模な 3次元認識タスクに適した高水準で衝突のない、微分可能な GPU ハッシュマップの不足を解消すること。
  • 低レベルの GPU ハッシュマップ実装と、PyTorch や自動微分を用いた高水準の研究ワークフローとのギャップを埋めること。
  • ボリュメトリックな幾何学的・外観的再構築において、効率的でスケーラブルかつ使いやすい空間ハッシュ化を最小限のコード量で実現すること。
  • 空間的に変化するデータアクセス、インプレースの自動微分、現代のディープラーニングライブラリとの統合といった豊富な機能をサポートすること。
  • 実装の複雑さを低減し、多様な 3次元認識ワークロードにおけるパフォーマンスを向上させること。

提案手法

  • キー値データを低レベルのハッシュマップ構造から分離し、インデックスによってアクセス可能な別個のバッファに格納する。
  • インデックスヒープを用いてテンソルインデックスをハッシュマップエントリにマップするインデックス優先アダプタを導入し、高水準のテンソル I/O と効率的なメモリアクセスを実現する。
  • 多次元キーに対応するため、汎用的でない整数専用のハッシュマップバックエンドをサポートし、柔軟性とパフォーマンスを両立する。
  • バッチ処理の高速化とメモリアクセスのオーバーヘッド低減を図るため、最適化された配列の構造(SoA)データレイアウトを採用する。
  • PyTorch にネイティブに統合された高水準のテンソルインターフェースを公開し、自動微分とエンドツーエンドの微分可能パイプラインを可能にする。
  • CUDA カーネルを用いて、挿入、検索、衝突解決などのハッシュマップ操作を並列化し、スレッドの分岐を最小限に抑える。

実験結果

リサーチクエスチョン

  • RQ1高水準で GPU アクcelerated な空間ハッシュ化フレームワークを設計し、微分可能な操作とディープラーニングフレームワークへのシームレスな統合を可能にできるか?
  • RQ2ハッシュマップの論理とデータストレージを分離することで、3次元認識パイプラインのパフォーマンスと保守性をどの程度向上できるか?
  • RQ3テンソルベースのインターフェースによって、ボリュメトリック再構築タスクにおけるコードの複雑さをどの程度低減できるか、かつパフォーマンスに悪影響を及げないか?
  • RQ4最小限のパフォーマンスオーバーヘッドで、静的および動的空間ハッシュ化の両方を効率的にサポートできる統一フレームワークを構築できるか?
  • RQ5複雑な 3次元認識ワークロードにおいて、既存の GPU ハッシュマップと比較して、本アーキテクチャの速度、メモリ効率、使いやすさはどの程度優れているか?

主な発見

  • ASH は、空間的に変化する球面調和関数(SVSH)最適化において、ベースライン実装と比較して最大 150× の高速化を達成した。
  • コードの複雑さは 5× 減少し、SVSH 最適化のコード量は元の実装の 605 行から ASH では 254 行にまで削減された。
  • 幾何学的・外観的最適化の統合タスクでは、1エポックあたりの実行時間が 147.3 秒から 0.916 秒に短縮され、150× の高速化が達成された。
  • ASH は PyTorch の自動微分を用いてエンドツーエンドの微分可能な 3次元再構築を可能にし、レンダリング品質(RMSE: 0.627 対 0.677)は同等ながら、はるかに少ないコード量で実現した。
  • ASH は、SVSH やリターゲティング可能なボリュメトリック再構築といった空間的に変化するパラメータ化を、最小限の工数でサポートできる。
  • 合成ベンチマークおよび実世界の 3次元認識タスク(非剛性登録やボリュメトリック変形など)において、最先端の実装を上回る性能を発揮した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。