2019 年 7 月 24 日付で ArcGIS API for Python の 1.6.1 及び 1.6.2 の国内サポートを開始しました。今回のアップデートでは新たに水文解析を行うためのモジュールが追加されたり、U-net と呼ばれるディープ ラーニング手法を用いて衛星画像等を画像分類(画像セグメンテーション)するクラス等が追加されたりしました。本稿ではアップデートの概要をご紹介いたします。
アップデートされた主な内容
1.6.2
Single Shot Detector で inception_v3 以外のモデルを選択することが可能
ArcGIS API for Python によるディープ ラーニング モデルの学習は PyTorch をベースにしています。その際、デフォルトでは ResNet34 というモデルをベースに学習が行われますが、今回のアップデートでは物体検知をする場合に、その他のモデルも選択できるようになりました。これにより、例えば、より層の深い ResNet50を用いて学習することで、さらに精度の高いディープ ラーニング モデルの作成が期待できます。
より高度な検索が可能な advanced_search() メソッドの追加
ポータルのアイテムを検索する際に通常の search() メソッドよりも advanced_search() メソッドを使用することで、より高度な検索をすることが可能になりました。例えば、検索対象とするアイテムを緯度・経度を用いてデータの地理的な範囲から絞り込むことが可能です。
Spatially Enabled DataFrame の plot() メソッドが点密度をサポート
ArcGIS API for JavaScript 4.11 でも実装された点密度レンダラーを Spatially Enabled DataFrame の plot() メソッドで利用することができるようになりました。各フィーチャの属性値をポリゴン内に点でランダムに描画し、属性の相対密度を可視化できます。
その他、不具合修正に対応したことに加え、arcgis.features.analysis モジュールを中心に、解析関連の API リファレンスに解析イメージの画像が記載されるなど、リファレンスが詳細になり利便性が向上しました。
1.6.1
水文解析のモジュール (arcgis.features.hydrology) の追加
集水域の作成や下流解析を行う水文解析のモジュール (arcgis.features.hydrology) が追加されました。このモジュールでは ArcGIS Online 上で Esri が提供する標高データが用いられ、下流解析や集水域の作成を実行することができます。
データソースの単位の関係から推計値とはなりますが、10m、30m、90m など、使用するデータの解像度を変更することも可能です。デフォルトでは、入力したポイントの位置で利用可能な最も解像度の高いデータが使用されます。
U-net を利用した画像分類 (画像セグメンテーション)
ディープ ラーニングを使って画像中の特定の地物を検出することは、SingleShotDetector クラスの実装によりバージョン 1.6.0 から可能となっていますが、今回のバージョンでは衛星画像等をピクセル ベースで分類するためのクラス (UnetClassifier) が実装されました。クラスの名前が示すとおり U-net と呼ばれるディープ ラーニングの手法を用いてモデルを作成することが可能です。U-net は医療用画像のセグメンテーションのために考案されたもので、広く用いられているアルゴリズムです。
先に挙げた SingleShotDetector と同様に PyTorch ベースの外部パッケージをラッピングして実装しているため、別途必要なパッケージを追加でインストールする必要はありますが、ディープラーニングを用いた土地被覆分類等を ArcGIS プラットフォーム上で完結させることが可能になりました。
U-net によるディープ ラーニング モデルの学習
また、米国 Esri 社の ArcGIS API for Python の Web サイトにも、この機能追加に関するサンプル コードが新たに追加されました (一部の機能の実行にはディープ ラーニング用に構成した ArcGIS Image Server で Raster Analytics※ の機能を使えるようにする必要があります。)。内容を正確に理解するにはディープ ラーニングに関する基本的な知識が必要になるかと思いますが、サンプルの Part 2 部分を見ていただければ、いかに少ないコードでディープ ラーニング モデルの学習が可能なのかおわかりいただけると思います。
※ 国内未サポートの製品です
ホットスポット分析をする際に集計に用いるポリゴンの形状を選択するオプションの追加
find_hot_spot() ホットスポット分析を実行する際に、集計に用いるポリゴンの形状を四角形 (フィッシュネット) か、六角形で選択できるようになりました。
六角形で集計したホットスポット分析
規則的な形状で隙間を空けることなく敷き詰めることができる図形は正三角形、正方形、正六角形の 3 種類がありますが、そのうち正六角形はもっとも円に近い形状で、曲線に合わせて敷き詰めた時にもっとも誤差を少なくすることができるといった特徴があります。より詳しい内容については六角形を使用する理由も併せてご参照ください。
クレジット使用量を推定するオプションの追加
ArcGIS API for Python の arcgis.features モジュールの中には、サブ モジュールとして解析を実行するツールが多数含まれていますが、それらのパラメーターとして新たに estimate オプションが追加されました。
このオプションを True にしてコードを実行すると、その解析の実行に必要なサービス クレジットの推計が結果として返却されます。少しデータ量が多い解析を実行する前の確認や、実際にどのくらいのクレジットが消費されるのか調べてみたい時などにご利用ください。
また、ArcGIS Online のサービス クレジットを賢く使う 4 つのコツでもサービス クレジットの消費を効率的に管理するためのポイントをご紹介しています。意外と使われないままになってしまうクレジットも多いので、こちらも併せてご参照いただき、是非賢くご利用いただければと思います。
その他の機能拡張/不具合修正情報
その他の新機能や機能拡張、既知の制限事項等の詳細は、「リリース ノート」(英語)をご参照ください。
■関連リンク
ESRIジャパン Web サイト:
米国 Esri 社 Web サイト: