Alignmentの話 PART2 画像読み込みの実例とプリキャリブレーション
のつづき。
ちょうどSamyang 14mm f2.8 ED AS IF UMCを持って撮影してきたので、そのデータを使って前回のつづきを書きたい。
(また、7/6に母校立命館で一日フォトグラメトリの授業を担当してきて、そこで教えたMetashapeの小技を少しだけ)
まず復習を
- 「同じカメラ+同じレンズ」で撮った写真の歪みが同じなはず(特殊な状況を除く)
- フォトグラメトリソフトで画像処理する際に、同じ歪みを持つ画像群を「1つ(1セット)の歪みパラメーター」でアライメントしたい
- Metashape(RC)などでは自動で写真データをグループ化し、同じクループ内にある写真の歪みを同じパラメーターで処理するが、それは常に正しくグループ化されるわけではない
- 「同じカメラ+同じレンズ」で撮った画像のデータセットを「1つの歪みパラメーター」→つまり「同じグループ」に指定したい
2019.08追記
最近はそこから一方進んでがちでカメラのキャリブレーションを勉強したらまた新しい知見が得たので、おそらくこの2回の記事を読んだ人記事の内容を全部信用しなくていい
2019.09追記
厳密にいうと、シャッターを切るたびにレンズのパラメータが少しだけ変わってしまう。
→フォーカスの違いで変わる焦点距離(望遠であればあるほど違いが大きい)
→手振れ補正機構による歪み
つまりさらなる高い精度を追求するのであれば、一度グループ化してアライメントしたあとに、もう一回グループ解除してキャリブレーションする必要がある。
- RealityCapture
実際に今回これを作ったときの処理について説明したい。
一般的なデジタルカメラで撮った画像ならこちら(Workflow→Setting)をTrueにするといいだろう。
するとインポートされた画像が自動的にグループ化される。(もし複数台の同じカメラ+レンズでスキャンする場合はFalseにして、手動グループするほうがよいかと)
しかし
今回使ったSamyang 14mm f2.8はそもそも電子接点がついてないマニュアルフォーカスのレンズだ。Group Calibration by ExifをTrueにしてもグループ化されないままだ。
インポートされた画像を選択して、グループ値が -1 → グループされない。
もちろんこの場合のアライメント結果は画像それぞれが違うカメラと認識され、各画像に別々のレンズDistortionが付与される。
ちなみにレンズExifがないからこちらも効かない。(Imagesを選択することで見える)
となると、Calibration GroupとLens Groupの-1のところを書き変えて、マニュアル的にグループすればいい。
0か1かなんでもいい値に。 (一つ以上のカメラグループを作りたいならそれぞれのグループに違う値を与える。)
ーーーーーーーーーここからのワークフローに疑問が涌いたので中断