PhotoScanを極める 19. 教科書的手順 Step 12 | 山口大学 空中測量(UAV写真測量)研究室の技術ノート

山口大学 空中測量(UAV写真測量)研究室の技術ノート

UAV写真測量, ドローン測量, フォトグラメトリ, SfMなどと呼ばれる技術の情報を掲載します。
1. 効率化・高精度化に関する研究速報・マニュアル
2. SfM/MVSソフトAgisoft Metashapeの使い方
などなど。

※「ブログトップ」の注意・免責事項からご覧ください。

【このテーマの記事は、UAV写真測量に必要な解析や、そのためのAgisoft PhotoScanの操作について解説しつつ、適切な設定の探し方を提案することを目的とします。注意事項や用語説明もありますので、最初のページから読んでください。教科書的な操作手順表はこちらのページにあります。】

 

Step 12では、最終的なカメラパラメータ(と点群座標)の最適化(バンドル調整)を行う。

 

操作としては、Step 5, 7と同様に、「カメラを最適化」を実行するだけである。今回も、最適化する内部パラメータは変えないことにする。

 

このステップの最適化と、Step 7の最適化との違いは、最適化の根拠として、自動的に作られたタイポイントだけでなく、Step 8で作ったGCPや手動タイポイントも動員していることだ。両者の重みは、Step 11の設定に依存する。

 

そして、この最適化において最小化されるもの(目的関数)は、単なるタイポイントの再投影誤差のRMSではない。タイポイントに関する再投影誤差(の二乗和?)と、GCP(今回はカメラの世界座標を与えておらず、世界座標の実測値が与えられたのはGCPのみ)に関する世界座標の推定誤差(の二乗和?)の和である(ユーザーマニュアル p.47)。両者の重みを決めるアルゴリズムは不明だが、Step 11の設定に依存する。両者のどのような統計量(RMS?二乗和?)が足されるのかも不明だが、私の経験では、Step 11の設定が同じでも、マーカーの数が多ければマーカーが効きやすくなるので、RMSではなく、二乗和か何かだろう。

 

 

最適化が終了したら、「座標データ」ペインで世界座標の推定誤差を確認する。特に、GCPとして使われていない(実は手動タイポイントとしては使われてしまっている疑いが強い ※)ために独立性の高い検証用地点(「チェックポイント」)に関する誤差が重要だ。

 

今回は、GCPに関する座標推定誤差(残差)のRMSが0.001629 m、肝心の検証用地点に関する座標推定誤差のRMSも0.001439 mと、ともに非常に小さくなった。「弱いカメラの配置」に起因するStep 7までの失敗を、GCPの手助けによって挽回した形だ。手動タイポイント(point 13 - 16)の貢献もあり得るが、これは別の検討により否定されている。今回はGCPに救われたことになる。

 

今回は知らないという建前のカメラの位置・向きだが、CGにおける設定値と非常に近いことがわかる。


 

「エラーを表示」に切り替えると、マーカーについて、X, Y, Z成分別の座標推定誤差が確認できる。Z成分が一番大きいのは普通のことだが、それでも1 mm程度だ。

 


カメラパラメータを確認すると、fはレンダリング時の設定値2666.67に非常に近い値となり、設定値はゼロである他のパラメータも、小さく抑えられている。Step 7の時点と大違いである。例えカメラモデルが過度に複雑でも、正確なGCPが与えられれば、不要なパラメータをほぼ0に抑えることができるのだ。

 

 


念のため無次元の「RMS再プロジェクションエラー」を確認すると、最適化前と比べて少し増えている(0.0197656 → 0.0198772)。しかし、上記の通り、手動タイポイントやGCPの追加によって、最小化されるものが変わったのだから、これは何も不思議ではない。

以上で、SfMの過程は終了となる。

 

※ 「チェックポイント」が最適化(バンドル調整)に全く使われていないならば、「チェックポイント」を削除して再度最適化をしても、結果は変わらないはずだ。しかし実際にはそうはならない。従って「チェックポイント」は、その世界座標こそ最適化に使われていないものの、その画像座標(目視で精密に打った画像上の位置)は手動タイポイント同様、最適化に使われてしまっているものと疑われる。その場合、いま説明している使い方においては、「チェックポイント」では完全にフェアな検証はできない。