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

・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にアップロードしたモデルリンクを張り付けたものです。中央のボタンを押すことでモデルがロードされるので、マウスドラッグで好きに動かしながら閲覧することができます。

 

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

3 Responses

  1. […] 先の記事(OpenDroneMapの使い方)でOpenDroneMap(以下、ODM)の基本的な使い方を紹介しました。ODMは入力コードの末尾にオプション(Run time Parameters)を追加することで、出力データを調整する […]

  2. […] 以前にOpenDroneMapの使い方を紹介しました。過去の記事ではDocker Toolboxのインストールから基本的な処理の手順を説明しました。Docker ToolboxはWindows7以降のWindows OSに対応しています。このD […]

  3. […] ラップ、オーバーラップは範囲内を連続で撮影する際に各写真間の重なり量の指標です。先の記事で紹介したOpenDroneMap等のsfMソフトからオルソ画像を作成するために考慮する要素です。 […]

Leave a Reply