ArcGIS Image Analyst エクステンションを使用したディープ ラーニング

Image Analyst ライセンスで利用できます。

ArcGIS Image Analyst エクステンションでは、ArcGIS Pro の画像を使用してディープ ラーニング ワークフロー全体を実行できます。 ジオプロセシング ツールを使用して画像のトレーニング データを準備し、オブジェクトの検出、ピクセルの分類、またはオブジェクトの分類のモデルをトレーニングし、結果の生成と見直しを行います。

注意:

このトピックでは、Image Analyst を使用した画像のディープ ラーニングのワークフローについて説明します。 ArcGIS Pro のディープ ラーニングの全機能の概要については、「ArcGIS Pro のディープ ラーニング」をご参照ください。

ワークフローを次の図に示します。

ディープ ラーニング ワークフロー

ステップ説明

ディープ ラーニング ステップ 1

[ディープ ラーニングのオブジェクトのラベル付け] ウィンドウを使用してトレーニング サンプルを作成し、[ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールを使用して、サンプルをディープ ラーニング トレーニング データに変換します。

注意:

Spatial Analyst エクステンションでは、[ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールもサポートされています。

ディープ ラーニング ステップ 2

[ディープ ラーニング モデルのトレーニング (Train Deep Learning Model)] ツールを使用して PyTorch によってモデルをトレーニングするか、サポートされているサード パーティのディープ ラーニング フレームワークを使用して ArcGIS Pro の外部でモデルをトレーニングします。

ディープ ラーニング ステップ 3

トレーニングしたモデルを使用して、[ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning)] ツール、[ディープ ラーニングを使用したピクセルの分類 (Classify Pixels Using Deep Learning)] ツール、または [ディープ ラーニングを使用したオブジェクトの分類 (Classify Objects Using Deep Learning)] ツールを実行し、出力を生成します。

[属性] ウィンドウを使用して結果の見直しと検証を行い、[オブジェクト検出精度の計算 (Compute Accuracy For Object Detection)] ツールを使用して精度を計算します。

特長と機能

ArcGIS Pro のディープ ラーニング ツールでは、標準的な機械学習分類法以上のものを使用できます。

  • 畳み込みニューラル ネットワークまたはディープ ラーニング モデルを使用して、オブジェクトの検出、オブジェクトの分類、または画像ピクセルの分類を行います。
  • TensorFlow、PyTorch、Keras などの外部のディープ ラーニング フレームワークを統合します。
  • モデル定義ファイルを複数回にわたって使用し、経時的な変化を検出したり、複数の対象地域のオブジェクトを検出したりします。
  • 検出したオブジェクトの場所を示すポリゴン フィーチャクラスを生成し、追加の解析やワークフローに使用します。
  • GPU 処理を利用するとともに、分散処理には CPU を使用します。

ディープ ラーニングを開始する

トレーニング サンプルの作成とエクスポートは、標準のトレーニング サンプル生成ツールを使用して ArcGIS Pro 内で行われます。 ディープ ラーニング モデルは、[ディープ ラーニング モデルのトレーニング (Train Deep Learning Model)] ツールを使用して PyTorch フレームワークでトレーニングするか、別のディープ ラーニング フレームワークを使用して ArcGIS Pro の外部でトレーニングできます。 モデルのトレーニングが終了すると、Esri モデル定義ファイル (.emd) を使用してジオプロセシング ツールを実行し、画像内のフィーチャの検出や分類を行います。

ディープ ラーニング フレームワークの Python パッケージをインストールする必要があります。インストールしない場合、Esri モデル定義ファイルをディープ ラーニング ジオプロセシング ツールに追加するとエラーが発生します。 これらのパッケージのインストール方法については、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。

  1. トレーニング サンプルを作成し、エクスポートします。
    1. [ディープ ラーニングのオブジェクトのラベル付け] ウィンドウか [トレーニング サンプル マネージャー] を使用して、分類スキーマを選択または作成します。
    2. クラス カテゴリか対象フィーチャのトレーニング サイト サンプルを作成します。 トレーニング サンプル ファイルを保存します。
    3. [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data for Deep Learning)] ジオプロセシング ツールを実行し、ソース画像とトレーニング サンプルをディープ ラーニング トレーニング データに変換します。 ソース画像は、イメージ サービス、モザイク データセット、ラスター データセット、またはラスターのフォルダーのいずれかです。 ツールにより、ディープ ラーニング モデルのトレーニングに使用されるトレーニング サイトを含む画像チップやサンプルが出力されます。 設定が必要なツールの追加出力としてテンプレートの .emd ファイルがあります。
  2. ディープ ラーニング モデルをトレーニングします。
    1. [ディープ ラーニング モデルのトレーニング (Train Deep Learning Model)] ツールで、前の手順で生成した画像チップを使用してディープ ラーニング モデルをトレーニングします。
  3. ArcGIS Pro の推論ジオプロセシングを実行します。
    1. [ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning)][ディープ ラーニングを使用したピクセルの分類 (Classify Pixels Using Deep Learning)]、または [ディープ ラーニングを使用したオブジェクトの分類 (Classify Objects Using Deep Learning)] ジオプロセシング ツールを使用し、画像を処理します。 トレーニングされたモデルに、追加の変数 (パディング、感度を微調整するための信頼閾値など) を含むカスタム Python ラスター関数が組み込まれている場合、これらの変数はジオプロセシング ツールのダイアログ ボックスに表示され、ユーザーによる入力を行えるようになっています。 文字列や数値などのデータ型は、Python ラスター関数で指定されます。 追加の推論パラメーターは 2 つまでに限定することをお勧めします。

      [Esri モデル定義] パラメーター値には、Esri モデル定義 JSON ファイル (.emd) または JSON 文字列を指定することができます。 JSON 文字列は、このツールがサーバーで使用されている場合に便利で、*.emd ファイルをアップロードする代わりに JSON 文字列を貼り付けることができます。

      The output of the ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning) ツールはフィーチャクラスで、モデルによって検出されたオブジェクトが表示されます。 ディープ ラーニングを使用したピクセルの分類 (Classify Pixels Using Deep Learning) ツールでは分類されたラスターが出力されます。 [ディープ ラーニングを使用したオブジェクトの分類 (Classify Objects Using Deep Learning)] ツールでは、入力データセットにフィーチャクラスと画像が必要です。出力は、各フィーチャ内のそれぞれのオブジェクトにクラス名のラベルが付けられたフィーチャクラスになります。

