見出し画像

iPhoneで航空写真点群測量?!動画からの切り抜き方法も紹介

結論から言うと、iPhoneで航空写真点群測量はできません(地上写真測量はできますが)。偶然、飛行機からiPhoneで撮影した動画を点群にしたい衝動に駆られたので、その流れをご紹介します。

3次元点群化する動画

今回は、以下の動画から点群を作成します(音量注意)。

出張で飛行機に乗ったときに、着陸の少し前に撮影しました。普通にカメラアプリを起動して、動画撮影したものです。記念に撮ったはずが、「SFMできるんじゃないの??」という衝動に駆られてしまいました。

動画から点群を作成?

SFMソフトを使われた方なら、動画のインプットを与えたことがあるかもしれません。SFMはStructure From Motion (ストラクチャー・フロム・モーション)の略なので、動いている動画から3次元化ができるイメージがあります。

正しくは、動画ではなく、静止画がインプットです。動画から3次元化を行うためには、動画からフレームを切り抜く必要があります。例えば、一般的な動画は30fps(毎秒30フレーム)で録画されますが、もし30フレームおきに1コマ切り抜けば、1分の動画から60枚の静止画を作ることができます。

適切なフレーム間隔とは

適切なフレーム間隔は目的にもよりますが、ドローンを使ったUAV写真点群測量では、80%のオーバーラップ率(画像同士の重なり合い)が推奨されます。他の用途でも同等の値が適切かと思いますが、地上写真測量アプリ(PIX4Dcatch)の90%オーバーラップの値を参考に、着陸の動画は90%で切り抜きます。

切り抜く間隔を決めるため、地物を追いかける

切り抜く間隔は、フレームの間隔です。簡単な方法としては、分かりやすい地物を見つけて、画角の端から端まで移動する時間を計ります。例えば、この建物は、10秒かけて、画角の端から端を移動します。10秒で100%の変化なので、1秒で10%の変化です。10%の変化は、すなわち90%のオーバーラップです。今回は1秒(=30フレーム)ごとに切り抜きます。

サイドラップの設定

余談ですが、UAVの場合は進行方向のオーバーラップ率と、隣接するコースごとのサイドラップの、2つの値があります。基本は、オーバーラップ率80%、サイドラップ率60%が一般的と思います。動画から切り抜く場合は、設定するフレーム間隔で自由にオーバーラップ率は制御できますが、サイドラップ率は飛行時の隣接するコース間隔(物理的な距離)で決定する値ですので、後からは調整できません。

オーバーラップとサイドラップ
(画像はセスナだが定義はUAVも同様)
(出典:国土地理院)

点群処理をかける

今回は、動画からのフレーム切り取りができる、PIX4Dmapperを使って点群処理をかけます。動画をインポートして、切り抜き間隔を30フレームに設定します。47秒の動画から、47枚の画像が生成されました。早速、画像から点群化します。

iPhoneで撮った動画から作った点群

点群の質はどうでしょう??
まぁ意見は人それぞれですが、飛行機の着陸時にiPhone で適当に撮った動画にしては上出来じゃないでしょうか??

屋根の点密度は荒いですが、山などは識別できます!

色調調整をしてみる

おまけですが、iPhoneの編集機能を使って、色調調整をしてみました。コントラストや彩度をいじって、山の緑を鮮やかにしたり、濃い色をより濃くしてみました。

iPhoneの機能で色を編集する: 静止画1枚の比較

iPhoneの画面上ではキレイに見えたのですが、パソコンに移したら少し白飛び気味で、そうでもなかったです…。ひとまず、極端な色編集をした、ということで進めます。

動画の色で与える点群への影響(点群の比較)

SFMの画像同士の特徴点のマッチングにはそこまで寄与していないようですが、完成した点群の色は少し鮮やかになりました。ほどほどに色をいじれば、色味のキレイな点群になりそうです。

まとめ

今回のデータは、測量や計測にはあまり意味のあるデータではなかったですが、個人的な興味は満たせました。動画の切り抜きやオーバーラップの考え方について、もし有用だと思って貰えたら幸いです。



この記事が気に入ったらサポートをしてみませんか?