Phantom 4 RTKの「撮影位置測位精度」検証実験 | 山口大学 空中測量(UAV写真測量)研究室の技術ノート

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

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

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

【概要】

「Phantom 4 RTKが画像撮影位置を計測する精度は、触れ込みどおりRTK-GNSS測量レベルなのか」を検証するプチ実験を、研究室メンバー総出で、また各種UAVの操縦や写真測量の経験が豊富な小室隆助教(赤松良久研究室所属;博士(理学))と共同で行いました。

 

その結果、今回は検証手段もRTK-GNSSなのでmm単位の精度評価はできませんが、

なるほどRTK-GNSS測量レベルらしいという感触を得ることができました。

 

現時点ではファームウェア and/or ソフトウェアに不具合が多く、計画通り飛ばして撮影することが難しい本機ですが、いずれそれらが解消すれば、対空標識の大幅な節減や省略を可能にし、UAV写真測量の効率化・低廉化をさらに推し進める可能性の高いモデルだと思います。

 

190125加筆:

本実験に関するデータ(画像・GNSS測量データ・PhotoScanプロジェクト;約1.5GB)は提供可能です。

提供条件・方法は本記事の最下部をご覧ください。

 

【プロローグ】

初日の「撃沈」の後、お陰様で、また小室助教やDJIサポートの回答のおかげで何とかPhantom 4 RTKの飛行準備が整い、初飛行の機会に、「撮影位置の測位精度」を検証するプチ実験を行いました。

 

Phantom 4 RTKの売りは何と言っても、RTK-GNSSで本体上部のアンテナ位置を測位し、さらにカメラと同期して、カメラの光学中心の位置つまり画像の撮影位置を計算してくれることです。計算された緯度・経度・高度は画像ファイルにメタデータ(EXIF情報)として埋め込まれ、PhotoScanなどのSfMソフトで利用できます。その精度が本当にRTK-GNSSレベルなのか、検証しようというわけです。

 

といっても、空中で飛んでいるカメラの撮影位置を、地上から正確・精密に測量するのは困難です。いや、地上で静止していても、どこに光学中心(投影中心)があるのか、細かくはわかりません。

 

そこでどうするかと言いますと、好条件でSfMを行い、SfMによって推定した撮影位置を、Phantom 4 RTKが割り出した撮影位置と比較します。つまり、前者を後者と同等以上に高精度(正確&精密)なものとみなして、後者を検証するわけです(これは特別な方法ではなく、国際航業株式会社さん・DJI JAPANさんが秋の写真測量学会で発表された検証例の1つと同じです)。そのためには、SfMの外部パラメータ精度を十分に高める必要があり、つまりはかなりの好条件を要します。

 

190125加筆:

いくら好条件を作っても、SfMで推定した撮影位置と比べるなんて・・・というご意見もあると思います。確かに、好条件でも撮影位置の推定誤差は多少残るでしょう。しかしその誤差は、Phantom 4 RTKによる撮影位置測位誤差とは独立な機構で生じるものです(標定点の地上測量誤差を除いて)。従って、もし、好条件のSfMで推定した撮影位置と、Phantom 4 RTKが割り出した撮影位置が数 cm以内で一致したならば、両方とも高精度である可能性が高い、と言えます。メスシリンダーの目盛りを読むとき、学生2人が別々に読んだ値が一致するなら、2人とも正しく読んでいる可能性が高いのと同じです(逆に、両者が一致しない場合、どちらかが間違っていること以外、何も言えません)。

 

本実験ではあくまで、撮影位置の測位精度評価を主目的とします。対空標識を置いた検証点で精度を検証するというアプローチもあり得ますが、検証点での誤差はPhantom 4 RTK自体の性能以外にも、対象領域のサイズ・形状・表面状態や撮影時の条件によって変わります。例えば、1枚の画像に全体が移ってしまう小さな対象領域と、画像を何枚も繋げないと全貌が掴めないほど大きく、風に揺れる植生や水面もあるような対象領域と、どちらの検証点誤差が小さくなりやすいでしょうか。同じドローンを使っても、明らかに前者のほうが、高精度を出しやすいです。

従ってより一般的に、Phantom 4 RTKそのものの性能に関する知見を得ようとすれば、検証点に関する精度ではなく、撮影位置の測位精度を評価することになります。

 

【検証方法・過程】

