Spatial Analyst のライセンスで利用可能。
Image Analyst ライセンスで利用できます。
概要
リモート センシング画像を使用して、ラベルが付いたベクターまたはラスター データをディープ ラーニング トレーニング データセットに変換します。出力は画像チップのフォルダー、および指定した形式のメタデータ ファイルのフォルダーです。
使用法
このツールは、Google TensorFlow、Keras、PyTorch、Microsoft CNTK などのサード パーティ製ディープ ラーニング アプリケーションをサポートするトレーニング データセットを作成します。
ディープ ラーニング クラス トレーニング サンプルは、画像チップと呼ばれる対象のフィーチャまたはクラスを含む小さなサブイメージに基づきます。
既存の分類トレーニング サンプル データや、建物フットプリント レイヤーなどの GIS フィーチャクラス データを使用して、ソース画像からのクラス サンプルを含む画像チップを生成します。多くの場合、画像チップは 256 ピクセル (行) x 256 ピクセル (列) です (トレーニング サンプルのサイズがこれより大きくない場合)。画像チップごとにオブジェクトを 1 つ以上含めることができます。[ラベル付きタイル] メタデータ形式を使用する場合は、画像チップごとに 1 つのオブジェクトしか含めることができません。
[参照系] パラメーターを指定すると、トレーニング データをマップ空間またはピクセル空間 (未加工の画像空間) にエクスポートして、ディープ ラーニング モデル トレーニングに使用することができます。
このツールは、画像のコレクションからのトレーニング データのエクスポートに対応しています。画像フォルダーを [入力ラスター] として追加できます。[入力ラスター] がモザイク データセットまたはイメージ サービスの場合は、[処理モード] を指定して、モザイクを 1 つの入力データとして処理したり、各ラスター アイテムとして別々に処理したりすることもできます。
セルのサイズおよび範囲は、ジオプロセシング環境設定を使用して調整できます。
このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくある質問」をご参照ください。
構文
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_raster | 入力ソース画像。通常は、マルチスペクトル画像です。 入力ソース画像のタイプの例としては、マルチスペクトル衛星、ドローン、航空、または NAIP (National Agriculture Imagery Program) などが挙げられます。入力には、画像のフォルダーを使用できます。 | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; 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 |
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 VOC] の四角形、[分類タイル] (クラス マップ)、[RCNN マスク]、および [ラベル付きタイル] の 5 つのオプションがあります。入力トレーニング サンプル データがビルディング レイヤーなどのフィーチャクラス レイヤーまたは標準分類トレーニング サンプル ファイルの場合、KITTI または PASCAL VOC の四角形オプションを使用します。出力メタデータは、最小境界範囲内のトレーニング サンプル データを含む *.txt ファイルまたは *.xml ファイルです。メタデータ ファイルの名前は、入力ソース画像名と一致します。入力トレーニング サンプル データがクラス マップの場合、出力メタデータ形式として [分類タイル] オプションを使用します。
KITTI メタデータ形式では 15 個の列が作成されますが、そのうちツールで使用されるのは 5 つのみです。最初の列はクラス値です。次の 3 つの列はスキップされます。5 ~ 8 番目の列は、4 つの画像座標位置 (それぞれ、上下左右のピクセル) で構成される最小境界範囲を定義します。最小境界範囲には、ディープ ラーニング分類器に使用されるトレーニング チップが含まれます。残りの列は使用されません。 次に、PASCAL VOC オプションの例を示します。 詳細については、「PASCAL Visual Object Classes」をご参照ください。 | String |
start_index (オプション) | レガシー:このパラメーターは非推奨になりました。Python 内で値として 0 または # を使用します。 | Long |
class_value_field (オプション) | クラス値を含むフィールド。フィールドが指定されていない場合、value フィールドまたは classvalue フィールドを検索します。フィーチャにクラス フィールドが含まれていない場合、すべてのレコードが 1 つのクラスに属していると判断します。 | Field |
buffer_radius (オプション) | トレーニング サンプル領域を描画する、各トレーニング サンプルの周囲のバッファーの半径。これを使用して、ポイントから円形ポリゴンのトレーニング サンプルを作成できます。 in_class_data 空間参照の距離単位が使用されます。 | Double |
in_mask_polygons (オプション) | 画像チップが作成される領域を描画するポリゴン フィーチャクラス。 このポリゴンに完全に含まれる画像チップのみが作成されます。 | Feature Layer |
rotation_angle (オプション) | 追加の画像チップを生成するために使用される回転角度。 画像チップは、0 の回転角度 (つまり、回転しない) で生成されます。その後、画像チップは、追加の画像チップを作成するために、指定した角度で回転されます。データ拡大のために、同じトレーニング サンプルが、複数の角度の複数の画像チップでキャプチャされます。 デフォルトの回転角度は 0 です。 | Double |
reference_system (オプション) | 入力画像を解釈するために使用する参照系のタイプを指定します。指定する参照系は、ディープ ラーニング モデルをトレーニングするために使用する参照系と一致する必要があります。
| String |
processing_mode (オプション) |
モザイク データセットまたはイメージ サービス内のすべてのラスター アイテムを処理する方法を指定します。入力ラスターがモザイク データセットまたはイメージ サービスである場合、このパラメーターが適用されます。
| String |
blacken_around_feature (オプション) | それぞれの画像ファイル内で各オブジェクトまたはフィーチャの周囲のピクセルを黒く表示するかどうかを指定します。 このパラメーターは、メタデータ形式が [Labeled_Tiles] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。
| Boolean |
crop_mode (オプション) | エクスポートされたタイルがすべて同じサイズになるようにトリミングするかどうかを指定します。 このパラメーターは、メタデータ形式が [Labeled_Tiles] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。
| String |
コードのサンプル
この例では、ディープ ラーニング用のトレーニング サンプルを作成します。
# 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