3D Gaussian SplattingのWindows環境構築手順を解説
NeRFとはまた異なるRadiance Field(輝度フィールド)技術、3D Gaussian Splatting。2Dの写真や映像から3Dのシーンを構築することが可能です。今回は3D Gaussian Splattingをwindowsのローカル環境で構築する方法を順を追って解説していきたいと思います。
ハードウェアの適正をチェック
3D Gaussian Splattingを利用する上でまずはハードウェアのスペックをクリアしている必要があります。公式のReadMeのHardware Requirementsによれば以下の通り
CUDA-ready GPU with Compute Capability 7.0+
24 GB VRAM (to train to paper evaluation quality)
Please see FAQ for smaller VRAM configurations
24GBのVRAMが必要とのこと、実際は24GB無くてもトレーニングし3Dのシーンを構築することは可能とのことですが公式では24GBと明記されています。
必要なソフトウェアをチェック
3D Gaussian Splattingの環境構築に必要なソフトウエアは、同じく公式のReadMeのSoftware Requirementsによれば以下の通り。
Conda (recommended for easy setup)
C++ Compiler for PyTorch extensions (we used Visual Studio 2019 for Windows)
CUDA SDK 11 for PyTorch extensions, install after Visual Studio (we used 11.8, known issues with 11.6)
C++ Compiler and CUDA SDK must be compatible
必要なソフトウエアのインストール
Visual Studio 2019
C++ Compiler for PyTorch extensions (we used Visual Studio 2019 for Windows)を用意するために、Visual Studioをインストールします。
多くのverがありますが、「Visual Studio Community 2019」をダウンロードしインストーラーを立ち上げ、インストール時に「C++ によるデスクトップ開発」を有効にしてインストールを行います。
CUDA Toolkit 11.8
続いて、CUDA SDK 11 for PyTorch extensionsを解決するためにCUDA Toolkit 11.8をNVIDIA DEVELOPERからダウンロードし、インストールします。
インストールを行ったらシステム環境変数からパスを確認しましょう。さらにPathをダブルクリックして、
以下を追加します。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
Anaconda3
Python環境や各種パッケージをGaussian Splatting専用に分けて管理するため、Anacondaを利用します。ダウンロードを行ってインストーラーからインストールします。インストールするとAnaconda Promptが利用できるようになり、Anaconda Promptを利用して環境構築していきます。
AnacondaでGaussian Splattingの環境構築
WindowsのスタートアップメニューからAnaconda3→Anaconda Promptを選択して起動します。
まずはcondaのバージョンを確認を行います。
conda --version
私の環境の場合、conda 23.7.2となっていましたので、condaをアップデートします。
conda install conda=23.7.4
Gaussian Splattingのソースコードをダウンロード
任意のフォルダを作成して、git cloneでファイルをコピーします。今回は「C:\GS\GaussianSplatting」上で構築していきます。該当フォルダからコマンドプロンプトを起動してgit cloneを実施
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
environment.ymlの編集
標準の状態だとエラーがでましたので、environment.ymlをメモ帳で開いていかに書き換えを行います。
name: gaussian_splatting
channels:
- pytorch
- nvidia
- conda-forge
- defaults
dependencies:
- plyfile=0.8.1
- python=3.8.10
- pip=22.3.1
- pytorch=2.0.0
- torchaudio=2.0.0
- torchvision=0.15.0
- cudatoolkit=11.8
- tqdm
- ninja
- pip:
- submodules/diff-gaussian-rasterization
- submodules/simple-knn
Visual Studio 2019の実行ファイルのパスを通す
cl.exeの参照のためVisual Studio 2019の実行ファイルのパスを通します。以下の階層のバッチファイルをダブルクリックすれば自動的にパスが追加されます。
C:\Program Files (x86)\Microsoft Visual Studio19\Community\VC\Auxiliary\Build\vcvars64.bat
環境構築
clone行ったフォルダへ移動して以下のコマンドを実行
SET DISTUTILS_USE_SDK=1
set FORCE_CUDA="1"
set CUDA_VISIBLE_DEVICES=0
conda env create --file environment.yml
エラーが起きなければ、これで環境が構築は完了です。構築された環境を利用するには以下のコマンドで環境を呼び出します。
conda activate gaussian_splatting
トラブルシューティング
CondaEnvException: Pip failedのエラーが起こる場合
pipをアップデートしましょう。私の環境では初回CondaEnvException: Pip failedが起き、構築が完了しませんでした。またそれでもエラーが起きる場合は、管理者権限で実行しているかも念のため確認しましょう。
pip install -U pip
エラーが起きた、手順を間違えてしまった場合
エラーが起きてしまい、再度ビルドする場合は一度、gaussian_splattingの環境を削除するほうが無難です。以下のコマンドを利用して環境を削除してから再度試みましょう。
conda deactivate
conda remove -n gaussian_splatting --all
トレーニングへ
今回用意した環境を利用して、画像からトレーニングを行い、シーンを構築していきます。