Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing "Instant Neural Graphics Primitives...

Introducing "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"

Introduction slides for "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding" at 第58回 コンピュータビジョン勉強会@関東

Daigo HIROOKA

April 30, 2023
Tweet

More Decks by Daigo HIROOKA

Other Decks in Research

Transcript

  1. スピーカー自己紹介 • 廣岡大吾 ◦ dhirooka (@daigo_hirooka) / Twitter • キャディ株式会社

    ◦ MLOps エンジニアとして図面解析システムや ML リポジトリの CI/CD の整備 ◦ 最近は図面活用 SaaS の SRE として GKE の お守りなどを担当
  2. 3D × DeepLearning の研究紹介にあたって • 最近は ML ベースの 3D レンダリングも簡単に利用可能になってきている

    ◦ Luma AI: 3D レンダリングの API やアプリを提供 ◦ nerfstudio: NeRF の学習・評価用フレームワーク • 今回は nerfstudio でも提供されている InstantNGP を紹介 • キャディでは現在これらの技術は使っていません が、使う機会が来たら面白そう 🤗
  3. 3D × DeepLearning の研究紹介にあたって • Zip-NeRF: Anti-Aliased Grid-Based Neural Radiance

    Fields arXiv 2023 ◦ mip-NeRF 360(サブボリュームアプローチ)によるアンチエイリアス ◦ InstantNGP(グリッドベースアプローチ)による高速化
  4. 3D × DeepLearning の研究紹介にあたって • Zip-NeRF: Anti-Aliased Grid-Based Neural Radiance

    Fields arXiv 2023 ◦ mip-NeRF 360(サブボリュームアプローチ)によるアンチエイリアス ▪ →Mip-NeRF ICCV2021輪読会スライド - Speaker Deck で一部紹介 ◦ InstantNGP(グリッドベースアプローチ)による高速化 ▪ →今回紹介
  5. Summary Title: InstantNGP with a Multiresolution Hash Encoding = Multiresolution

    Hash Encoding によるお手軽 NN グラフィックス描画
  6. Input encoding in NeRF • NeRF では入力位置と角度に frequency encoding を適用し

    NN へ入力 ◦ →高周波成分を捉えられるようになり、ぼやけづらくなる https://tom94.net/data/publications/mueller22instant/mueller22instant-gtc.mp4
  7. Input encoding in NeRF: Parametric encodings • 補助的な学習可能パラメータを配置する方法も提案されている ◦ 代表例:空間を分割するボクセルグリッドの頂点に特徴ベクトルを配置・学習する

    ▪ +:位置→特徴量の推論を省略できるため、学習・推論高速化、精度向上の傾向 ▪ +:グリッドを多重解像度にすることで省パラメータ化できる [2007.11571] Neural Sparse Voxel Fields より
  8. Input encoding in NeRF: Parametric encodings • 補助的な学習可能パラメータを配置する方法も提案されている ◦ 代表例:空間を分割するボクセルグリッドの頂点に特徴ベクトルを配置・学習する

    ▪ Δ :重要なのは物体表面。多くのグリッドの特徴ベクトル(≒メモリ)は無駄 • →特徴ベクトルを sparse に保持することで効率化可能 [2007.11571] Neural Sparse Voxel Fields より
  9. Encoding によるレンダリングへの影響 • グリッドの各頂点に特徴ベクトルを配置 →学習・推論高速化、精度向上 • グリッドを多重解像度化 →省パラメータ化 • グリッドをスパース化

    →省パラメータ化 パラメータ数は「NN のパラメータ数+特徴ベクトルのパラメータ数」を表記 提案 Hash table を用いて シンプル・汎用に実装
  10. Proposed: Multiresolution Hash Encoding • 2. Hash table からグリッド頂点に対応する特徴ベクトルを参照 ◦

    頂点の位置ベクトルを hash 関数によって擬似ランダムなインデックスに置き換え
  11. Proposed: Multiresolution Hash Encoding • 2. Hash table からグリッド頂点に対応する特徴ベクトルを参照 ◦

    頂点の位置ベクトルを hash 関数によって擬似ランダムなインデックスに置き換え ◦ Hash table からインデックスに応じた特徴ベクトルを参照
  12. Proposed: Multiresolution Hash Encoding • 4. 各解像度の特徴ベクトルを連結して NN ヘ入力 ◦

    追加の特徴ベクトルを導入することも可能( NeRF の場合視線の角度など)
  13. Proposed: Multiresolution Hash Encoding • 1. 多重解像度のグリッドを導入 • 2. Hash

    table からグリッド頂点に対応する特徴ベクトルを参照 • 3. 位置 x の特徴ベクトルを線形補間 • 4. 各解像度の特徴ベクトルを連結して NN ヘ入力
  14. Proposed: Multiresolution Hash Encoding • グリッドの各頂点に特徴ベクトルを配置 →学習・推論高速化、精度向上 • グリッドを多重解像度化 →省パラメータ化

    • グリッドをスパース化 →省パラメータ化 ◦ 高解像度では hash table のサイズ T <グリッド頂点数→スパース化 提案 Hash table を用いて シンプル・汎用に実装
  15. Implicit hash collision resolution • 高解像度では hash table のサイズ T

    <グリッド頂点数→スパース化 ◦ →暗黙的にハッシュ衝突を許している • 実際にはレンダリングへの悪影響は少ない ◦ 低解像度:そもそもハッシュ衝突が少ない ◦ 高解像度:hash 関数によって、衝突は空間上でほぼランダムに発生する ▪ →頂点のペアが複数の解像度で衝突することはほとんどない ◦ 学習時:衝突した位置の両方が描画に有用(≒物体周辺)であることは稀 ▪ →hash tableの特徴ベクトルに対して、物体周辺の学習が支配的になる
  16. Hash Table size affects performance / quality tradeoffs • Hash

    table のサイズ T によるトレードオフ ◦ Large T:高品質、学習に時間がかかる、高メモリ ◦ Small T:低品質、学習高速化、省メモリ
  17. Hash Table size affects performance / quality tradeoffs • Hash

    table のサイズ T によるトレードオフ ◦ Large T:高品質、学習に時間がかかる、高メモリ ◦ Small T:低品質、学習高速化、省メモリ
  18. Implementation tiny-cuda-nn フレームワークを用いて全体を実装:NVlabs/instant-ngp • 推論・勾配計算の速度向上のために hash table は半精度で保持 • GPU

    キャッシュを有効に利用するために hash table は解像度ごとに評価 • RTX 3090 の 6 MB L2 キャッシュを踏まえて、各解像度の特徴ベクトルの次元 F = 2 とした • その他詳細設定は論文を参照
  19. Experiments: Performance & Quality (NeRF) • 既存手法よりも非常に高速に優れたレンダリングを学習可能 • Ours: Hash

    は〜1 min 程度の学習で Ours: Frequency (5 min) より優れた性能 ◦ → Hash table が学習高速化に貢献している
  20. Discussion • ハッシュ関数の選定 ◦ いくつか試した中では、本文内のものが最も優れていた ◦ 将来的には辞書学習アプローチも検討できる • ハッシュ衝突によるアーティファクト ◦

    特にSDFでは、ハッシュ衝突によると思われる粒状のアーティファクトが確認された ◦ → Lookup 時のフィルタリングなどによる対応が考えられる
  21. まとめ・感想 • まとめ ◦ さまざまなレンダリングタスクに利用できる multiresolution hash encoding を提案した ◦

    tiny-cuda-nn フレームワークで全体を実装することでさらに高速化した ◦ 高速な学習と優れたレンダリング性能が確認された • 感想 ◦ グリッド化やスパース化による改善を hash table によってシンプルに達成している ▪ さまざまなレンダリングタスクに導入しやすい点も◯ ◦ ハッシュ衝突に対する hash table サイズのチューニングが難しそう ◦ 画像や 3D シーンを圧縮する技術としても今後期待したい
  22. 参考資料 • Instant Neural Graphics Primitives with a Multiresolution Hash

    Encoding ◦ 本スライド内で記載のない画像は論文から引用 • Real-time Neural Radiance Caching for Path Tracing | Research • Mip-NeRF ICCV2021輪読会スライド - Speaker Deck • プリミティブ (Direct3D 9 グラフィックス) - Win32 apps | Microsoft Learn • Zip-NeRF: Anti-Aliased Grid-Based Neural Radiance Fields arXiv 2023