COLMAPで三次元復元を行う際に既知のカメラパラメータを利用する方法についてメモしておく。多くの場合、SfMでカメラパラメータも含めて推定することで十分だが、例えばCMUの Panoptic dataset のようにカメラキャリブレーション結果が提供されているようなものに対して、COLMAPを適用してみたい場合は提供されているカメラパラメータを利用する方が良い場合がある。実際に、Panoptic datasetでCOLMAPを実行するとマッチングが上手くいかず推定に失敗する場合が多くある。 既知のカメラパラメータを利用する方法については、COLMAPのFAQの中で回答があるので、ここにある通りにcamera.txt, images.txt, point3D.txtを準備すると良い。 Reconstruct sparse/dense model from known camera poses https://colmap.github.io/faq.html#reconstruct-sparse-dense-model-from-known-camera-poses 以下はCOLAMPで画像群を読み込み、特徴点の対応関係の取得まで終わっている(マッチング結果のデータベースhogehoge.dbがある)ことを前提としている。 camera.txtの生成 camera.txtには各カメラのカメラモデルおよびカメラ内部パラメータを記載する。フォーマットは以下の通り。 カメラID カメラモデル 解像度x 解像度y fx fy cx cy 歪パラメータ 内部パラメータの表現については利用するカメラモデルに依存するので、以下のURLを参照しながら必要に応じて使い分ける。 Camera Models https://colmap.github.io/cameras.html camera_models.h https://colmap.github.io/cameras.html image.txtの生成 image.txtには各画像に対応するカメラ外部パラメータを記載する。フォーマットは以下の通り。 画像ID qw qx qy qz tx ty tz カメラID 画像ファイル名 ここで(qw, qx, qy, qz)は3次元回転のクウォータニオン表現で(tx, ty, tz)は
コメント
コメントを投稿