先の記事(OpenDroneMapの使い方)でOpenDroneMap(以下、ODM)の基本的な使い方を紹介しました。ODMは入力コードの末尾にオプション(Run time Parameters)を追加することで、出力データを調整することができます。オプションの一覧はwikiで確認することができます。多くの設定があり、同wikiで幾つかの使い方のサンプルが示されています。今回は基本的な使い方とorthophoto出力に関わる設定を紹介します。
基本的な使い方
まず、それぞれのパラメータ設定の使い方ですが、単純に実行コマンドの末尾にパラメータを付け加えるだけです。例えば、以下のようになります。
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 \ --resize-to 3000
5行目が追加のパラメータ部分です。ここでは入力画像の幅の変更を指定しています。それでは、具体的な例を幾つか紹介します。
Helpの表示:–help
処理自体に関わるものではありませんが、末尾に”-h”か”–help”と入力することで、上記パラメータのヘルプを表示できます。なお、ここで表示されるhelpとwikiでは内容が異なる場合がありますが、少なくともこのhelpの方が正確かと思います。
docker run odm_image -h
入力画像のリサイズ:–resize-to
処理の際に入力画像のサイズを幅の数値を指定することで変更させます。デフォルトでもこのリサイズ処理は行われており、元画像より小さくなる場合もあるので、入力画像のオリジナルの幅を指定するだけでも出力成果が変わってきます。なお、これは上記の”基本的な使い方”の例にもあったのと同じパラメータです。以下のコードは上記コードの5行目と同じものです。
--resize-to 2000
オルソ画像の分解能設定:–orthophoto-resolution
出力されるオルソ画像の地上分解能のサイズを指定します。このパラメータはデフォルトで20と設定されています。設定する数値の単位はpixels / meterとなっており、1mは何ピクセルかを指定しています。例えばデフォルトの20は1mが20ピクセル相当なので、1ピクセルは0.05m(5cm)となります。なので、画像分解能を高めようとする場合は設定値を大きくし、粗くしたい場合は小さくします。以下のコードは設定値を40として、2.5cm分解能で出力設定する場合のものです。
--orthophoto-resolution 40
GeoTiff出力の省略:–orthophoto-no-tiled
オルソ画像の出力を行う際、デフォルトではPNGとGeoTiff形式の2種類の形式で出力されます。このオプションはこの中からGeoTiffの出力を省くためのものです。GeoTiff形式は座標情報が格納されており、上のオプションで指定した分解能の設定も反映されますが、PNG形式は位置情報を示す座標系の設定がありません。なので、単純な画像のみの出力が必要な場合に使用すれば余分な容量の消費を除けます。
また、出力に座標情報が含まれないといった場合にも有用かと思います。GeoTiffで出力されるオルソ画像の座標は、入力画像のEXIFに含まれる撮影位置の座標か、別途処理時に入力するGCPの座標情報を基に取得されますので、その両方が無い場合はGeoTIFFには座標情報は含まれません。そうした場合にこのオプションを指定すれば良いかと思います。
--orthophoto-no-tiled
画像圧縮形式の指定:–orthophoto-compression
出力されるオルソ画像には容量を低減するために圧縮処理を施すことができ、このオプションでその圧縮形式の指定ができます。指定の方法は以下の何れかの形式を入力するだけです。
・JPEG
・LZW
・PACKBITS
・DEFLATE (デフォルト)
・LZMA
・NONE (圧縮無)
コード的には以下の様になります。
--orthophoto-compression JPEG
また、他の機能も確認できたらまとめようと思います。
Leave a Reply