1. はじめに
ここではDockerによる環境構築を説明します。
1.1 なぜDockerなのか?
OpenDroneMapの使い方でもDockerを紹介しましたが、Dockerを使うのに重要な理由がいくつかあります。
- 作業環境などの影響を受けにくい
- 実行環境を共有できる
- 実行環境の管理が簡単
まず一つ目の「作業環境などの影響を受けにくい」が、Dockerを使う一番の理由と考えています。世の中、数え切れないほどのOSが存在します。Windows、Mac、Linux・・・バージョンなんかも考えると気が遠くなります。人によって使っているOSは異なります。Dockerは、Linux環境であれば、Windows、Mac、Linux内に簡単に仮想環境を構築することができます。しかも、処理は軽快です。
二つ目の「実行環境を共有できる」というのも非常に重要な理由です。このブログで有用な情報を公開しても、読者の環境で再現できなければ意味がありません。Dockerを使えば、そのような問題を解決できると期待できます。例えば、OpenDroneMapを個人の環境でビルドしようとすると、途方もなく大変です。Dockerでビルドできるようにしておけば、あらゆるパソコンで再現が可能です。
三つ目の「実行環境の管理が簡単」というのも非常に重要です。ソフトウェアというのは、日々、猛烈なスピードでアップデートされています。突然、プログラムが動かなくなってしまう場合があります。Dockerの構築では、Dockerfileというビルドのレシピを記述します。このレシピがあれば、仮想環境にどのパッケージがインストールされているか、把握することができます。
1.2 利用するツールやライブラリ
本ブログでは、主にUAVによる撮影手法や、撮影した画像の処理方法について紹介します。使用するツールは主に下記です。
- Python – Anaconda 3-2.50
- GDALなど
- Jupyter notebook
UAVで撮影した画像は、衛星画像のように地理情報が含まれています。Pythonは、地理空間データを処理するためのライブラリが数多く整備されています。
GDALは、ラスターデータを処理するための代表的なライブラリです。PythonのAPIも用意されています。GDALから発展しているライブラリも使います。
Jupyterは、Pythonをブラウザ上で対話的に利用するツールです。通常の処理だけではなく、描画などが容易にでき、GitHubで表示ができるため非常に便利です。
2. 環境構築
2.1 Dockerのインストール
Docker本家のサイトからDockerをインストールします。
Windowsはここ
Macはここ
Ubuntuはここ
2.2 docker-composeのインストール
docker-composeは、YAMLファイルに記述されたDocker実行環境を実行するツールです。docker-composeを使うことで、Dockerの実行が大変楽になります。インストールするには、本家かPythonのCookbookを参考にしてください。Pythonのインストールには、Python本家のインストーラを利用するのが簡単です。
Windowsはここ
MacやLinuxはここ
も参考にしてください。
2.3 Dockerの環境を構築
以下のコマンドを実行するか、ここからソースコードをダウロードしてください。
git clone https://github.com/geo-quantz/image_analytics
取得したディレクトリ先に移動し、端末で以下のコマンドを実行してください。あとは勝手にDockerイメージのビルドが進みます。時間がかかるので放置してください。
docker-compose build
次に以下のコマンドを順次実行してください。すると、Dockerイメージから実行可能なコンテナを作成し、コンテナ内で作業が可能になります。そして、Jupyterの利用をDockerを通して利用が可能になります。
docker-compose run --service-ports dev bash
jupyter notebook --no-browser --ip=0.0.0.0 --port=8888
ブラウザで http://0.0.0.0:8888/ にアクセスしてください。以下の画像のように表示されるはずです。これで、Jupyterの利用が可能です。もちろん、端末内でPythonの利用も可能です。
Leave a Reply