K 最近隣内挿法による分類器定義ファイルの作成 (Train K-Nearest Neighbor Classifier) (Image Analyst)

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

Spatial Analyst のライセンスで利用可能。

サマリー

K 最近隣分類方法を使用して Esri 分類器定義ファイル (*.ecd) を作成します。

K 最近隣分類器は、近隣の過半数投票によってピクセルまたはセグメントを分類するノンパラメトリック分類法です。 K は、投票で使用される近隣の定義済みの数字です。

使用法

  • このツールは対応するクラスにトレーニング サンプルを割り当てます。 入力ピクセルのクラスは K 最近隣の過半数投票によって求めます。

  • ラスター製品、セグメント化されたラスター、モザイク、イメージ サービス、一般的なラスター データセットなど、Esri でサポートされているラスターは入力として受け入れられます。 セグメント ラスターは 3 バンドの 8 ビット ラスターである必要があります。

  • [ラスターの分類 (Classify Raster)] ツールの新しいラスターを分類するのに使用される *.ecd ファイルがこのツールの出力です。 次に、[ラスターの分類 (Classify Raster)] ツールは各入力ピクセルまたはセグメントからすべてのトレーニング サンプルまでの距離を計算します。

    トレーニング サンプル データは、トレーニング サンプル マネージャーを使用して、複数回収集されている必要があります。 各サンプルのディメンション値は、トレーニング サンプル フィーチャクラスのフィールドにリストされており、[ディメンション値フィールド] パラメーターで指定されます。

  • トレーニング サンプル ファイルを作成するには、[分類ツール] ドロップダウン メニューから [トレーニング サンプル マネージャー] ウィンドウを使用します。

  • セグメント ラスターの場合、キー プロパティが [セグメント化] に設定されており、このツールは RGB セグメント ラスターからインデックス画像と、関連するセグメント属性を計算します。 これらの属性は、別の分類ツールで使用される分類器定義ファイルを生成するために計算されます。 各セグメントの属性は、Esri でサポートされている画像から計算できます。

  • [セグメント属性] パラメーターは、ラスター レイヤー入力のうちのいずれかがセグメント画像である場合にのみ、アクティブになります。

パラメーター

ラベル説明データ タイプ
入力ラスター

分類対象のラスター データセット。

分類するシングル バンド ラスター、セグメント ラスター、マルチバンド ラスター、または多次元ラスター。

Mosaic Layer; Raster Layer; Image Service; String
トレーニング サンプル マネージャー

トレーニング サイトを表すトレーニング サンプル ファイルまたはレイヤー。

これらは、トレーニング サンプルを含んでいる、シェープファイルまたはフィーチャクラスです。 トレーニング サンプル ファイルには、次のフィールド名が必要です。

  • classname— クラス カテゴリ名を示すテキスト フィールド
  • classvalue— 各クラス カテゴリの整数値を含む long integer フィールド

Feature Layer
出力分類器定義ファイル

分類器に関する属性情報、統計情報、その他の情報を含んでいる JSON 形式の *.ecd ファイルです。

File
追加入力ラスター
(オプション)

マルチスペクトル画像や DEM などの補助ラスター データセットを取り入れて、分類の属性やその他の必要な情報を生成できます。 このパラメーターはオプションです。

Raster Layer; Mosaic Layer; Image Service; String
K 最近隣内挿
(オプション)

各入力ピクセルまたはセグメントの検索に使用する近傍の数。 近傍の数を増やすと、分類の結果における各近傍の影響力が弱まります。 デフォルト値は 1 です。

Long
クラスあたりの最大サンプル数
(オプション)

各クラスに使用されるトレーニング サンプルの最大数。 入力がセグメント ラスターでない場合は、デフォルトの値 1000 を推奨します。 0 以下の値は、システムが分類器をトレーニングするためにトレーニング サイトのすべてのサンプルを使用することを意味します。

Long
セグメント属性
(オプション)

出力ラスターに関連付けられた属性テーブルに含める属性を指定します。

このパラメーターは、入力ラスターで [セグメント化] キー プロパティを true に設定した場合にのみ有効になります。 このツールへの入力が、セグメント画像のみである場合、デフォルトの属性は、[平均色度][ピクセル数][コンパクト性]、および [矩形性] になります。 セグメント画像とともに [追加入力ラスター] の値が入力として含まれている場合、[平均デジタル ナンバー][標準偏差] 属性も使用できます。

  • 収束色RGB カラー値は、入力ラスターからセグメント単位で取得されます。
  • 平均デジタル ナンバーセグメント単位でオプションのピクセル画像から得られる平均デジタル ナンバー (DN)。
  • 標準偏差セグメント単位でオプションのピクセル画像から得られる標準偏差。
  • ピクセル数セグメント単位で、セグメントを構成するピクセル数。
  • コンパクト性セグメント単位で、セグメントがコンパクトまたは円形である程度。 値の範囲は 0 から 1 で、1 は円形です。
  • 矩形性セグメント単位で、セグメントが矩形である程度。 値の範囲は 0 から 1 で、1 は矩形です。