ディープ ラーニング モデルを使用後、結果を確認して、モデルの精度を評価することが重要です。 [属性] ウィンドウを使用して、オブジェクトベースの推論 ([ディープ ラーニングを使用したオブジェクトの分類 (Classify Objects Using Deep Learning)] ツールまたは [ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning)] ツール) の結果を確認します。 または、[オブジェクト検出精度の計算 (Compute Accuracy For Object Detection)] ツールを使用し、精度評価の表やレポートを生成することもできます。

コンピューター ビジョンを備えたディープ ラーニングのアプリケーションの基礎については、「ディープ ラーニングの概要」をご参照ください。

ジオプロセシング ツールの実行要件と発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくある質問」をご参照ください。

開発者向けのリソース

ArcGIS Pro で使用できるジオプロセシング ツールやワークフローに加えて、スクリプトやノートブックでもディープ ラーニング タスクを実行できます。 ArcGIS REST API で作業を行っている場合は、ラスター解析サービスで利用可能なディープ ラーニング タスクを使用します。 これらのタスクは使用可能なジオプロセシング ツールと同じですが、処理の構成によっては分散処理でも使用できます。

ArcGIS API for Python で作業を行っている場合は、さらに多くのディープ ラーニング タスクを arcgis.learn モジュールで使用できます。

関連トピック