ディープ ラーニングを使用したオブジェクトの分類 (Classify Objects Using Deep Learning) (ラスター解析)

概要

入力ラスターとオプションのフィーチャクラスに対してトレーニング済みディープ ラーニング モデルを実行し、各入力オブジェクトまたはフィーチャにクラス ラベルまたはカテゴリ ラベルを割り当てたフィーチャクラスまたはテーブルを作成します。

ディープ ラーニングを使用したオブジェクトの分類 (Classify Objects Using Deep Learning) ツールの図

使用法

  • ラスター解析サーバーの Python 環境が、適切なディープ ラーニング フレームワーク Python API (TensorFlow、CNTK など) を使用して構成されている必要があります。

  • このツールを実行すると、ラスター解析サーバーがサードパーティのディープ ラーニング Python API (TensorFlow や CNTK など) を呼び出し、指定された Python ラスター関数を使用して、各ラスター タイルを処理します。

  • このツールの入力モデルは、ポータルからのディープ ラーニング パッケージ (*.dlpk ファイル) アイテムだけを受け取ります。

  • 入力モデルの選択または指定後、ツールはラスター解析サーバーからモデル引数の情報を取得します。入力モデルが無効であったり、ラスター解析サーバーがディープ ラーニング フレームワークによって適切に構成されていなかったりすると、ツールはこうした情報を取得できません。

構文

arcpy.ra.ClassifyObjectsUsingDeepLearning(inputRaster, inputModel, outputName, {inputFeatures}, {modelArguments}, {classLabelField}, {processingMode})
パラメーター説明データ タイプ
inputRaster

分類する入力イメージ。このイメージには、イメージ サービスの URL、ラスター レイヤー、イメージ サービス、マップ サーバー レイヤー、またはインターネット タイル レイヤーを指定できます。

Raster Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; String
inputModel

入力イメージ内のオブジェクトを分類するために使用されるディープ ラーニング モデル。この入力は、ディープ ラーニング バイナリ モデル ファイルへのパス、使用される Python ラスター関数へのパス、および他のパラメーター (望ましいタイル サイズやゼロ詰めなど) が含まれるディープ ラーニング パッケージ (*.dlpk) アイテムの URL です。

File
outputName

分類されたオブジェクトを含むフィーチャ サービスの名前。

String
inputFeatures
(オプション)

分類されラベル付けされる各オブジェクトまたはフィーチャの位置を識別するフィーチャ サービス。入力フィーチャ サービスの各行は、単一のオブジェクトまたはフィーチャを表します。

入力フィーチャ サービスが指定されない場合、各入力画像は単一オブジェクトとして分類されます。入力画像が空間参照を使用する場合、このツールからの出力はフィーチャクラスとなり、各画像の範囲が各ラベル付きフィーチャクラスの境界ジオメトリとして使用されます。入力画像が空間参照されていない場合、このツールからの出力は、各画像の画像 ID 値とクラス ラベルを含むテーブルとなります。

Feature Layer; Map Server Layer; String
modelArguments
[modelArguments,...]
(オプション)

分類に使用する関数のモデル引数。これらは、入力モデルによって参照される Python ラスター関数クラスで定義されます。ここでは、実験や調整のための追加のディープ ラーニング パラメーターおよび引数 (感度を調整するための信頼性の閾値など) をリストします。引数の名前は、ツールがラスター解析サーバー上で Python モジュールを読み取ることによって入力されます。

Value Table
classLabelField
(オプション)

出力フィーチャクラス内のクラスまたはカテゴリ ラベルを含むフィールドの名前。

フィールド名を指定しないと、出力フィーチャクラスに ClassLabel という名前の新しいフィールドが生成されます。

String
processingMode
(オプション)

モザイク データセットまたはイメージ サービス内のすべてのラスター アイテムを処理する方法を指定します。入力ラスターがモザイク データセットまたはイメージ サービスである場合、このパラメーターが適用されます。

  • PROCESS_AS_MOSAICKED_IMAGEモザイク データセットまたはイメージ サービス内のすべてのラスター アイテムがモザイク化され、処理されます。これがデフォルトです。
  • PROCESS_ITEMS_SEPARATELYモザイク データセットまたはイメージ サービス内のすべてのラスター アイテムが、個別の画像として処理されます。
String

派生した出力

名前説明データ タイプ
outObjects

出力フィーチャ セット。

フィーチャ セット

コードのサンプル

ClassifyObjectsUsingDeepLearning (ディープ ラーニングを使用したオブジェクトの分類) の例 1 (Python ウィンドウ)

この例では、ラスター解析配置でディープ ラーニングを使用して、分類モデルに基づいてラスター内のフィーチャを分類し、ラスターをポータルでホスト イメージ レイヤーとして公開します。

import arcpy

arcpy.ClassifyObjectsUsingDeepLearning_ra(
	"https://myserver/rest/services/Buildings/ImageServer", 
	"https://myserver/rest/services/Hosted/BuildingFootprints/FeatureServer/0",
	"https://myportal/sharing/rest/content/items/itemId", "BuildingDamage",
	"batch_size 4", "ClassLabel","PROCESS_AS_MOSAICKED_IMAGE")
ClassifyObjectsUsingDeepLearning (ディープ ラーニングを使用したオブジェクトの分類) の例 2 (スタンドアロン スクリプト)

この例では、ラスター解析配置でディープ ラーニングを使用して、分類モデルに基づいてラスター内のフィーチャを分類し、ラスターをポータルでホスト イメージ レイヤーとして公開します。

#---------------------------------------------------------------------------
# Name: ClassifyObjectsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy

# Set local variables
inputRaster = "https://myserver/rest/services/Buildings/ImageServer"
inputFeatures = "https://myserver/rest/services/Hosted/BuildingFootprints/FeatureServer/0"
inputModel = "https://myportal/sharing/rest/content/items/itemId"
outputName = "BuildingDamage"
modelArguments = "batch_size 4"
classLabelField = "ClassLabel"
processingMode = "PROCESS_AS_MOSAICKED_IMAGE"

# Execute Classify Objects Using Deep Learning 
arcpy.ClassifyObjectsUsingDeepLearning_ra(inputRaster, inputFeatures, 
	inputModel, outputName, modelArguments, classLabelField , processingMode)

ライセンス情報

  • Basic: 次のものが必要 ArcGIS Image Server
  • Standard: 次のものが必要 ArcGIS Image Server
  • Advanced: 次のものが必要 ArcGIS Image Server