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 Studio\2019\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

トレーニングへ

今回用意した環境を利用して、画像からトレーニングを行い、シーンを構築していきます。

※当サイトに掲載されている商標、一部画像、スクリ-ンショット、文章に置いては著作権侵害を目的に利用しておらず、第三十二条で定められる引用の範囲で使用しています。万が一問題があれば、お問い合わせからご連絡ください。即刻削除いたします。また、本ブログは業務の研究開発のためのものとなり、一部、弊社に関連性が無いものも掲載しております。

Related INSIGHTS

最新の知見をお届け

AI・クリエイティブに関する最新情報は
公式Xアカウントやnoteでも発信しています。

Follow @taziku_co note で読む