はじめに
2019年 5 月 22 日 (水) ~ 24 日 (金)、東京ミッドタウン 六本木にて第15回GIS コミュニティフォーラム及びプレフォーラム・セミナーが開催されました。
公開可能なセッションの発表資料は ESRIジャパンのサポートサイトで公開しております。また、GeoNet ブログでは開発者向けのセッションで使用したコードなどをご紹介しています。発表資料や GeoNet 記事、GitHub へのリンク...第15回GISコミュニティフォーラム開催報告記事をご覧ください。
テクニカル セッション「ArcGISでデータサイエンスしよう ~より高度で自由な地理空間分析へ~」の中では、R や Python との連携による高度な解析についてデモンストレーションを交えてご紹介しました。少し間が空いてしまいましたが、今回は ArcGIS API for Python と ArcGIS Pro を用いてディープ ラーニング モデルを作成し、航空写真から航空機を検出したデモンストレーションについて詳細をご紹介いたします。R との連携については前回の記事をご参照ください。
概要
本稿は以下の流れに沿ってご紹介します。
1.ArcGIS API for Python を用いたディープ ラーニングについて
ArcGIS API for Python は、Web GIS (ArcGIS Online / ArcGIS Enterprise) を活用してマップと地理空間データを扱うための API です。本 API は、想定されるユーザーが以下の 4 つの...
上記の中でも、特に GIS アナリスト/データ サイエンティストに対しては、Web サイトで公開されているサンプル コードの数が最も多く、米国 Esri 社も利用の推進に力を入れているセグメントです。
ArcGIS API for Python は、TensorFlow や PyTorch 等のディープ ラーニング用フレームワークと組み合わせて使用することが可能です。特に PyTorch については、PyTorch をベースに開発されている fastai というライブラリをラッピングしており、両者を追加でインストールすることで、arcgis.learn モジュールから直接機能を呼び出して使用することができるようになっています。
以降では、GIS コミュニティフォーラムでご紹介したデモンストレーションをもとに、具体的な環境構築の方法、トレーニング データの作成、ArcGIS API for Python によるディープ ラーニングの学習、そして学習したモデルを適用するまでの一連の流れをご紹介していきます。
2.環境構築
① 使用したソフトウェア等
ご紹介したデモンストレーションで使用したソフトウェア、エクステンションおよび Python のライブラリは以下のとおりです(右側に記載した数字は使用したバージョンです)。
② GeoAI Data Science VM について
ディープ ラーニングによる学習を実行するにあたり、比較的ハイスペックな GPU が必要となるため、今回は Microsoft Azure の Geo AI Data Science VM (GeoAI DSVM) を使用して仮想マシンを構築しました。Azure 上での GeoAI DSVM のプロビジョニングについては Microsoft Azure のドキュメントをご参照ください。GeoAI DSVM には ArcGIS Pro の英語版があらかじめインストールされています。
③ ディープ ラーニング用の Python 環境の作成
ArcGIS Pro は Miniconda を内包しており、Python パッケージ マネージャーから複数の Python 環境を作成・管理することができます (詳細については「ArcGIS API for Python のコアコンセプト その 2」を参照ください)。以降では、この機能を用いてデフォルトの Python 環境とは別にディープ ラーニング用の環境を作成します。
必須ではありませんが、GeoAI DSVM の ArcGIS Pro の UI を日本語に設定したい場合は、弊社サポートサイトから日本語版をダウンロードしてインストールしてください。
※ 英語環境でも以降の手順は同じです。
クローン環境作成の様子
※ アクティブな環境をデフォルトに戻したい場合は、arcgispro-py3 (デフォルトの環境) のラジオボタンをクリックしてください。
<img