ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

导出训练数据进行深度学习

需要 Spatial Analyst 许可。

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

使用遥感影像将标注的矢量或栅格数据转换为深度学习训练数据集。输出为影像芯片文件夹和指定格式的元数据文件文件夹。

使用方法

  • 该工具将创建训练数据集以支持第三方深度学习应用程序,如 Google TensorFlow、PyTorch 或 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}, {class_value_field}, {buffer_radius})
参数说明数据类型
in_raster

输入源影像,通常是多光谱影像。

输入源影像类型的示例包括多光谱卫星影像、无人机影像、航空影像或国家农业影像计划 (NAIP)。

Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer
out_folder

将存储输出影像片和元数据的文件夹。

Folder
in_class_data

矢量或栅格形式的训练样本数据。

矢量输入应当遵循 ArcGIS Desktop 影像分类工具栏生成的训练样本格式。栅格输入应当遵循分类栅格工具生成的分类栅格格式。

Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service
image_chip_format

指定影像片输出的栅格格式。

PNG 和 JPEG 最多支持 3 个波段。

  • TIFF —TIFF 格式
  • PNG —PNG 格式
  • JPEG —JPEG 格式
  • MRF —MRF(元栅格格式)
String
tile_size_x
(可选)

影像片的大小,针对 X 维度。

Long
tile_size_y
(可选)

影像片的大小,针对 Y 维度。

Long
stride_x
(可选)

在创建下一个影像片时 X 方向上移动的距离。

当步幅等于切片大小时,将不会发生重叠。当步幅等于切片大小的一半时,将有 50% 的重叠。

Long
stride_y
(可选)

在创建下一个影像片时 Y 方向上移动的距离。

当步幅等于切片大小时,将不会发生重叠。当步幅等于切片大小的一半时,将有 50% 的重叠。

Long
output_nofeature_tiles
(可选)

指定是否将导出不捕获训练样本的影像片。

  • ALL_TILES —将导出所有影像片,包括不捕获训练样本的影像片。
  • ONLY_TILES_WITH_FEATURES —仅会导出捕获训练样本的影像片。这是默认设置。
Boolean
metadata_format
(可选)

指定输出元数据标注的格式。

针对训练数据的输出元数据标注,系统提供 4 个选项:KITTI 矩形、PASCAL VOC 矩形、分类切片(类地图)和 RCNN 掩膜。如果输入训练样本数据是诸如建筑物图层等的要素类图层或者标准分类训练样本文件,请使用 KITTI 或 PASCAL VOC 矩形选项。输出元数据是包含训练样本数据的 .txt 文件或 .xml 文件,其中训练样本包含在最小外接矩形中。元数据文件的名称与输入源影像名称相匹配。如果输入训练样本数据是类地图,请使用“分类切片”作为输出元数据格式选项。

  • KITTI_rectangles —元数据遵循与卡尔斯鲁厄理工学院和丰田工业大学 (KITTI) 对象检测评估数据集相同的格式。KITTI 数据集是一款视觉基准套件。这是默认设置。标注文件是纯文本文件。所有的值(数值和字符串)均由空格分隔开,每行对应一个对象。
  • PASCAL_VOC_rectangles —元数据遵循与模式分析、统计建模和计算学习、可视化对象类 (PASCAL_VOC) 数据集相同的格式。PASCAL VOC 数据集是用于对象类识别的标准化影像数据集。标注文件是 XML 文件,包含有关影像名称、类值和边界框的信息。
  • Classified_Tiles —每有一个输入影像片,就将输出一个分类影像片。对于每个影像片,未使用其他元数据。只有统计数据输出具有更多关于类的信息,如类名称、类值和输出统计数据。
  • RCNN_Masks —输出将为在样本所在的区域上具有掩膜的影像片。该模型将为影像中对象的每个实例生成边界框和分割掩膜。这要基于特征金字塔网络 (FPN) 和深度学习框架模型中的 ResNet101 核心支柱。

对于 KITTI 元数据格式,将创建 15 个列,但此工具中仅使用其中 5 个列。第一个列是类值。然后,跳过之后 3 个列。5-8 列用于定义最小外接矩形,该矩形将分别由以下 4 个影像坐标位置构成:左、上、右和下像素。最小外接矩形包含用于深度学习分类器中的训练片。系统将不会使用其他列。

有关详细信息,请参阅 KITTI 元数据格式 KITTI 元数据。

以下为 PASCAL VOC 选项示例:

<?xml version=”1.0”?>
- <layout>
      <image>000000000</image>
      <object>1</object>
    - <part>
         <class>1</class>
       - <bndbox>
            <xmin>31.85</xmin>
            <ymin>101.52</ymin>
            <xmax>256.00</xmax>
            <ymax>256.00</ymax>
         </bndbox>
      </part>
  </layout>

有关详细信息,请参阅 PASCAL 可视化对象类PASCAL 可视化对象类。

String
start_index
(可选)

影像片序列的起始索引。由此可将更多影像片添加到现有序列。默认值为 0。

Long
class_value_field
(可选)

包含类值的字段。如果未指定任何字段,则系统将搜索 value 或 classvalue 字段。如果该要素不包含类字段,则系统将确定所有记录均属于一个类。

Field
buffer_radius
(可选)

用于描绘训练样本区域的,围绕每个训练样本的缓冲区的半径。您可以借此从点创建圆形面训练样本。

系统将使用in_class_data空间参考的线性单位。

Double

代码示例

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)

环境

  • 像元大小
  • 当前工作空间
  • 范围
  • 临时工作空间

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题

  • 影像分割和分类工具集概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明