0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】instant-ngpのセットアップ

Last updated at Posted at 2024-11-22

0. 参考にした記事

①Instant NGPのセットアップ方法

  • 全体的にサポートが手厚い.(特にインストール関連)

②Instant-ngpの構築方法は?| AI研究所

  • こちらもサポートは手厚い
  • 構築~実行までのディレクトリ構造はここを真似た.

③初心者による初心者のためのInstant NGP備忘録

  • ①のブログに対してコメントを入れるようなスタイル.
  • 間違いやすい箇所,楽な方法を超シンプルに解説.あくまでも①ありき.

④Instant NeRFを試す環境を作る

  • 見つけるのが遅かったからあまり使わなかったけど参考になる

⑤Instant NGPを動かしたメモ

  • 最後の最後の躓きを解消してくれた救世主サイト.
  • ありがちなエラーをまとめてくれているので,困ったときはこれ.

1.インストール

以下の記事がインストール関連の記事の中で最も参考になった.この記事の手順に従えば問題はない.

ざっと必要なツール一覧

  • Visual Studio 2019
  • CMake
  • CUDA Toolkit
  • Optix
  • git
  • COLMAP

gitのインストールは以下の記事を参考にした.

  • Path指定の際のEドライブではじまるものは,よく分からないがそのままやればいい.
  • Path指定の際にバージョンの値が必要なものもあるので,そこだけ注意.

2.構築

2-1. ファイルのコピー

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\visual_studio_integration\MSBuildExtensions

の中のファイルを,以下のディレクトリにすべてコピー

C:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations

2-2. npgディレクトリを作成,ngpディレクトリへ移動

  • C:\Tutorial\ngpを作成
  • Anaconda Promtで作成したngpディレクトリへ移動

2-3. クローン

  • クローンする
git clone recursive https://github.com/nvlabs/instant-ngp
  • クローンが完了したら,instant-ngpディレクトリへ移動.

2-4. ビルド

以下のコマンドをDeveloper Command Promptで.

cd C:\Tutorial\ngp\instant-ngp 
cmake . -B build
cmake build build config RelWithDebInfo -j 16 

jに続く値は「タスクマネージャー>パフォーマンス>CPU」からコア数を調べることが可能.私の場合はコア数=8.

2-5. Python仮想環境構築

  • Anaconda Promtで
conda create -n ngp python=3.9

Remove existing environmentやProceedと出たら「y」と入力.

  • ngpをアクティベート
conda activate ngp
  • パッケージを一括インストール
pip install -r requirements.txt

2-6. 補足

  • 2.5終了時にTutorial/ngp/instant-ngpにOpenEXR-1.3.2-cp39-cp39-win_amd64.whlがなかったら下からダウンロードして,instant-ngpのディレクトリ内に移動.

  • Anaconda Promptでpiexrをインストール
pip install OpenEXR-1.3.2-cp39-cp39-win_amd64.whl

3.データセットの用意

3-1. 公式によるデータセット(ショベルカー)を使う場合

  • 以下から保存する.
  • Tutorial/ngp/instant-ngp/dataの直下にtoy_trackの名前で保存

3-2. 自前のデータセットを使う場合

  • instant-ngp/dataに保存
  • 4K以下の解像度の画像であること
  • 画像の枚数は最低でも50枚程度(少ないとモデルの精度悪化)

3-3. jsonファイルを作成

3-3-1. 公式データセットの場合

Anaconda Promptで

python scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --images data/toy_truck

3-3-2. 自前データセットの場合

Anaconda Promptで

python scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --images <image/path>
  • 生成されたjsonファイルは,transforms.jsonの名前でinstant-ngpディレクトリに出力される
  • コマンド実行時にnumpyがないとエラーになった場合:pip install numpy
  • コマンド実行時にcv2がないとエラーになった場合:pip install opencv-python
  • 必要なものがインストールできたら,再度上記のコマンドを実行

3-4. ディレクトリを整理

  • 推論に用いるデータセットがdata/toy_truck/data/toy_truckの中になるように整理
  • instant-ngpフォルダにできたtransforms.jsonをdata/toy_truckに移動

image.png

4.instant-ngpを実行

  • Anaconda Promptで
<path_to_your_ngp>\instant-ngp\build\instant-ngp.exe --scene data/<image_set_name>
一例
C:\Tutorial\ngp\instant-ngp\build\instant-ngp.exe scene data/test

5.データセットを入れ替えるとき or 再実行するとき

すべてAnaconda Promptで

conda activate ngp 
cd C:\Tutorial\ngp\instant-ngp

ここまでは共通.

データセットそのままの場合は以下の2つ.

python scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --images data/toy_truck
C:\Tutorial\ngp\instant-ngp\build\instant-ngp.exe scene data/toy_truck

データセットを入れ替えた場合は以下の2つ.

transforms.jsonを作成
python scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --images <image/path>
実行
<path_to_your_ngp>\instant-ngp\build\instant-ngp.exe --scene data/<image_set_name>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?