OpenDroneMapの使い方 – WebODMの紹介

with 1件のコメント

OpenDroneMap(ODM)はドローンで撮影した画像を処理するオープンソース(無償で使用可能でソースコードが公開されている)ソフトウェアです。ドローンで撮影した画像を処理する有用な機能が提供されています。そしてWebODMとは、ODMの機能をGUIで操作させるようにし、描画機能をかね揃えたソフトウェアです。

OpenDroneMapの主な機能

OpenDroneMapのプロジェクトでは、GUIで操作するWebODMとコマンドラインで自動処理させるODMという主に2つの機能が開発・提供されています。コマンド操作が苦手な人、ユーザフレンドリーなインターフェースが必要な人はWebODMを使うのが良いと思います。大量のデータがあり、機械的に処理をしたい、処理の再現性が必要な人はODMが良いでしょう。

また、OpenDroneMapの最大の特徴はオープンソースであることです。ドローン画像を処理する代表的な有償サービスはPix4Dでしょう。業務で最先端な事を行いたい、あらゆる自主保守などから解放されたい、などといった要望がある方はこのような有償サービスを使用することが良いでしょう。費用を抑えたい、基本的な機能があれば十分という方であればOpenDroneMapはおすすめです。

OpenDroneMapで提供される処理機能は以下に挙げられます。

  • オルソモザイク
  • 点群データ処理(LiDARなどのデータをジオリファレンス、フィルタリング、分類など)
  • 3次元データの作成・処理など(地形図、標高、等高線などの作成や測定など)
  • 植生指数の計算
  • Webブラウザ上でのデータ描画

WebODMの利用方法

WebODMはWindows、Linux、Macの様々なOSで簡単に動作が可能です。なぜならDockerという仮想環境ツールを使用して動かすことができるからです。

Dockerでのインストール方法やODMの基本的な使い方はこちらで紹介しています。

しかし、Dockerでの利用には制約がある可能性があります。WindowsやMacでは、Dockerに割り当てるCPUのコア数やメモリ容量の都合上、動作が安定しない場合があります。非常に広範囲の画像をオルソ処理する際、より多くのCPU、メモリ、ディスク容量をDockerに割り当てる必要があります。

処理がうまくいかない場合が発生したら、 Dockerを介さず、PCに直接インストールして利用するのが良いです。また、WindowsでDockerを利用する際、WindowsのProfesional版が必要となるため、全てのWindows OSで気軽にWebODMを利用できるというわけではありません。

一旦整理すると、WindowsやMacでWebODMを利用する方法として、以下が挙げられます。

  • Dockerを使ってビルドする
  • ソースコードからビルドする
  • インストーラを購入する(WindowsとMacそれぞれ$57 コチラ

コマンドラインのODMのみを利用する場合、「ソースコードからビルドする」は比較的容易でしょう。しかし、WebODMの場合、「Dockerからビルド」か「インストーラを購入する」のどちらかが良いと思います。なぜなら、WebODMは、DjangoというPython言語のWebフレームワークで動いており、動作させるためにPostgreSQL、Redis、Nginx、Gunicornといった、データベース、キャッシュサーバ、Webエンジンなど複数の環境を用意する必要があるからです。これらの環境構築は、Dockerを利用すれば自動的に行ってくれます。

特殊な環境で利用したいなどといったことがない限り、DockerでWebODMを動かすことが最も手軽で確実です。Windows環境のDockerでの処理が不安定・処理が遅いなどといった場合、Linuxのコンピュータで試みるのが良いと思います。不要なコンピュータにUbuntuなどのLinuxをインストールして、利用することもできます。

さらに、LiveODMというのがあります。こちらは、既にWebODMの環境が構築されているLinux OSのイメージファイルです。このイメージファイルをUSBメモリ書き込みます。USBメモリをコンピュータに差し込み、起動させることで、コンピュータのディスクにインストールさせることなく、WebODMを利用することができます。しかし、大きな処理はできません。あくまでお試しでの利用です。気に入れば、そのコンピュータにインストールし、WebODM専用の環境を用意することができます。

WebODMのインストール方法

ここでは、Ubuntu 20.04でのWebODMの利用法について紹介します。端末を起動し、以下のコマンドを入力してください(コメントアウトは無視してください)。

# 適当なディレクトリで以下のコマンドでWebODMのソースコードリポジトリをクローン
git clone https://github.com/OpenDroneMap/WebODM --config core.autocrlf=input --depth 1

# WebODMにディレクトリを移動
cd WebODM

# 以下のコマンドでDockerによる環境構築し起動
./webodm.sh start

以上です。メッセージがたくさん出て一通り終わった後、Webブラウザを開き、 http://localhost:8000/ のURLアドレスを開いてください。アカウント作成画面が表示され、適当に入力すると、以下のような画面が表示されるはずです。

Dashboardは、プロジェクトを管理するページです。プロジェクト単位で撮影したドローン画像のオルソ処理などを行います。

Lightning Networkは、ODMが提供するクラウドサービスにアクセスする機能のようです。利用には登録が必要であり、コストがかかります。

Diagnosticは、動作しているコンピュータのディスク容量やメモリの使用状況が確認できます。

GCP Interfaceは、Ground Controll Pointを作成する機能です。画像ファイルをアップロードし、地図と重ね合わせ、自ら点を打ち、GCPを作成します。

Processing Nodesは、処理ノードを管理する機能です。ノードを増やして、複数の画像処理を行なったり、機能の設定や制約を定義することができます。

管理は、アカウント、色テーマ、プラグインの管理を行います。

WebODMのオルソ処理

WebODMを使ったオルソ画像の処理方法について紹介します。ここでは、OpenDroneMapが提供するデモデータを利用します。デモデータはコチラで公開されています。たくさんありますが、まずbellusを試してみましょう。bellusのリポジトリをクローンしてください。

WebODMのDashboardを開いてください。既にあるFirst Projectでも構いません。Select Images and GCPをクリックしてください。ファイル選択のウィンドウが表示されます。先ほどクローンしたbellusリポジトリ内にあるimagesディレクトリのjpg画像ファイルを全て選択してください。すると以下のように表示されると思います。ReviewボタンをクリックするとStart Processingに変わります。ボタンをクリックすると処理が開始されます。コンピュータのスペックにもよりますが10分以内に終わると思います。

処理状況はプログレスバーで逐次確認できます。完了したら以下のように表示されます。

View Mapボタンを押してみましょう。処理されたオルソ画像が、Webマップ上で表示されます。DSMの地形図も確認できます。

View 3D Modelボタンをクリックすると、点群処理されたデータを確認できます。

Download Assetsボタンでは、処理されたオルソ画像、DSM、点群LAZファイル、パラメータファイルや処理品質結果レポートのpdfファイルなどを取得することができます。処理結果レポートでは、処理精度やデータの概要を確認することができます。

今回利用したbellasのデータは、画像のEXIF情報に座標情報が含まれているため、GCPのファイルを与える必要がありません(用意はされています)。GCPの情報がない場合、オルソ画像の処理はできません。GCPはUTM座標系のみで対応しているようです。

最後にWebODMのプロセスを止めます。端末上で以下のコマンドを実行してください。

./webodm.sh stop

まとめ

以上がWebODMの簡単な紹介です。今回は導入なので、より詳細な設定方法などは省いてます。今後、 WebODMを利用した例など紹介します。

One Response

  1. […] OpenDroneMapの使い方 – WebODMの紹介 – GeoQuantz LLC (geo-quantz.com) […]

Leave a Reply