今回は、次のような工夫により、高精度のSfMを目指しました。バグと風に阻まれた面もありますが。

  1. 対象領域:
    1. 風で動くものがなく、テクスチャのある、運動場内の小領域(40 m×40 m)。
    2. 風が強めでしたが、幸い砂が湿っていて、転がる様子なし。
  2. 標定点:高密度に13点。
    1. 対空標識は円形、画像上で直径約40画素。自動検出は容易で再投影誤差は0.328画素。各対空標識が写った画像枚数は55 - 131枚と多め。
    2. 対空標識中心の測量方法はネットワーク型RTK-GNSS測量だが、10エポック×2回×3周の測量を行い、6回の平均座標を使用。回によるXYZ座標のバラつきは小さく、標準誤差(標準偏差/√6)は下表のとおり数mmレベル。
  3. 高度:30 mの低高度。
    1. 地上画素寸法1 cm未満。
    2. 対象領域が小さいため、この低高度でも、対象領域中央部上空で撮った画像には、1枚に対象領域の大半が写る ← 非線形系統誤差が生じにくい。
    3. 現時点ではフォーカスの把握・固定手段がなく、どの対地距離で無限遠になるのか不明。とりあえず30 m一定とした。マニュアルフォーカスを早く実装して欲しい。
  4. 撮影:斜め撮影を含む高密度な撮影
    1. 「2D写真測量」(2D Photogrammetry)ではなぜか全く撮影が行われず(原因不明;181226に試したところ、たまに撮影されることもある;打率.250程度;「3D写真測量」は3打数3安打)、急遽マニュアル操縦に切り替えたが、時宜を逸し風で中断。中断までに辛くも171枚撮影。
    2. 中断したため、撮影の密度にはバラつきが大きい。
    3. ほぼ真下向きが125枚、ピッチ約6.5°が17枚、約20.5°が28枚、約30°が1枚。
    4. Phantom 4 RTKの測位には、基準局のない、ネットワーク型RTK-GNSSを利用。
    5. (出荷前のキャリブレーションに基づく)歪み補正を行わない設定で撮影。
  5. 解析:PhotoScan使用。時間の都合もあって特段の工夫をせず、ほぼデフォルトの設定で解析。教科書的手順のStep 1, 2, 4, 5, 8, 9, 11, 12のみ実施。
    1. 「アラインメント」の品質設定は「高」。もちろん、検証対象である「画像に埋め込まれた撮影位置」が利用されないよう、「カメラのチェック」は全て外して行った。
    2. 画像に「出荷前のキャリブレーション結果」が埋め込まれているが、まだ読み出す方法がわからない(問い合わせ中)ので、これを内部パラメータの初期値として与えてはいない。
    3. 「アラインメント」後、全13の標定点を動員したバンドル調整(「カメラの最適化」)を行って、推定された撮影位置(経度・緯度・楕円体高)を、画像に埋め込まれた撮影位置と比較。

 

【検証結果】

まずはバンドル調整後のスクリーンショットです。「カメラ」のチェックがすべて外れていること、「マーカー」はすべて標定点として使っていることをご確認ください。

 

 

疎な点群の統計量などは次の通りです。解析の設定も一部見えています。

 

バンドル調整で最適化(セルフキャリブレーション)された内部パラメータは次の通りです。歪み補正なしの設定で撮ったためか、歪みパラメータが多少ある印象です。特にK2とK3は逆符号で競い合って大きくなっていますが、統計学的に必ずしも悪いとは言えないので、無視します。

 

SfMで推定した各画像の撮影位置と、Phantom 4 RTKが割り出して各画像に埋め込んだ撮影位置の差は、(画像が多いため一部ですが)次表のように表示されます。

 

 

これをエクスポートして、「Phantom 4 RTKが割り出して各画像に埋め込んだ撮影位置」と、「SfMで推定した各画像の撮影位置」との差、つまりXYZ座標の較差の全171画像に関する統計量を求めると、次表のように小さな値となりました。

 

↓本記事メインの表:、「Phantom 4 RTKが割り出して各画像に埋め込んだ撮影位置」と、「SfMで推定した各画像の撮影位置」との差(較差)の、全171画像に関する統計量。

 

ここで平均は較差のバイアス成分、標準偏差は較差のノイズ成分の大きさの指標となります。RMSとは較差の2乗の平均の平方根で、RMS^2=平均^2+標準偏差^2の関係があり、つまりはバイアス・ノイズ両成分を合成した「平均的」な誤差の大きさです。またX, Yの意味ですが、今回のPhotoScanでは、画像や対空標識中心の座標を、WGS-84測地系の緯度経度で与えています。そのためX, Yは、おそらく経度・緯度が増加する向きを意味していると思われます。ただし、今回はXYZを3平方の定理のように合成した「3軸合成」の較差統計量だけを議論するので、あまり気にする必要はありません。

 

上表から要は、Phantom 4 RTKが割り出した撮影位置と、SfMで推定した撮影位置とは、平均的には約2.6 cmしか離れていないということになります。もちろんここで、「おお! Phantom 4 RTKの測位精度は2.6 cm!」と結論しては早計です。それぞれにどのような誤差要因があるかを考えますと、

  • Phantom 4 RTKが割り出した撮影位置: アンテナのRTK-GNSS測量誤差、撮影の瞬間のカメラの光学中心の位置の計算誤差
  • SfMで推定した撮影位置:標定点(対空標識中心)のRTK-GNSS測量誤差、SfMで生じる誤差

