Appearance
4D Gaussian Splatting for Real-Time Dynamic Scene Rendering
これなに
→動画を3D空間として書き出すことができる。
https://github.com/hustvl/4DGaussians
タスク
- [ ] VR表示確認
- [x] 撮影手法の確認
- [ ] エクシーズでも撮影及びUnityなどで表示できるかの確認
- [ ] LKGで表示できるかの確認
撮影手法
同じフレームで同じシーンを別々のアングルで撮った動画複数用意する。
→エクシーズでも撮影できるか
→上記のための撮影機材があればできる
環境構築
基本は以下の手順で行けます。
リポジトリをクローン
bashgit clone https://github.com/hustvl/4DGaussians cd 4DGaussians git submodule update --init --recursiveCondaでPython環境作成
bashconda create -n Gaussians4D python=3.7 conda activate Gaussians4D必要ライブラリをインストール
bashpip install -r requirements.txt pip install -e submodules/depth-diff-gaussian-rasterization pip install -e submodules/simple-knn
データセットをここからインストール
ダウンロードフォルダから推奨位置に移動
csharp
cd %USERPROFILE%\4DGaussians
mkdir data
move "C:\Users\s-matsuzaki\Downloads\data\data" data\dnerf実行
csharp
python train.py -s data\dnerf\bouncingballs --workspace runs\bouncingballs --iters 20000 --cuda_ray --fp16詳細な作業記録・当たったエラーと解決の過程
- condaの認識ができてない
condaは昔入れた記憶はあったけど、
conda create -n Gaussians4D python=3.7
のところでcondaが認識されなかった。
なので、minicondaを入れなおした。
https://www.anaconda.com/docs/getting-started/miniconda/main
その状態でcmdから
conda —version
をしたけど、みつからなかった。
◦解決
anacondapromptというアプリが一緒にインストールされていたので、そこからすると、
conda —versionで見つかるようになった。
pip install -e submodules/depth-diff-gaussian-rasterization
を実行していると、エラーが出た。
RuntimeError: The detected CUDA version (12.4) mismatches … PyTorch (11.6) cuda11.6指定のシステムなのに、cuda12.4が先にダウンロードされていた。
◦解決
CUDA_HOMEとPATHを CUDA 11.6 優先で上書きset "CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6"
set "PATH=%CUDA_HOME%\bin;%CUDA_HOME%\libnvvp;%PATH%”
visualstudioのC++ビルドツールを見つけられない
入っていなかったのでVisualStudioInstallerからMSVC v142 - VS 2019 C++ x64/x86 ビルドツールをインストール
csharpset "VCToolsInstallDir=C:\Program Files\Microsoft VisualStudio\2022\Professional\VC\Tools\MSVC\14.29.30133\\” set "PATH=%VCToolsInstallDir%bin\Hostx64\x64;%PATH%"これだけではみつけてくれなかったため、
x64 native tools command prompt for vs 2019から開くことにしたが、2022版しか見つからなかったため、2022から続行。
しかし、CUDAとMSVCのバージョン不適合が発生していて、そこで詰まって先に進まない。
CUDAのバージョンは11.6で、適応するMSVCのバージョンは12.4以前なのですが、今見ているのはMSVC14.4らしい。
結局12.4に戻すことになった。それに合わせてpythtorchをcu121ビルドに入れ替えた。
その状態で新しい仮想環境を構築して再チャレンジしたが、エラーが出た。
内容としては、
error: asm operand type size(8) does not match type/size implied by constraint 'r’error: identifier "_addcarry_u64" is undefinedホスト側が 32 bit と誤認され、CUDA が 64 bit アセンブラ命令を展開してクラッシュ
しているらしい。
64 bit Python 3.10 + PyTorch 2.3.0( CUDA 12.1) + CUDA Toolkit 12.1 で x64 向けにビルドできる状態にする必要がある。
明日はここからやる。7/9
◦解決まとめ
VisualStudioInstallerからMSVC v142 - VS 2019 C++ x64/x86 ビルドツールをインストール
x64 native tools command prompt for vs 2022から開く
csharpCALL "%USERPROFILE%\AppData\Local\miniconda3\Scripts\activate.bat" conda create -n Gaussians4Dpy310 python=3.10 -y conda activate Gaussians4Dpy310 //pytorch入れなおし pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121 //cudaのパスをセット set "CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1" set "PATH=%CUDA_PATH%\bin;%CUDA_PATH%\libnvvp;%PATH%" //vs環境の設定 set DISTUTILS_USE_SDK=1 cd %USERPROFILE%\4DGaussians //4dgaussiansのインストール? pip install -e submodules\depth-diff-gaussian-rasterization上記の方法でうまくいきました。
この状態でsimpleknnを入れる。
実行時、
ModuleNotFoundError: No module named 'lpips’lpipsが入っていないといわれた- 解決
csharppip install lpips==0.1.4を実行してインストール
実行時
A module that was compiled using NumPy 1.x cannot be run in NumPy 2.1.2といわれた。
◦解決
numpyを1.xに戻す必要がある。
csharppip install --force-reinstall "numpy<2”を実行
CUDADLLの不在
- 解決
cuda.dllの所在をcmdから検索してパスをセットして解決。
Pytorchがcuda付きとして認識されていないためtypeerrorが生じている。
pytorchを一回アンインストールして、もう一度インストールする。
そもそも一年前がラストコミットのものなので、私の最新の環境でやろうとするとこんな感じでエラーだらけになる、
今更だけど、gitに書いてある公式が検証してたやつを揃えます。そんなところ読んでなかった。よくない。
仮想環境を一度崩して、もう一度作り直して実行することにした。
今の環境
Python: 3.7.12 Torch: 1.13.1+cu116 | torch.version.cuda = 11.6
where nvcc C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe
echo CUDA_HOME = %CUDA_HOME% CUDA_HOME = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
Author: 松崎 | Source:
松崎\4D Gaussian Splatting for Real-Time Dynamic Scene 229aba435ee7809c8805fb8fe315bd45.md