【このテーマの記事は、UAV写真測量に必要な解析や、そのためのAgisoft PhotoScanの操作について解説しつつ、適切な設定の探し方を提案することを目的とします。注意事項や用語説明もありますので、最初のページから読んでください。教科書的な操作手順表はこちらのページにあります。】
Step 13は、Step 4 - 12のSfMによって推定されたカメラパラメータを用いて、SfMより密なマッチングを行い、密な3次元点群を生成する処理(MVS)である。
操作としては、「ワークフロー」メニューから「高密度(Dense)クラウド構築」を選び、出てきたダイアログで2つの設定を行うだけだ。
「品質」("Quality")は、MVSに使われる画像の解像度に関する設定だ。「最高」は元の画像をそのまま用いることに対応し、1段階下がるごとに縦横それぞれ半分の大きさにダウンサンプリングされる。時間の許す範囲で高い設定を選ぶべきだ。
「深度フィルタ」("Depth Filtering modes")は、点群の量と品質に影響する設定だ。密な点群の生成は、大きく分けて、
- 各画像に関する距離画像(depth map; 深度マップ; 画像と被写体との距離を格納した画像)の生成
- 各画像に関する距離画像の統合
の2段階からなる。「深度フィルタ」は、統合の際に、周囲と離れた点 (outlier)を除去するために適用されるフィルタであり、ここでその強さを設定する。(201213修正:少なくとも最近のMetashapeでは違うようです。フィルタリングは1, 2両段階で行われるわけですが、少なくともver 1.6のマニュアルには、「深度フィルタ」設定は1のdepth mapに対して適用されるフィルタを規定する設定である旨、記載があります。)
「深度フィルタ」は、1のdepth mapに対して適用されるフィルタ (connected component filter)の強さを規定する設定である。より具体的には、フィルタにより除外されるconnected component (depthによって区分けされたdepth mapの1部分)の最大サイズを規定する。
強いフィルタリングを行うほど、信頼性の高い点だけが残る代わりに、細部のディテールは失われる恐れがある。細かい起伏が重要ならば「弱」を、重要でないならば「強」を選ぶことが推奨されている。ユーザーマニュアルには、空中写真の場合は普通「強」が妥当だが、模様に乏しい屋根などがある場合には「弱」がよい、などと書いてある。いずれにせよ、適切な設定が状況と目的に応じて異なるのは明らかである。
201213加筆:他にも、密な点群の信頼性に関する指標を計算するオプションが追加されている。
今回は上図のような点群が出来た。写真に十分に写っていない立方体の側面を除いて、3次元の地形が良好に再現されている。
密な点群を作る領域は、ツールバーの「領域をリサイズ」や「領域を回転」を使って、事前に制限することもできるが、今回は行っていない。また、生成された密な点群の一部を、ツールバーの「長方形選択」などで選択し、削除することもできる。
密な点群は、そのままUAV写真測量の成果物にもなり得るが、メッシュを作ってテクスチャを貼り付けることでより見栄えのよい3Dモデルを作ったり、DSM (DEM)・オルソ画像を作成したりする材料にもなる。密な点群の生成後の処理は、目的に応じて異なるし、写真測量の本質的な部分でもないので、本テーマの記事では扱わない。
以上で、SfMとMVSの過程に関する「教科書的手順」の説明を終わりたい。特にSfMの段階で、悩ましい設定項目が多いことに共感いただけたなら、主な目的は達せられたと思う。