需要 Spatial Analyst 许可。
摘要
使用遥感影像将标注的矢量或栅格数据转换为深度学习训练数据集。输出为影像芯片文件夹和指定格式的元数据文件文件夹。
用法
该工具将创建训练数据集以支持第三方深度学习应用程序,如 Google TensorFlow 或 Microsoft CNTK。
使用现有的分类训练样本数据或 GIS 要素类数据(如建筑物覆盖区图层)生成包含来自源影像的类样本的影像芯片。影像芯片通常有 256 个像素行和 256 个像素列,除非训练样本大小更大。
深度学习类训练样本基于包含感兴趣的要素或类的小型子影像,该子影像被称为影像芯片。
语法
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})
参数 | 说明 | 数据类型 | |||||||||||||||||||||||||||
in_raster | 输入源影像,通常是多光谱影像。 输入源影像类型的示例包括多光谱卫星影像、无人机影像、航空影像或国家农业影像计划 (NAIP) 影像。 | Raster Dataset; Raster Layer | |||||||||||||||||||||||||||
out_folder | 指定存储输出影像芯片和元数据的文件夹。 | Directory | |||||||||||||||||||||||||||
in_class_data | 矢量或栅格形式的标注数据。 矢量输入应当遵循 ArcGIS Desktop 影像分类工具栏生成的训练样本格式。 栅格输入应当遵循分类栅格工具生成的分类栅格格式。 | Feature Dataset; Feature Layer; Raster Dataset; Raster Layer | |||||||||||||||||||||||||||
image_chip_format | 影像芯片输出的栅格格式。
| 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 (可选) | 输出元数据标注的格式。针对训练数据的输出元数据标注,系统提供 3 个选项:KITTI 矩形、PASCAL VOC 矩形和分类切片(类地图)。如果输入训练样本数据是诸如建筑物图层等的要素类图层或者标准分类训练样本文件,请使用 KITTI 或 PASCAL VOC 矩形选项。输出元数据是包含训练样本数据的 .txt 文件或 .xml 文件,其中训练样本包含在最小外接矩形中。元数据文件的名称与输入源影像名称相匹配。如果输入训练样本数据是类地图,请使用分类切片作为输出元数据格式选项。
下表介绍了 KITTI 元数据格式中的 15 个值。此工具中仅使用可能存在的 15 个值中的 5 个:类名称(1 列)以及由四个影像坐标位置(5-8 列)构成的最小外接矩形。最小外接矩形包含用于深度学习分类器中的训练芯片。
有关详细信息,请参阅 KITTI 元数据格式 。 以下是 PASCAL VOC 的示例。
有关详细信息,请参阅 PASCAL 可视化对象类。 | String | |||||||||||||||||||||||||||
start_index (可选) | 允许设置影像芯片序列的起始索引。由此可将更多影像芯片添加到现有序列。默认值为 0。 | Long |
代码示例
ExportTrainingDataForDeepLearning 示例 1(Python 窗口)
本示例将针对深度学习创建训练样本。
from arcpy.sa import *
ExportTrainingDataForDeepLearning("c:/test/image.tif", "c:/test/outfolder",
"c:/test/training.shp", "TIFF", "256",
"256", "128", "128", "NO", "KITTI_rectangles")
ExportTrainingDataForDeepLearning 示例 2(独立脚本)
本示例将针对深度学习创建训练样本。
# Import system modules and check out ArcGIS Spatial Analyst extension license
import arcpy
arcpy.CheckOutExtension("Spatial")
from arcpy.sa import *
# Set local variables
inRaster = "c:/test/image.tif"
out_folder = "c:/test/outfolder"
in_training = "c:/test/training.shp"
image_chip_format = "TIFF"
tile_size_x = "256"
tile_size_y = "256"
stride_x="128"
stride_y="128"
output_nofeature_tiles="NO"
metadata_format="KITTI_rectangles"
# 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)
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst