「3D Gaussian Splattingとは?」
「とりあえず、3D Gaussian Splattingをローカルマシンで触ってみたい!」
このような場合には、この記事の内容が参考になります。
この記事では、Windowsで3D Gaussian Splattingビューアーを動かす方法について解説しています。
本記事の内容
- 3D Gaussian Splattingとは?
- 3D Gaussian Splattingビューアーのダウンロード
- 3D Gaussian Splattingビューアーのインストール
- 3D Gaussian Splattingビューアーの動作確認
それでは、上記に沿って解説していきます。
3D Gaussian Splattingとは?
3D Gaussian Splattingは、コンピュータグラフィックスの中で使われる高度なレンダリング技術の一つになります。
この技術の主な目的は、3Dのデータを効率的に視覚化することです。
動作は、次のページで確認できます。
(※ブラウザ用に変換されています)
https://antimatter15.com/splat/
この技術を説明する際、次の3つに分けることができます。
- 3D
- Gaussian
- Splatting
それぞれを以下で説明します。
3D
3Dの世界には、無数の点が存在します。
これらの点は、物体に関する以下の情報を持っています。
- 形
- 色
- 明るさ
Gaussian
Gaussian(ガウス関数)は、数学的な関数の一つです。
ベルのような形をしています。
グラフを見ると、中心から離れるほど滑らかになっています。
その特性を活かして、3Dの点の情報を滑らかにすることができます。
Splatting
3Dの点を画面上に「塗りつける」ようなイメージです。
次のような「スプラッシュペイント」を思い浮かべてみてください。
このペイントのスプラッシュの形は、中心が一番濃く、外側に行くほど薄くなっています。
上記の内容は、概念の説明のため抽象的なモノになります。
もっと具体的に知りたい場合は、論文などを見てみてください。
この3D Gaussian Splattingは、まだまだ新しい技術です。
しかし、すでに検証を行った人々からはNeRFを超えたという意見が出ています。
正確には、NeRFと3D Gaussian Splattingは異なります。
NeRFは、2Dの画像群から3Dのシーンを再構築して、それをレンダリングする技術です。
それに対して、3D Gaussian Splattingはすでにある3Dデータの可視化(レンダリング)に焦点を当てています。
2Dの画像群から3Dのシーンの再構築は、3D Gaussian Splattingの範囲外と言うことですね。
それにしても、NeRFはつい最近まで革新的な技術だと言われていたんですけどね・・・
AI分野では、一瞬で勝者が入れ替わるように感じます。
以上、3D Gaussian Splattingについて説明しました。
次は、3D Gaussian Splattingビューアーのダウンロードを説明します。
3D Gaussian Splattingビューアーのダウンロード
この記事では、Windows環境を前提にしています。
3D Gaussian Splattingの公式ページでは、モデルの生成まで説明されています。
しかし、モデルの生成にはある程度のマシンスペックが必要です。
まず、モデルの生成以前にモデルを読み込んで再生できないと何も始まりません。
つまり、3D Gaussian Splattingビューアーを動かすことがスタートだということです。
3D Gaussian Splattingビューアーのハードウェア要件としては、以下が挙げられています。
- OpenGL 4.5-ready GPU and drivers (or latest MESA software)
- 4 GB VRAM recommended
- CUDA-ready GPU with Compute Capability 7.0+ (only for Real-Time Viewer)
おそらく、NVIDIAのGPUなら動くとは思います。
でも、ドライバーが合わないケースもあるかもしれません。
そのようなこともあるので、まずは実際に試してみるしかありません。
よって、ビューアーの導入は3D Gaussian Splattingの入門となりますね。
そのビューアーは、次のURLからダウンロード可能です。
Windowsの場合は、ありがたいことにバイナリが配布されています。
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip
60MB程度であるため、ダウンロードは一瞬で終わるでしょう。
上記にアクセスできない場合は、次のページからダウンロードができます。
https://huggingface.co/camenduru/gaussian-splatting/tree/main
ビューアー以外のデータもここからダウンロード可能となっています。
上記ページは、第三者が生成したページになります。
ただ、公式からは公認されているみたいです。
そのため、利用することは問題ないでしょう。
以上、3D Gaussian Splattingビューアーのダウンロードを説明しました。
次は、3D Gaussian Splattingビューアーのインストールを説明します。
3D Gaussian Splattingビューアーのインストール
ダウンロードしたviewers.zipを解凍します。
解凍した中身は、以下のようになります。
viewersディレクトリ毎を適当な場所に移動します。
そして、わかりやすい名前にディレクトリ名を変更しておきます。
「viewers」だけなら、何のビューアーかわかりませんからね。
Windowsの場合は、これでインストール完了です。
他のOSの場合は、ビューアーをビルドする必要があります。
そのビルドも決して簡単なモノではありません。
その意味では、Windowsはバイナリが公開されているのでラッキーです。
是非、そのバイナリを利用するべきでしょうね。
実際、公式でもバイナリを利用することが推奨されています。
なお、「bin」ディレクトリにPathを通さないのかと思う人がいるかもしれません。
Pathを通したい人は、通しても構わないと思います。
でも、「bin」の中身は以下の状態です。
ここにPathを通すのは、個人的にはしたくありません。
その代わりに、「bin」のショートカットを作成しておきます。
これで、exeを探すことに無駄な時間をかけずに済みます。
また、exeまでの場所を覚える必要もありませんね。
以上、3D Gaussian Splattingビューアーのインストールを説明しました。
次は、3D Gaussian Splattingビューアーの動作確認を説明します。
3D Gaussian Splattingビューアーの動作確認
公式ページでは、学習済みのモデルを公開してくれています。
しかし、その容量が14GBというサイズです。
それもzipファイルですからね。。。
探したところ、ちょうど良いサイズの学習済みモデルが公開されていました。
たったの60MBです。
上記ページ内の「Download output.zip」ボタンをクリックすれば、zipファイルをダウンロードできます。
ダウンロードできたら、zipファイルを解凍します。
そして、適当な場所に移動させておきます。
これで準備が整いました。
まずは、「SIBR_gaussianViewer_app.exe」のある「bin」ディレクトリまで移動します。
ショートカットがあるなら、それをダブルクリック。
そして、エクスプローラーのアドレスバーに「powershell」もしくは「cmd」と入力。
「powershell」と入力して実行したなら、PoweShellが次のように起動します。
ここで以下のコマンドを実行します。
(※outputディレクトリのパスは各自の環境による)
./SIBR_gaussianViewer_app -m C:\tmp\output
次の画面を確認できたら、3D Gaussian Splattingビューアーの起動は成功です。
操作方法は、公式に掲載されています。
デフォルトでは、キーボードによる操作となっています。
マウスでグリグリしたい場合は、「y」を入力します。
そうすると、「Camera Point view」上で「Show trackball」がチェック済みで表示されます。
この状態であれば、マウスでグリグリと操作できます。
元のキーボード操作に戻すには、再度「y」を入力します。
あと、デフォルトでフレームレートに制限がかけられています。
ボーダーは、60fpsだと思われます。
ロック状況は、「Menu > Display」で確認できます。
「V-sync」をクリックすると、ロックが外れます。
ロックが外れた状態であれば、軽くボーダーを超えてきます。
もちろん、ここの値は各自のマシンスペックによって変わってくるでしょう。
実際の動作は、断然速くなっていることを確認できます。
マウスのグリグリ操作が、さらにスムーズになっています。
ただ、ロックを外すとPCが熱くなってきたような気がします。
音もうるさい感じです。
だからこそ、ロックしているのでしょうかね。
この辺は、各自で上手く調整してみてください。
以上、3D Gaussian Splattingビューアーの動作確認を説明しました。