後者も撮影直前直後に行った標定点のネットワーク型RTK-GNSS測量結果に基づいているため、両者ともネットワーク型RTK-GNSS測量ベースであり、その時その場所特有の誤差成分が、一部共通していると考えられます。その点では上記の較差は実際の測位誤差より小さく見積もられます。一方後者には、SfMによる外部パラメータの推定誤差という、評価困難ながら必ず存在する誤差が含まれます。この点では上記の較差は実際の測位誤差より大きく見積もられます。

 

このように、上記の較差の解釈には難しい面があり、それを攻略するにはもっと本格的な標定点の地上測量(スタティック+高級TS)が必要となるわけですが、今回の実験から少なくとも、

Phantom 4 RTKが数 cm程度の誤差で画像の撮影位置を割り出してくれる

という感触を得ることはできました。

 

そして、極端に保守的に(撮影位置測位精度を悪く見積もるように)考えて、

・SfMで生じる誤差がゼロ

・標定点のRTK-GNSS測量誤差はPhantom 4 RTKのRTK-GNSS測量誤差と共通の誤差成分(バイアス)のみで、かつ共通の誤差成分が上表の「平均」誤差と同方向を向いている

という厳しすぎる仮定をおいても、Phantom 4 RTKの測位誤差は、

・バイアス成分:0.0186 m +「共通のバイアス」

・ノイズ成分の標準偏差:0.0180 m

であって、共通のバイアスを仮に2 cmとしても、RMSにしてsqrt((0.0186+0.02)^2 +0.0180^2)=0.0426 mとなります。つまり、今回の実験における

Phantom 4 RTKの撮影位置測位誤差は、4 cm以下であった可能性が高いです。

RTK-GNSSレベルと言えるでしょう。

 

今のところ、きちんと飛んで、きちんと撮れるまでのハードルが高いPhantom 4 RTKですが、それが容易になれば、活躍してくれそうです。標定点なしというのも、撮影条件や要求精度が厳しくなければ可能でしょう。

 

この実験に関しては、もう少し別のことも行ったので、後日加筆したいと思います。おやすみなさい。

 

【おまけ1:標定点なしの場合の検証点誤差】

プロローグに理由を述べたように、本実験ではあくまで、撮影位置の測位精度評価を主目的とします。あくまで付録として、「13点の対空標識をすべて検証点として用い、標定点は設けず、Phantom 4 RTKが画像に埋め込んだ撮影位置の座標だけを用いてバンドル調整した場合の、検証点の座標の推定誤差」も評価しました。

 

先ほどと逆に、「カメラ」にチェックを入れて、「マーカー」のチェックを外した状態で、バンドル調整を行うわけです。

 

 

今回は「カメラ」にチェックが入っているので、「カメラ」欄に表示される誤差は「残差」に過ぎません。いま着目するのは「マーカー」欄に表示される誤差です。XYZ方向の誤差の全検証点に関するRMSは、それぞれ0.0151 m, 0.0091 m, 0.0144 mと小さく、3軸合成の誤差のRMSも0.0227 mに留まりました。

 

ただし今回のSfMはわざと好条件で行っているので、誤差が小さいのは当たり前です。

ゲームのVery Easyモードでハイスコアを出しても、プレイヤーの実力の参考にはならないのと同じです。「Phantom 4 RTK:標定点なしで誤差○○ mm以内!」などと、数字だけが独り歩きしてはいけません。SfMの精度は本質的に条件次第です。従って検証点誤差の確認はあくまで「おまけ」で、本実験の主眼は上述の、撮影位置測位精度の評価だったわけです。

 

【データ提供について】

UAV写真測量のサンプルデータをご所望の方向けに、

下記の全ての条件に同意いただける場合に限り、本実験に関するデータ(画像・GNSS測量データ・PhotoScanプロジェクト)を提供します。以下、このデータを「提供データ」と呼びます。

 

<データ提供条件>

  1. 提供データを利用して直接的・間接的に生じた一切の損失に対し、執筆者(神野有生)および関係者、山口大学は一切の責任を負いません。
  2. データの内容について何事も保証できません。
  3. 提供データに関する質問に答えることは約束できません。
  4. 提供データは、データ提供の申請者のみが利用できます。加工の有無に関わらず、提供データの他者への提供、再配布を禁止します。
  5. 本実験はPhantom 4 RTKによる写真測量の精度を検証するものではありません。本記事を読み、実験の趣旨を理解した上で利用してください。
  6. データ提供までに時間がかかる可能性、データ提供を予告なく中止する可能性があります。

<データ提供方法>

  • ご所属・お名前・Gmailアドレスを記載の上、神野まで電子メールで申請下さい。神野の電子メールアドレスは、お手数ですが山口大学社会建設工学科のサイトからお探しください。
  • アメブロのコメントなどに連絡先などを記入することは禁じられています。
  • データ提供にはGoogleドライブを用います。申請を受理した場合、返信にてダウンロードリンクを伝えます。