本日はAI枠です。
年始に恩人であり友人のエンジニアのかたから「環境構築で乗り越えられなかったけどホロモトさんなら突破できるかと」とSplaTAMと呼ばれるリポジトリを共有していただいていました。
今回はこちらの環境構築をゼロから行っていきます。
〇SplaTAMとは?
SplaTAMは、SLAMとNeRFを統合した3D再構成システムです。
SLAMは、カメラの位置と姿勢を推定する技術で、XR技術に欠かせない自己位置認識を行っています。 NeRFは、従来よりも高速に画像から空間を把握する技術になります。
SplaTAMは、SLAMの出力をNeRFの入力として利用し、動的なシーンの高品質な3Dモデルを生成することを目的としています。
SplaTAM自体はオープンソースで公開されており、PythonおよびPyTorchで構築されており、実行にはCUDAが必要となります。
〇環境
・Windows11PC
・RTX-3080
・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
アプリをインストールします。
次に仮想環境の場所をひかえておきます。
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
などで仮想環境が実行されていることは確認しているので、要調査をしていきます。
環境構築は難しいのですがしっかり理解したいです。