Windows10+WSL+Ubuntu16.04 で動かす OpenDronaMapの設定ファイルと実行

前回に引き続き、OpenDronaMapのお話。

タイトルの通り、Windows10上でほぼネイティブ状態で動かしているODMの設定ファイルの話設定ファイルは、settings.yaml というファイル名です。

windows10上からコマンドプロンプトかパワーシェルを起動します。

  • mkdir c:\temp
  • mkdir c:\temp\odm

で準備OK。わざわざ手打ちしなくてもエクスプローラ上からフォルダの新規作成で、適当なフォルダを作ればいいんです。フォルダ名は別に何でも良くて、c:\opendronemapとか、自分でわかる名前で。以下の設定ファイルに反映すれば良いだけです。

ubuntu16.04を起動します。

いつもの真っ黒い画面で順に

  • cd OpenDroneMap
  • vim settings.yaml

で設定ファイルを編集します。あっ、ちなみに私の場合はエディターはvimを使用しています。以下赤いところが編集箇所

[settings.yaml]を編集します

最初の頃の行

  • project_path: '/mnt/c/temp/odm'   # Example: '/home/user/ODMProjects

終わりの頃の行

  • orthophoto_resolution: 10.0 # Pixels/meter

で、編集箇所がたった2カ所!です。

なお、これは私の場合です。たとえばorthophoto-resolutionはメートルあたりの解像度を10ドットに設定しています。10センチメートル程度の解像度と言うことになりますが、カメラの性能と処理能力と出力される画像ファイルのサイズなどの見合いで経験的に10にしています。 

※ちなみに、phantom4を航空法上限の150m上空で飛ばした場合、解像度は4.1cm/pxのようです。(DJI GS PROの画面で出てくる。)

 おおよそ25dpm(dot per meter)と想定すれば、最大でも20と設定すれば良いのでしょうが100ha(?)規模の撮影だと500メガ程度の画像ファイルなので処理するにはちょっと重たいです。 (10の設定で150メガくらい)

 

WSL上のubuntuの場合Windows10とのファイルのやりとりは/mnt/内に各ドライブが配置されています。(/と\は違うのでご注意を。ちなみに\はwindowsでは¥と表記されます)

ちなみに--force-ccdはオプションとしては設定ファイルで記述出来ないんですね。

これは、ドローンに乗っているカメラのサイズです。Phantom4 Proは横13.2mmなので

--force-ccd 13.2 と記述します。

 

さて、いよいよ実行です。

まず、Windows10上からエクスプローラーでc:\temp\odm内にプロジェクト用のフォルダを作成します。(ここから下はすべてアルファベットで指定した方が良さそうです。親フォルダも日本語を使わないでおいた方がエラーの要素を減らすことが出来て、まず無難です。)

  • c:\temp\odm\[ProjectName]

[ProjectName]は、地域の名前でも撮影日でもわかりやすく適当につけます。

次にイメージ格納用フォルダを作成します。

  • c:\temp\odm\[ProjectName]\images

imagesはODMが使用する固定の名前です。この中に撮影した画像ファイルをすべてコピーします。

いよいよ実行です。

OpenDronaMapフォルダ内にいれば

  • sh run.sh --force-ccd 13.2 [ProjectName]

です、後はできあがりを待ちましょう。

run.pyを直接起動するよりは、run.shは環境変数やら、パスを通してくれるので、事前に設定をする必要がありません。こちらをよく使います。

しつこいようですが、13.2はPhantom4 pro のカメラ固有の数値ですので各自飛ばすドローンによって調べてください。