OpenDroneMapの使い方

with 3件のコメント

UAVで撮影した写真をマッピングに利用しようとした場合、Sfm/MVS(Structure from Motion / Multi-View Stereo)ソフトウェアを使い、3次元モデルやオルソ画像を作成します。Sfm/MVSとは写真や動画から撮影位置を推定し、3次元形状を復元する技術を指します。

Sfm/MVSソフトで広く流通しているのはPhotoscanやPix4Dだと思います。共に撮影した画像データを入力して、処理することでほぼ自動で3次元モデルやオルソ画像を作成することができます。ただし、Photoscanで¥500,000、Pix4Dで¥1,270,000と個人で気軽に購入できる金額のソフトではありません。

そこで、フリーで処理を可能とする方法としてGitHubで公開されているOpenDroneMap(https://github.com/OpenDroneMap/OpenDroneMap)を紹介します。OpenDroneMapはGitHub上で開発が進められており、無償で入手可能です。ここでは、WindowsでOpenDroneMapを動作させる手順を紹介します。


Docker環境の構築

DOCKER TOOLBOXはWindows及びMac OS X上にDocker環境を簡単に構築・運用するためのアプリケーションセットです。なお、Dockerについての詳細は省かせてもらいます。アプリケーションが動作するための環境をハードウェアに依らず構築できるもの程度の認識で良いかと思います。

公式サイトからインストーラを入手し、インストールを進めます。ここでは、DOCKER TOOLBOXで作業を進めます。

・DOCKER FOR WINDOWS:Windows 10 Professional または Enterprise 64-bitの場合

https://www.docker.com/products/docker#/windows

(WINDOWS10の場合のインストールから使い方をまとめました)

・DOCKER TOOLBOX:上記以前のバージョンの場合(Windows7以降)

https://www.docker.com/products/docker-toolbox

Docker環境構築にはOracle VM Virtualboxを必要とします。Virtualboxをインストールしていない場合は、インストール途中のVirtualboxのインストールにチェックを入れておきます。

 

 

 

 

 

 

 

 

 

DOCKER TOOLBOXのインストールが完了すると、デスクトップに”Docker Quickstart Terminal”というショートカットが追加されているので、これを実行すると以下のような画面が起動します。

 

 

 

 

 

 

 


OpenDroneMapのインストール

提供元のWikiより、以下コマンドを入力してインストールを進めます。ソースダウンロードも行うので、少々時間が掛かります。

git clone  https://github.com/OpenDroneMap/OpenDroneMap.git
cd OpenDroneMap
docker build -t packages -f packages.Dockerfile .
docker build -t odm_image .

※追記:3行目のbuildが失敗する場合があるみたいです。動かなければ以下試してみて下さい。

docker build -t packages -f Dockerfile .

OpenDroneMapの実行

シンプルな処理を行います。まず、処理したい画像を任意のディレクトリに保存します。(処理用のサンプルデータ

以下コマンドで保存場所のショートカットを用意します。ここでは、サンプルデータを解凍してデスクトップに保存した場合の設定になります。

export IMG=/c/Users/xxxx/Desktop/odm_sample

※”xxxx”の部分には自分のユーザディレクトリ名を入力してください。

指定したディレクトリ内の画像に対して、以下コマンドで処理を実行します。

docker run -it --user root \
-v $IMG/images:/code/images \
-v $IMG/odm_orthopoto:/code/odm_orthophoto \
-v $IMG/odm_texturing:/code/odm_texturing \
--rm odm_image

1行目:root権限での実行宣言(動かなければ、it以降を省いて”docker run \”にしてみる)

2行目:入力画像ディレクトリの設定

3行目:オルソ画像の出力ディレクトリの設定

4行目:3Dモデルの出力ディレクトリの設定

5行目:処理終了後のコンテナ削除(–rm)と実行イメージの指定

5行目の末尾にオプションを追加することで処理パラメータを調整可能です。各オプションはWikiに一覧があります。


処理結果の確認

処理が完了すると、入力画像のディレクトリに”odm_orthophoto”、”odm_texturing”と”pmvs”フォルダができていることが確認できます。

“odm_orthophoto”にはTiff形式のオルソ画像があるので、
QGIS(http://qgis.org/ja/site/)等で確認します。

 

 

 

 

 

 

 

 

 

“odm_texturing”にはobj形式の3Dモデルファイルが保存されています。このファイルはMeshLab(http://www.meshlab.net/)等の3Dモデルビューワで読み込みが可能です。

 

 

 

 

 

 

 

 

3Dモデルの閲覧方法として、SketchfabというWebサービス上にアップロードされたモデルを閲覧する方法があります。この下にある画面がSketchfabにアップロードしたモデルリンクを張り付けたものです。中央のボタンを押すことでモデルがロードされるので、マウスドラッグで好きに動かしながら閲覧することができます。

 

他、オプションの指定等によって出力の調整も可能ですので、色々と試してみて下さい。

 

※OpenDroneMapをGUIで使えるWebODMの使い方の紹介記事を公開しました。

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

Leave a Reply

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください