Metashape アラインメントのコツ

今回は、弊社お客様とお話しをしている中で、時々出てくるお話についてです。ある程度、Metashapeを触っている方向けの記事になります。

Metashapeのアライメントは、2回行う必要がある?

Metashapeのアラインメントは最初に「最低」で行い、マーカ(基準点)を設定後、再度「中」あるいは「高」で行うべきか?というご質問です。他社様でライセンスを購入し、研修ではそのように習ったということです。結論から申しますと、ソフトウエアの仕様的には2回行う必要はありません。ソフトウエア仕様以外の要因により2回行う必要が出てくるケースがあります。

2回行うフローの場合、以下のようになるかと思います。

  1. アラインメントを「最低」で行う。
  2. マーカを設定する(これも複数の方法がありますが、今回は省略します)。
  3. 再度、アラインメントを「中」、もしくは「高」で行う。
  4. 最適化処理を行う。

この場合、1.の意味するところは、まず「点群データが正常にできるか素早く確認したい」、「事前に写真と点群を同期させておくとマーカが設定しやすい」の二つのポイントがあります。初めての方がこのフローを研修等で機械的に教わる事により、マーカを設定した後は、必ず再度アラインメントを行わなければならないという固定観念が付いてしまっている方が多いようです。

また、例えば、トプコンのイメージマスターでは、仮合成、本合成のステップを踏みますので、そのようなツールの経験がある方は、Metashapeも同じだと思われるようです。ですが、Metashapeには、仮、本合成というような概念はありません。ソフトウエア的には1回のみでよいのです。

弊社では、アラインメントは規模、習熟度にもよりますが基本的には最初から「高」を推奨しています。メーカの推奨フローも同じです。アラインメントは一度で良く、マーカを設定した後は「最適化処理」のみを行うことで座標データが点群に反映されます。正確には座標は数字を入力している段階で反映されています。

しかしながら、アラインメント後、例えば1のマーカの所を2のマーカを指定するなど他のマーカと位置的に矛盾のあるミスをした場合、点群データがねじれる様な状態になります。

本来のマーカ位置(TopView) 1と2のマーカ位置を逆に指定し最適化後の結果
(よくわからない状態になります)

こうなると、マーカ位置あるいは座標を正しく修正し再度最適化を行っても元に戻らず、再度アラインメント(リセットオプション付き)で行う必要が出てきます。

これは、仕様なのか不具合なのかわかりませんが、基本、点群データと座標は紐づけているだけなので、矛盾のあるミス入力を行ってもアラインメントをしなおす必要はないかと思いますが、そう単純ではないようです。アラインメントのダイアログの「リセット」オプションが追加されたのもこのようなところの対策だと思われます。

以前のリセットオプション付きがないバージョンでは、再度アラインメントを実施する場合、以前のデータを削除しないでそのまま実行すると、前の状態が残り結果が新しく反映されない現象がありました。おそらくこの辺りで悩まれた方も少なくないかと思います。現在は、「リセット」オプションにより解消されています。

物理的に矛盾が生じない数値入力ミス(例えば、-73059.64の所を-73053.64)程度であれば、最適化処理も必要ありません。数字を入力しなおすだけで誤差が改善されます。

ということですので、仮合成という概念はありませんが、一度「最低」でパイプクリーニング(一度フローを最初から最後まで実施する意)を一度行って最後に本番を行うか、最初から本番を行うかということになります。上記基本を押さえた上であれば、どちらの方法もメリット、デメリットはありますので、パソコンの性能や規模に応じて、適宜判断して行うのがよいかと思います。但し、マーカの設定を間違わなければ、一回で良いのです。基本、CVSファイルでインポート出来ますので、写真上のマーカ位置の指定さえ間違わなければ、問題は生じません。また、「最低」で点群が合成されたとしても、「高」で合成されないケースもあります。そのため、弊社としては、アラインメントを2回行うことに意味はあまりないかと思います。

今は、Pythonのスクリプトがありますので、夜中に流しておくのであれば、最初から「高」で複数のプロジェクトを流しておくこともできます。弊社のサポートでサンプルスクリプトを公開していますので、それをすぐに利用することが可能です。

尚、本記事では最適化処理を前提としたフローで記載しておりますが、事前にカメラキャリブレーションをきっちり行っている場合は、この最適化処理はかならずしも必用ありません。最適化処理を行っても、全く変わらないか、逆に悪く(一部のマーカで誤差が大きく出るなど偏りが出たりします)なったりもします。この仕組みは、サポート記事もしくは「UAV測量トレーニングノート」を参照し、キャリブレーションパラメータと最適化処理の関係を理解して頂くと、本記事の内容含めて理解が深まるかと思います。

以上です。

テキストのコピーはできません。