LoginSignup
3
0

More than 1 year has passed since last update.

COLMAP model_aligner

Last updated at Posted at 2022-12-14

「instantNeRFで遊ぶ Advent Calendar 2022」の15日目です。

今日は「カメラの位置はRealityCaptureの結果を流用」する方法としてCOLMAPのmodel_alignerを使いました。

前半はCOLMAPのmodel_alignerを使った方法、後半は改善した結果を書きました。

業務外の個人的な検討活動です。
間違っていても責任はとれません。

テストデータ

sketchfabのNefertiti statueを使用させていただきました。ありがとうございます。

COLMAP model_aligner

ヘルプでオプションを見ることができました。
15-1.png

今回試した入力はこちらです。

colmap model_aligner --input_path {変換前のモデルデータのフォルダ}
--output_path {変換後のモデルデータを置くフォルダ }
--ref_images_path {変換するカメラ座標を書いたテキストファイル}
--ref_is_gps 0 --robust_alignment_max_error 1.0

画像群をつくったblenderの画面

上にモデルがあります。
15-3.png

その画像群を入力したRealityCaptureの画面

カメラの位置を直接入力したのでBlenderと同じようになりました。
15-4.png

変換前のCOLMAPの画面

たまたまですが、モデルがZのプラス側に配置されました。
camera0の位置も原点から外れていました。
15-5.png

imagesR.txt; ref_images_pathに指定するファイル

RealityCaptureに指定したカメラ位置と同じ内容を記入しました。
15-7.png

実行

今回はGPSを使用しないのでref_is_GPSをゼロにしました。
15-2.png

変換後のCOLMAPの画面

RealityCaptureと同じようにモデルがZのマイナス側に配置されました。
camera0の位置も原点に合いました。
15-6.png

12/12に示したケーキのモデルデータを変換してinstantNeRFに入力した結果

上記の方法で作成したCOLMAPのモデルデータをテキスト形式でエクスポートして、12日目に説明した方法でtransform.jsonを作成し直しました。
画像の数が多いのでRealityCaptureのカメラパラメータのファイルからカメラ座標を取り出してまとめるpythonスクリプトを作成しましたが、一般的な内容なので割愛します。

今回は再生結果が改善されました。
カメラの位置を教えてあげることでinstantNeRFの再生結果が改善する場合があることが分かりました。
15-8.png

参考

3
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
3
0