夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

SplaTAMを環境構築して実行する(要調査)

本日はAI枠です。

年始に恩人であり友人のエンジニアのかたから「環境構築で乗り越えられなかったけどホロモトさんなら突破できるかと」とSplaTAMと呼ばれるリポジトリを共有していただいていました。

今回はこちらの環境構築をゼロから行っていきます。

〇SplaTAMとは?

github.com

SplaTAMは、SLAMNeRFを統合した3D再構成システムです。

SLAMは、カメラの位置と姿勢を推定する技術で、XR技術に欠かせない自己位置認識を行っています。 NeRFは、従来よりも高速に画像から空間を把握する技術になります。

SplaTAMは、SLAMの出力をNeRFの入力として利用し、動的なシーンの高品質な3Dモデルを生成することを目的としています。

SplaTAM自体はオープンソースで公開されており、PythonおよびPyTorchで構築されており、実行にはCUDAが必要となります。

〇環境

・Windows11PC

 ・RTX-3080

 ・Intel Core I9 11000k

・Anaconda Prompt(Anaconda3)

その他の環境については下記の環境構築を参考ください。

〇環境構築

まずGitを使用してプロジェクトをクローンします。

git clone git@github.com:spla-tam/SplaTAM.git

仮想環境を立てPythonをインストールします。

リポジトリの指定では3.10を指定されています。

Anacondaプロンプトを開き任意の階層にcdコマンドを使用し入り次のコマンドを実行します。

conda create -n splatam python=3.10
conda activate splatam

次にCuda-toolkitおよびPythorchをインストールします。

conda install -c "nvidia/label/cuda-11.6.0" cuda-toolkit
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
pip install -r requirements.txt

次にiPhoneにてNeRFCaptureアプリをインストールします。

NeRFCapture

NeRFCapture

apps.apple.com

次に仮想環境の場所をひかえておきます。

Anacondaで次のコマンドを実行します。

where python

仮想環境のPythonパスをコピーします。

筆者の場合は以下のようになりました。

C:\Users\seiri\anaconda3\envs\splatam\python.exe

iPhoneとPCが同じネットワークに接続している状態でGitBashで次のコマンドを実行します。

 . /c/users/XXX/anaconda3/etc/profile.d/conda.sh

XXXはユーザー名に書き換えてください。

これによってGitBashでPythonの仮想環境が使用できるようになります。

 conda activate splatam

これでgitBash上で仮想環境が有効になりました。

最後に次のコマンドを実行します。

 bash bash_scripts/nerfcapture2dataset.bash configs/iphone/dataset.py

これによりデモが実行されるはずですが、筆者の場合SudoのコマンドやPythonのエラーが出ました。

$ bash bash_scripts/nerfcapture2dataset.bash configs/iphone/dataset.py bash_scripts/nerfcapture2dataset.bash: line 1: sudo: command not found bash_scripts/nerfcapture2dataset.bash: line 2: sudo: command not found Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases. (splatam)

python --versionなどで仮想環境が実行されていることは確認しているので、要調査をしていきます。

環境構築は難しいのですがしっかり理解したいです。