String
ディメンション値フィールド
(オプション)

入力トレーニング サンプル フィーチャクラスのディメンション値が含まれます。

このパラメーターは、[CCDC を使用した変化の解析 (Analyze Changes Using CCDC)] ツールから出力された変化解析ラスターを使用して時系列のラスター データを分類する際に必要となります。

Field

TrainKNearestNeighborClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {kNN}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
名前説明データ タイプ
in_raster

分類対象のラスター データセット。

分類するシングル バンド ラスター、セグメント ラスター、マルチバンド ラスター、または多次元ラスター。

Mosaic Layer; Raster Layer; Image Service; String
in_training_features

トレーニング サイトを表すトレーニング サンプル ファイルまたはレイヤー。

これらは、トレーニング サンプルを含んでいる、シェープファイルまたはフィーチャクラスです。 トレーニング サンプル ファイルには、次のフィールド名が必要です。

  • classname— クラス カテゴリ名を示すテキスト フィールド
  • classvalue— 各クラス カテゴリの整数値を含む long integer フィールド

Feature Layer
out_classifier_definition

分類器に関する属性情報、統計情報、その他の情報を含んでいる JSON 形式の *.ecd ファイルです。

File
in_additional_raster
(オプション)

マルチスペクトル画像や DEM などの補助ラスター データセットを取り入れて、分類の属性やその他の必要な情報を生成できます。 このパラメーターはオプションです。

Raster Layer; Mosaic Layer; Image Service; String
kNN
(オプション)

各入力ピクセルまたはセグメントの検索に使用する近傍の数。 近傍の数を増やすと、分類の結果における各近傍の影響力が弱まります。 デフォルト値は 1 です。

Long
max_samples_per_class
(オプション)

各クラスに使用されるトレーニング サンプルの最大数。 入力がセグメント ラスターでない場合は、デフォルトの値 1000 を推奨します。 0 以下の値は、システムが分類器をトレーニングするためにトレーニング サイトのすべてのサンプルを使用することを意味します。

Long
used_attributes
[used_attributes;used_attributes,...]
(オプション)

出力ラスターに関連付けられた属性テーブルに含める属性を指定します。

  • COLORRGB カラー値は、入力ラスターからセグメント単位で取得されます。
  • MEANセグメント単位でオプションのピクセル画像から得られる平均デジタル ナンバー (DN)。
  • STDセグメント単位でオプションのピクセル画像から得られる標準偏差。
  • COUNTセグメント単位で、セグメントを構成するピクセル数。
  • COMPACTNESSセグメント単位で、セグメントがコンパクトまたは円形である程度。 値の範囲は 0 から 1 で、1 は円形です。
  • RECTANGULARITYセグメント単位で、セグメントが矩形である程度。 値の範囲は 0 から 1 で、1 は矩形です。

このパラメーターは、入力ラスターで [セグメント化] キー プロパティを true に設定した場合にのみ有効になります。 このツールへの入力が、セグメント画像のみである場合、デフォルトの属性は COLORCOUNTCOMPACTNESS、および RECTANGULARITY になります。 セグメント画像とともに in_additional_raster 値が入力として含まれている場合、MEAN および STD 属性も使用できます。

String
dimension_value_field
(オプション)

入力トレーニング サンプル フィーチャクラスのディメンション値が含まれます。

このパラメーターは、[CCDC を使用した変化の解析 (Analyze Changes Using CCDC)] ツールから出力された変化解析ラスターを使用して時系列のラスター データを分類する際に必要となります。

Field

コードのサンプル

TrainKNearestNeighborClassifier (K 最近隣内挿法による分類器定義ファイルの作成) の例 1 (Python ウィンドウ)

以下は、TrainKNearestNeighborClassifier 関数を実行する Python サンプルです。

# Import system modules 
import arcpy 
from arcpy.ia import * 
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
# Execute  
arcpy.ia.TrainKNearestNeighborClassifier("landsat.tif", "training_sample.shp", r"c:\data\trained_knn.ecd", 5, "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainKNearestNeighborClassifier (K 最近隣内挿法による分類器定義ファイルの作成) の例 2 (スタンドアロン スクリプト)

以下は、TrainKNearestNeighborClassifier 関数を実行する Python スクリプト サンプルです。

# Import system modules 
import arcpy 
from arcpy.ia import * 
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
# Define input parameters 
in_raster = r"C:/Data/ landsat.tif" 
in_training_features = r"C:/Data/training_sample.shp" 
out_classifier_definition = r"C:/Data/trained_knn.ecd" 
number_of_neighbors = 5
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
     
# Execute  - train K-Nearest Neighbor Classifier
arcpy.ia.TrainKNearestNeighborClassifier(in_raster, in_training_features, out_classifier_definition,  
           number_of_neighbors, attributes)

ライセンス情報

  • Basic: 次のものが必要 Image Analyst または Spatial Analyst
  • Standard: 次のものが必要 Image Analyst または Spatial Analyst
  • Advanced: 次のものが必要 Image Analyst または Spatial Analyst

関連トピック