「写真のアラインメント」で設定できるパラメータについて詳しく解説します。Metashape professional 1.8のユーザーズマニュアルを参考にしていますが、SKラボの目的である測量での使用に重点を置いて簡略化しています。パラメータを変えて処理速度比較もしていますよ。
MetashapeはAgisoftの商用写真測量ソフトです。
写真のアラインメントに関連するダイアログ
写真のアラインメントダイアログと、座標データビューの設定ボタン(赤丸)で表示される座標設定ダイアログを下図に示します。
![写真のアラインメントダイアログと座標設定ダイアログ](https://sk-lb.net/wp-content/uploads/2022/04/metashape-alignment-01-1024x501.png)
写真のアラインメントの一般パラメータ
精度
基本的に、精度を高くするとカメラ位置の推定値が正確になりますが、処理時間はかかります。
- 最高:1画素を4画素にアップスケールして解析(非常に鮮明なデータ向き。非常に時間がかかる)
- 高:オリジナルの写真解像度で解析
- 中:4画素を1画素に圧縮して解析
- 低:16画素を1画素に圧縮して解析
- 最低:64画素を1画素に圧縮して解析
事前選択
アラインメントでは、それぞれの画像の特徴を画像間でマッチングさせることに時間が費やされます。事前選択によってマッチングに用いる画像ペア数を少なくし、アラインメントを高速化します。
汎用事前選択
最初に低い精度でマッチングする画像ペアを決めてから、精度が高いマッチングを行います。
座標事前選択
- ソース:カメラ座標からマッチングする写真ペアを選びます。ドローンから真下を撮影していない場合、カメラセクションのヨー、ピッチ、ロール(座標設定ダイアログの設定によってはオメガ、ファイ、カッパ)と、座標設定ダイアログのキャプチャー距離(平均地盤高)が入力されている必要があります。
- 推定値:いったん別の方法でアラインメントを行ってカメラ位置を求め、あらためてこの方法を選択して再度アラインメントを行います。
- 連番:画像の番号順に少しづつ位置を変えて撮影していると仮定して画像ペアを決めます。連番の最初と最後の画像もペアにします。
![かなえさん](https://sk-lb.net/wp-content/uploads/2022/02/kanaesan-150x150.png)
つまり、汎用事前選択も座標事前選択もチェックしなければ、指定した精度で全ての写真の組み合わせに対してマッチングを試行するってことね!
![そうたくん](https://sk-lb.net/wp-content/uploads/2022/02/sotakun-150x150.png)
マッチングで対応点があまり見つからない森林や農地だと、汎用事前選択にチェックせず、座標事前選択にチェックするのがよいとマニュアルには書いてあるよ。
現在のアライメントをリセット
チェックを入れると、先に行ったアラインメントの結果をすべて破棄して、新たにアラインメントを実行します。いろいろな設定を試行する場合に使用します。
写真のアラインメントの詳細パラメータ
キーポイント制限
検出する画像の特徴点の上限を指定します。ゼロにすると、できるだけ多く検出しようとしますが、信頼性が低いポイントが多くなります。
タイポイント制限
画像間の対応点(タイポイント)の上限を指定します。ゼロにすると制限を課しません。これは処理のパフォーマンスに影響しますがモデルの質にはあまり影響しません。推奨値は10000です。ただ、大きすぎたり小さすぎたりすると、密な点群に穴ができることがあります。これは、深度マップ作製に利用される画像ペアの対応点数の内部的な制限値によるものです。(深度マップの説明:英語ですがブラウザの翻訳機能で日本語で読めます。)
マスク適用先
マスクが設定されている場合に使用します。「マスクを使ってカメラパラメータを改善する方法」を参照してください。
静止したタイポイントを除外
複数の画像間で変化がない対応点を除外します。3Dモデル作成のためにターンテーブルに物品を置いて固定カメラで撮影した場合に使用します。測量では関係ないでしょう。
ガイド付きイメージマッチング(超高画素向け)
チェックすると、キーポイント制限を増やす効果がありますが、処理時間はキーポイント制限を増やすほど長くなりません。画像の一部分で対応点を求め、それをガイドとして他の対応点を検出しようとします。植生に覆われた画像、全天球カメラ、衛星などの高解像度画像、空中写真の高解像度スキャン画像などで良い結果が得られることがあります。
カメラモデルのパラメーターを可変させる
チェックしない場合、f(焦点距離), k1, k2, k3(半径方向の歪み係数), cx, cy(主点位置), p1, p2(接線方向の歪み係数)を調整します。チェックすると、必要に応じてk4, b1, b2も調整対象に含めます。建物の複数高度からの全周撮影のようなカメラの配置がしっかりしている場合に適しているほか、一般にカメラの配置がさほど正確ではない空中写真でも一部のパラメータの発散を防ぐ働きがあります。画像中央部のみに対象が写っているような画像だと放射歪パラメータの推定信頼度が低くなるので、チェックしない方が良いでしょう。
なお、カメラモデルの式についてはユーザーズマニュアルのAppendix C (p.186-188)に解説されています。
キーポイント、タイポイントの確認
キーポイントの数を調べる方法をSKラボはまだ発見していませんが、画像ビューを表示させて「ポイントを表示」ボタン(赤丸)で表示はできるようです。
![キーポイント表示](https://sk-lb.net/wp-content/uploads/2022/04/metashape-alignment-04.png)
タイポイントは「ツール」ー「タイポイント」ー「マッチングを見る」で数も含めて確認できます。青線が有効、赤線が無効です。
![タイポイントの確認](https://sk-lb.net/wp-content/uploads/2022/04/metashape-alignment-03.png)
パラメータの設定による処理速度の変化
パラメータによって処理速度(sec)がどう変わるか試してみました。使用イメージはDji Mavic ProとGSPによる空中写真43枚(天頂角0度の自動撮影。この記事と同じ)、使用機材はRazer Blade Stealth 13、基本設定は下図のとおりです。
![処理速度比較のためのアラインメントの基本設定](https://sk-lb.net/wp-content/uploads/2022/04/metashape-alignment-02-1024x612.png)
設定状況 | アラインメント処理時間(sec) |
---|---|
基本設定 | 44.2 |
CUDAオフ | 98.5 |
CUDAオフ、OpenCLオン | 85.8 |
OpenCLオン | 41.2 |
CPUオン | 51.9 |
精度:最高 | 101.8 |
精度:高 | 83.5 |
精度:低 | 19.4 |
精度:最低 | 10.2 |
キーポイント制限 80000 | 44.7 |
キーポイント制限 20000 | 45.2 |
タイポイント制限 8000 | 40.2 |
タイポイント制限 2000 | 28.4 |
汎用オフ | 70.2 |
汎用オフ、ソースオン | 69.4 |
ソースオン | 45.7 |
汎用オフ、推定値オン(汎用実施後リセットせず) | 0.15 |
汎用オフ、連番オン | 69.6 |
連番オン | 47.2 |
カメラパラメータ可変(何故か修正値得られず) | 35.3 |
精度は処理速度に直結していますが、精度を下げると疎な点群の密度が目立って小さくなくなります。キーポイント制限の影響は明確ではありません。タイポイント制限は下げた時だけ速くなりました。対象がヨシ湿原のためタイポイントが多くても2000程度だったようです。キーポイントは画像でしか確認できませんが同様の理由で制限にひっかからなかったのでしょう。汎用選択の速度UP効果は高いですが、今回の画像では座標選択はいずれも処理速度にはわずかにマイナスでした。もっと画像数が多くなると効果が出ると推測します。
参考になれば幸いです。 Have fun!
![かなえさん](https://sk-lb.net/wp-content/uploads/2022/02/kanaesan-150x150.png)
どういう場面でどのパラメータを変えるかは、原理を理解した上で試行錯誤するしかなさそうね。
コメント