「instantNeRFで遊ぶ Advent Calendar 2022」の10日目です。
今日は9日目に書いた画像ごとのカメラパラメータを解析するときに試したCOLMAPの手順を記します。
業務外の個人的な検討活動です。
間違っていても責任はとれません。
COLMAPのgithub
...すべてのカメラパラメータ/モデルの変更、複数画像間でのパラメータ共有は、Processing > Database Management ウィジェットで可能です。
(DeepLを使いました https://www.deepl.com/translator)
tutorialを読んだりgoogle検索したり調べてみましたが、細かい手順を見つけることができませんでした。
colmap.bat
- New projectでデータベースの作成と画像ファイルパスを設定
- [Processing] > [Feature Extruction]
モデルはOPENCVを選択
ここでShared for all imagesを選択しなくても自動でパラメータが画像ごとに分かれなかったです。
追記 別の画像群だと分かれましたので、何か条件があるようです。
- [Processing] > [Database Management]
最初は全部の画像のcamera_idが同じでした。
image_idが2以降の行を選び、右上のSplit cameraを押し、出てきた窓のCamera_idを1にしてOKすると、camera_idが分かれて増えました。
6つのimageにそれぞれcamera_idを割り当てました。
ここでCamerasのタブに移るとcamera_id 1が分かれて6つになりました。
- [Processing] > [Feature Matching]
- [Reconstruction] > [Reconstruction options]
BundleタブにあるRefine focal length, principal point, extra parametersにチェックを入れました。
- [Reconstruction] > [Start Reconstruction]
- [Reconstruction] > [Bundle Adjustment]
- [File] > [Export models as text]
cameras.txt
画像ごとにカメラパラメータが割り当てられていました。
得られたcameras.txtを使って、昨日のようにtransform.jsonのフレームごとにカメラパラメータを入力しました。
参考