ラベル | 説明 | データ タイプ |
入力ラスター | 入力ソース画像。通常は、マルチスペクトル画像です。 入力ソース画像のタイプの例としては、マルチスペクトル衛星、ドローン、航空、および NAIP (National Agriculture Imagery Program) などが挙げられます。 入力には、画像のフォルダーを使用できます。 | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
出力フォルダー | 出力画像チップとメタデータを格納するフォルダーです。 このフォルダーは、クラウド ストレージ接続ファイル (*.acs) を使用するフォルダー URL にすることもできます。 | Folder |
入力フィーチャクラスまたは分類ラスターまたはテーブル | ベクターまたはラスター形式のトレーニング サンプル データ。 ベクター入力は、[トレーニング サンプル マネージャー] ウィンドウを使って生成されるトレーニング サンプル形式に従う必要があります。 ラスター入力は、[ラスターの分類 (Classify Raster)] ツールで生成された分類ラスター形式に従う必要があります。 ラスター入力は、分類ラスターのフォルダーから取得することもできます。 入力分類ラスターには対応するラスター属性テーブルが必要です。 入力テーブルは、[トレーニング サンプル マネージャー] ウィンドウの [ディープ ラーニングに使用するラベル オブジェクト] ボタンによって生成されるトレーニング サンプル形式に従う必要があります。 正しいトレーニング サンプル形式に従うと、統計情報を含む最適な結果が生成されますが、クラス値フィールドなしでポイント フィーチャクラスを入力するか、クラス情報なしで整数ラスターを入力することもできます。 | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Table; Folder |
イメージ形式 | 画像チップ出力に使用されるラスター形式を指定します。 PNG 形式および JPEG 形式は、3 バンドまでサポートします。
| String |
タイル サイズ X (オプション) | 画像チップのサイズ (x ディメンション)。 | Long |
タイル サイズ Y (オプション) | 画像チップのサイズ (y ディメンション)。 | Long |
ストライド X (オプション) | 次の画像チップを作成する際に x 方向に移動する距離。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。 | Long |
ストライド Y (オプション) | 次の画像チップを作成する際に y 方向に移動する距離。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。 | Long |
出力 NoFeature タイル (オプション) | トレーニング サンプルをキャプチャしない画像チップをエクスポートするかどうかを指定します。
オンの場合はラベル付きデータをキャプチャしない画像チップもエクスポートされますが、オフの場合はエクスポートされません。 | Boolean |
メタデータ形式 (オプション) | 出力メタデータ ラベルに使用する形式を指定します。 入力トレーニング サンプル データがビルディング レイヤーなどのフィーチャクラス レイヤーまたは標準分類トレーニング サンプル ファイルの場合、[KITTI ラベル] または [PASCAL Visual Object Classes] オプションを使用します (Python では KITTI_rectangles か PASCAL_VOC_rectangles)。 出力メタデータは、最小境界範囲内のトレーニング サンプル データを含む .txt ファイルまたは .xml ファイルです。 メタデータ ファイルの名前は、入力ソース画像名と一致します。 入力トレーニング サンプル データがクラス マップの場合、出力メタデータ形式として [分類タイル] オプション (Python の Classified_Tiles) を使用します。 KITTI メタデータ形式では 15 個の列が作成されますが、そのうちツールで使用されるのは 5 つのみです。 最初の列はクラス値です。 次の 3 つの列はスキップされます。 5 ~ 8 番目の列は、4 つの画像座標位置 (上下左右のピクセル) で構成される最小境界範囲を定義します。 最小境界範囲には、ディープ ラーニング分類器に使用されるトレーニング チップが含まれます。 残りの列は使用されません。
| String |
開始インデックス (オプション) | レガシー:このパラメーターは非推奨になりました。 | Long |
クラス値フィールド (オプション) | クラス値を含むフィールド。 フィールドが指定されていない場合、value フィールドまたは classvalue フィールドを検索します。 このフィールドは数値 (通常は整数) でなければなりません。 フィーチャにクラス フィールドが含まれていない場合、すべてのレコードが 1 つのクラスに属していると判断します。 | Field |
バッファー半径 (オプション) | トレーニング サンプル領域の描画に使用される各トレーニング サンプルの周囲のバッファーの半径。 これを使用して、ポイントから円形ポリゴンのトレーニング サンプルを作成できます。 [入力フィーチャクラスまたは分類ラスターまたはテーブル] パラメーター値の空間参照の距離単位が使用されます。 | Double |
入力マスク ポリゴン (オプション) | 画像チップが作成される領域を描画するポリゴン フィーチャクラス。 このポリゴンに完全に含まれる画像チップのみが作成されます。 | Feature Layer |
回転角度 (オプション) | 画像チップを生成するために使用される回転角度。 画像チップは最初に 0 の回転角度で生成されます。 その後、画像チップは、追加の画像チップを作成するために、指定した角度で回転されます。 画像は、360 度回転するまで回転され、チップが作成されます。 たとえば、45 度の回転角度を指定すると、ツールは 8 個の画像チップを作成します。 8 個の画像チップは、0、45、90、135、180、225、270、315 度で作成されます。 デフォルトの回転角度は 0 で、デフォルトの画像チップが 1 つ作成されます。 | Double |
参照系 (オプション) | 入力画像を解釈するために使用される参照系のタイプを指定します。 指定する参照系は、ディープ ラーニング モデルをトレーニングするために使用する参照系と一致する必要があります。
| String |
処理モード (オプション) | モザイク データセットまたはイメージ サービス内のすべてのラスター アイテムを処理する方法を指定します。 入力ラスターがモザイク データセットまたはイメージ サービスである場合、このパラメーターが適用されます。
| String |
フィーチャの周囲を黒く表示 (オプション) | それぞれの画像ファイル内で各オブジェクトまたはフィーチャの周囲のピクセルをマスクするかどうかを指定します。 このパラメーターは、[メタデータ形式] パラメーターが [ラベル付きタイル] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。
| Boolean |
トリミング モード (オプション) | エクスポートされたタイルが、すべて同じサイズになるようにトリミングされるかどうかを指定します。 このパラメーターは、[メタデータ形式] パラメーターが [ラベル付きタイル] または [ImageNet] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。
| String |
追加入力ラスター (オプション) | 画像変換手法に使用される追加の入力画像ソース。 [メタデータ形式] パラメーターが [分類済みタイル]、[タイルのエクスポート]、または [CycleGAN] に設定されている場合にこのパラメーターが有効です。 | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
インスタンス フィーチャクラス (オプション) | 収集された、インスタンス セグメンテーションのクラスが含まれるトレーニング サンプル データ。 クラス値フィールドなしでポイント フィーチャクラスを入力するか、クラス情報なしで整数ラスターを入力することもできます。 このパラメーターは、[メタデータ形式] パラメーターが [パノプティック セグメンテーション] に設定されている場合にのみ有効です。 | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Table; Folder |
インスタンス クラス値フィールド (オプション) | インスタンス セグメンテーションのクラス値を含むフィールド。 フィールドが指定されていない場合、ツールは値またはクラス値フィールドが存在していれば、それを使用します。 フィーチャにクラス フィールドが含まれていない場合、ツールはすべてのレコードが 1 つのクラスに属していると判断します。 このパラメーターは、[メタデータ形式] パラメーターが [パノプティック セグメンテーション] に設定されている場合にのみ有効です。 | Field |
最小ポリゴン オーバーラップ率 (オプション) | トレーニング データに含めるフィーチャの最小オーバーラップ率。 指定された値よりもオーバーラップ率が小さい場合、フィーチャはトレーニング チップから除外され、ラベル ファイルには追加されません。 この割合値は、小数で表現されます。 たとえば、オーバーラップを 20% に指定する場合、値として 0.2 を使用します。 デフォルト値は 0 で、すべてのフィーチャが含まれることを意味します。 このパラメーターは、ツールのパフォーマンスを高めるだけでなく、推論も改善します。 作成されるトレーニング チップが少なくなるため、速度が向上します。 モデルがオブジェクトの大きな部分のみを検出し、フィーチャの小さな隅は無視するようにトレーニングされるため、推論が向上します。 これにより、検出されるフォールス ポジティブが少なくなり、[Non Maximum Suppression] ツールで削除されるフォールス ポジティブも少なくなります。 [入力フィーチャクラス、分類ラスター、またはテーブル パラメーター] パラメータ値がフィーチャクラスの場合、このパラメーターは有効になります。 | Double |
Spatial Analyst のライセンスで利用可能。
Image Analyst ライセンスで利用できます。
サマリー
リモート センシング画像を使用して、ラベルが付いたベクターまたはラスター データをディープ ラーニング トレーニング データセットに変換します。 出力は画像チップのフォルダー、および指定した形式のメタデータ ファイルのフォルダーです。
使用法
このツールは、Google TensorFlow、Keras、PyTorch、Microsoft CNTK などのサード パーティ製ディープ ラーニング アプリケーションをサポートするトレーニング データセットを作成します。
ディープ ラーニング クラス トレーニング サンプルは、画像チップと呼ばれる対象のフィーチャまたはクラスを含む小さなサブイメージに基づきます。
既存の分類トレーニング サンプル データや、建物フットプリント レイヤーなどの GIS フィーチャクラス データを使用して、ソース画像からのクラス サンプルを含む画像チップを生成します。 多くの場合、画像チップは 256 ピクセル (行) x 256 ピクセル (列) です (トレーニング サンプルのサイズがこれより大きくない場合)。 画像チップごとにオブジェクトを 1 つ以上含めることができます。 [ラベル付きタイル] パラメーター メタデータ形式を使用する場合は、画像チップごとに 1 つのオブジェクトしか含めることができません。
[参照系] パラメーター値を指定すると、トレーニング データをマップ空間またはピクセル空間 (未加工の画像空間) にエクスポートして、ディープ ラーニング モデル トレーニングに使用することができます。
このツールは、画像のコレクションからのトレーニング データのエクスポートに対応しています。 画像フォルダーを [入力ラスター] の値として追加できます。 [入力ラスター] の値がモザイク データセットまたはイメージ サービスの場合は、[処理モード] パラメーターで、モザイクを 1 つの入力データとして処理するか、各ラスター アイテムとして別々に処理するかを指定することもできます。
セルのサイズおよび範囲は、ジオプロセシング環境設定を使用して調整できます。
このツールは、並列処理ファクター環境設定を優先します。 デフォルトでは、並列処理ファクターは有効になっていないため、ツールはシングル コアで実行されます。 大規模なデータセットを使用する場合は、作業負荷を分散させるためにツールが使用できるコア数を指定して、並列処理ファクターを有効にします。
このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくあるご質問 (FAQ)」をご参照ください。
パラメーター
ExportTrainingDataForDeepLearning(in_raster, out_folder, in_class_data, image_chip_format, {tile_size_x}, {tile_size_y}, {stride_x}, {stride_y}, {output_nofeature_tiles}, {metadata_format}, {start_index}, {class_value_field}, {buffer_radius}, {in_mask_polygons}, {rotation_angle}, {reference_system}, {processing_mode}, {blacken_around_feature}, {crop_mode}, {in_raster2}, {in_instance_data}, {instance_class_value_field}, {min_polygon_overlap_ratio})
名前 | 説明 | データ タイプ |
in_raster | 入力ソース画像。通常は、マルチスペクトル画像です。 入力ソース画像のタイプの例としては、マルチスペクトル衛星、ドローン、航空、および NAIP (National Agriculture Imagery Program) などが挙げられます。 入力には、画像のフォルダーを使用できます。 | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
out_folder | 出力画像チップとメタデータを格納するフォルダーです。 このフォルダーは、クラウド ストレージ接続ファイル (*.acs) を使用するフォルダー URL にすることもできます。 | Folder |
in_class_data | ベクターまたはラスター形式のトレーニング サンプル データ。 ベクター入力は、[トレーニング サンプル マネージャー] ウィンドウを使って生成されるトレーニング サンプル形式に従う必要があります。 ラスター入力は、[ラスターの分類 (Classify Raster)] ツールで生成された分類ラスター形式に従う必要があります。 ラスター入力は、分類ラスターのフォルダーから取得することもできます。 入力分類ラスターには対応するラスター属性テーブルが必要です。 入力テーブルは、[トレーニング サンプル マネージャー] ウィンドウの [ディープ ラーニングに使用するラベル オブジェクト] ボタンによって生成されるトレーニング サンプル形式に従う必要があります。 正しいトレーニング サンプル形式に従うと、統計情報を含む最適な結果が生成されますが、クラス値フィールドなしでポイント フィーチャクラスを入力するか、クラス情報なしで整数ラスターを入力することもできます。 | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Table; Folder |
image_chip_format | 画像チップ出力に使用されるラスター形式を指定します。 PNG 形式および JPEG 形式は、3 バンドまでサポートします。
| String |
tile_size_x (オプション) | 画像チップのサイズ (x ディメンション)。 | Long |
tile_size_y (オプション) | 画像チップのサイズ (y ディメンション)。 | Long |
stride_x (オプション) | 次の画像チップを作成する際に x 方向に移動する距離。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。 | Long |
stride_y (オプション) | 次の画像チップを作成する際に y 方向に移動する距離。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。 | Long |
output_nofeature_tiles (オプション) | トレーニング サンプルをキャプチャしない画像チップをエクスポートするかどうかを指定します。
| Boolean |
metadata_format (オプション) | 出力メタデータ ラベルに使用する形式を指定します。 入力トレーニング サンプル データがビルディング レイヤーなどのフィーチャクラス レイヤーまたは標準分類トレーニング サンプル ファイルの場合、[KITTI ラベル] または [PASCAL Visual Object Classes] オプションを使用します (Python では KITTI_rectangles か PASCAL_VOC_rectangles)。 出力メタデータは、最小境界範囲内のトレーニング サンプル データを含む .txt ファイルまたは .xml ファイルです。 メタデータ ファイルの名前は、入力ソース画像名と一致します。 入力トレーニング サンプル データがクラス マップの場合、出力メタデータ形式として [分類タイル] オプション (Python の Classified_Tiles) を使用します。
KITTI メタデータ形式では 15 個の列が作成されますが、そのうちツールで使用されるのは 5 つのみです。 最初の列はクラス値です。 次の 3 つの列はスキップされます。 5 ~ 8 番目の列は、4 つの画像座標位置 (上下左右のピクセル) で構成される最小境界範囲を定義します。 最小境界範囲には、ディープ ラーニング分類器に使用されるトレーニング チップが含まれます。 残りの列は使用されません。 次に、PASCAL_VOC_rectangles オプションの例を示します。 詳細については、「Microsoft PASCAL Visual Object Classes (VOC) Challenge」をご参照ください。 | String |
start_index (オプション) | レガシー:このパラメーターは非推奨になりました。 値には 0 または # (Python の場合) を使用します。 | Long |
class_value_field (オプション) | クラス値を含むフィールド。 フィールドが指定されていない場合、value フィールドまたは classvalue フィールドを検索します。 このフィールドは数値 (通常は整数) でなければなりません。 フィーチャにクラス フィールドが含まれていない場合、すべてのレコードが 1 つのクラスに属していると判断します。 | Field |
buffer_radius (オプション) | トレーニング サンプル領域の描画に使用される各トレーニング サンプルの周囲のバッファーの半径。 これを使用して、ポイントから円形ポリゴンのトレーニング サンプルを作成できます。 in_class_data パラメーター値の空間参照の距離単位が使用されます。 | Double |
in_mask_polygons (オプション) | 画像チップが作成される領域を描画するポリゴン フィーチャクラス。 このポリゴンに完全に含まれる画像チップのみが作成されます。 | Feature Layer |
rotation_angle (オプション) | 画像チップを生成するために使用される回転角度。 画像チップは最初に 0 の回転角度で生成されます。 その後、画像チップは、追加の画像チップを作成するために、指定した角度で回転されます。 画像は、360 度回転するまで回転され、チップが作成されます。 たとえば、45 度の回転角度を指定すると、ツールは 8 個の画像チップを作成します。 8 個の画像チップは、0、45、90、135、180、225、270、315 度で作成されます。 デフォルトの回転角度は 0 で、デフォルトの画像チップが 1 つ作成されます。 | Double |
reference_system (オプション) | 入力画像を解釈するために使用される参照系のタイプを指定します。 指定する参照系は、ディープ ラーニング モデルをトレーニングするために使用する参照系と一致する必要があります。
| String |
processing_mode (オプション) | モザイク データセットまたはイメージ サービス内のすべてのラスター アイテムを処理する方法を指定します。 入力ラスターがモザイク データセットまたはイメージ サービスである場合、このパラメーターが適用されます。
| String |
blacken_around_feature (オプション) | それぞれの画像ファイル内で各オブジェクトまたはフィーチャの周囲のピクセルをマスクするかどうかを指定します。 このパラメーターは、[metadata_format] パラメーターが [Labeled_Tiles] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。
| Boolean |
crop_mode (オプション) | エクスポートされたタイルが、すべて同じサイズになるようにトリミングされるかどうかを指定します。 このパラメーターは、[metadata_format] パラメーターが [Labeled_Tiles] または [Imagenet] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。
| String |
in_raster2 (オプション) | 画像変換手法に使用される追加の入力画像ソース。 metadata_format パラメーターが Classified_Tiles、Export_Tiles、または CycleGAN に設定されている場合にこのパラメーターが有効です。 | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
in_instance_data (オプション) | 収集された、インスタンス セグメンテーションのクラスが含まれるトレーニング サンプル データ。 クラス値フィールドなしでポイント フィーチャクラスを入力するか、クラス情報なしで整数ラスターを入力することもできます。 このパラメーターは、metadata_format パラメーターが Panoptic_Segmentation に設定されている場合にのみ有効です。 | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Table; Folder |
instance_class_value_field (オプション) | インスタンス セグメンテーションのクラス値を含むフィールド。 フィールドが指定されていない場合、ツールは値またはクラス値フィールドが存在していれば、それを使用します。 フィーチャにクラス フィールドが含まれていない場合、ツールはすべてのレコードが 1 つのクラスに属していると判断します。 このパラメーターは、metadata_format パラメーターが Panoptic_Segmentation に設定されている場合にのみ有効です。 | Field |
min_polygon_overlap_ratio (オプション) | トレーニング データに含めるフィーチャの最小オーバーラップ率。 指定された値よりもオーバーラップ率が小さい場合、フィーチャはトレーニング チップから除外され、ラベル ファイルには追加されません。 この割合値は、小数で表現されます。 たとえば、オーバーラップを 20% に指定する場合、値として 0.2 を使用します。 デフォルト値は 0 で、すべてのフィーチャが含まれることを意味します。 このパラメーターは、ツールのパフォーマンスを高めるだけでなく、推論も改善します。 作成されるトレーニング チップが少なくなるため、速度が向上します。 モデルがオブジェクトの大きな部分のみを検出し、フィーチャの小さな隅は無視するようにトレーニングされるため、推論が向上します。 これにより、検出されるフォールス ポジティブが少なくなり、[Non Maximum Suppression] ツールで削除されるフォールス ポジティブも少なくなります。 in_class_data パラメーター値がフィーチャクラスの場合、このパラメーターは有効になります。 | Double |
コードのサンプル
この例では、ディープ ラーニングのトレーニング サンプルを作成します。
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("spatialAnalyst")
ExportTrainingDataForDeepLearning("c:/test/image.tif", "c:/test/outfolder",
"c:/test/training.shp", "TIFF", "256", "256", "128", "128",
"ONLY_TILES_WITH_FEATURES", "Labeled_Tiles", 0, "Classvalue", 0,
None, 0, "MAP_SPACE", "PROCESS_AS_MOSAICKED_IMAGE", "NO_BLACKEN",
"FIXED_SIZE")
この例では、ディープ ラーニングのトレーニング サンプルを作成します。
# Import system modules and check out ArcGIS Image Analyst extension license
import arcpy
arcpy.CheckOutExtension("SpatialAnalyst")
from arcpy.sa import *
# Set local variables
inRaster = "C:/test/InputRaster.tif"
out_folder = "c:/test/OutputFolder"
in_training = "c:/test/TrainingData.shp"
image_chip_format = "TIFF"
tile_size_x = "256"
tile_size_y = "256"
stride_x="128"
stride_y="128"
output_nofeature_tiles="ONLY_TILES_WITH_FEATURES"
metadata_format="Labeled_Tiles"
start_index = 0
classvalue_field = "Classvalue"
buffer_radius = 0
in_mask_polygons = "MaskPolygon"
rotation_angle = 0
reference_system = "MAP_SPACE"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
blacken_around_feature = "NO_BLACKEN"
crop_mode = "FIXED_SIZE"
# Execute
ExportTrainingDataForDeepLearning(inRaster, out_folder, in_training,
image_chip_format,tile_size_x, tile_size_y, stride_x,
stride_y,output_nofeature_tiles, metadata_format, start_index,
classvalue_field, buffer_radius, in_mask_polygons, rotation_angle,
reference_system, processing_mode, blacken_around_feature, crop_mode)
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst または Image Analyst
- Standard: 次のものが必要 Spatial Analyst または Image Analyst
- Advanced: 次のものが必要 Spatial Analyst または Image Analyst