AWS上でのGaussian Splattingのモデル生成
AWS上でGaussian Splattingのモデル生成手順を確認しましたので、ここにメモします。
各コマンドの行頭の意味は下記のとおりです。
%はローカルでのコマンド
$はインスタンスでのコマンド
環境構築
AWSのインスタンス作成
AWSで下記のインスタンスを作成。Gaussian Splattingの環境としてGPUメモリ 24GB必要とされているためg5を選択。
インスタンスタイプ : g5.xlarge
AMI : Ubuntu 22.04 - NICE DCV with NVIDIA Tesla GPU Driver
Disk : 256 GB
SSHでインスタンスに入る
???.pemは接続用のプライベートキー。x.x.x.xはインスタンスのグローバルIP
% ssh -i ???.pem ubuntu@x.x.x.x
CUDA 11.8のインストール
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda-11-8
$ echo export PATH="/usr/local/cuda-11.8/bin:$PATH" >> ~/.bashrc
$ echo export LD_LIBRARY_PATH="/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
$ echo export CUDA_PATH="/usr/local/cuda-11.8/" >> ~/.bashrc
$ source ~/.bashrc
COLMAPの依存ライブラリのインストール
$ sudo apt-get -y install git cmake ninja-build build-essential libboost-program-options-dev libboost-filesystem-dev libboost-graph-dev libboost-system-dev libeigen3-dev libflann-dev libfreeimage-dev libmetis-dev libgoogle-glog-dev libgtest-dev libsqlite3-dev libglew-dev qtbase5-dev libqt5opengl5-dev libcgal-dev libceres-dev gcc-10 g++-10 imagemagick
COLMAPのビルドとインストール
$ git clone https://github.com/colmap/colmap.git
$ cd colmap
$ mkdir build
$ cd build
$ export CC=/usr/bin/gcc-10
$ export CXX=/usr/bin/g++-10
$ export CUDAHOSTCXX=/usr/bin/g++-10
$ cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=86
$ ninja
$ sudo ninja install
Anacondaのインストール
$ wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
$ bash Anaconda3-2023.09-0-Linux-x86_64.sh # Enter, accept -> yes, Enter, auto initialize -> no
$ echo source ~/anaconda3/etc/profile.d/conda.sh >> ~/.bashrc
$ source ~/.bashrc
Gaussian SplattingのPython環境構築
$ git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
$ cd gaussian-splatting
$ conda env create --file environment.yml
Gaussian Splattingによるモデル生成
対象データをローカルからインスタンスにコピー
% scp -i ???.pem dataset.zip ubuntu@x.x.x.x:
$ unzip dataset.zip
インスタンス上の下記パスに画像列が配置されるようにする。
~/dataset/input/*.jpg
Python環境のアクティベート
$ conda activate gaussian_splatting
COLMAPによる前処理(画像の歪み補正、カメラ姿勢算出)
$ python convert.py -s ~/dataset
Gaussian Splattingの生成
$ python train.py -s ~/dataset
結果をインスタンスからローカルにコピー
$ zip -r output.zip output
% scp -i ???.pem ubuntu@x.x.x.x:gaussian-splatting/output.zip .
Discussion