标注 | 说明 | 数据类型 |
输入栅格 | 将对其执行处理的输入栅格。 如果将模式参数指定为仅后处理,则此参数需要具有二进制分类的栅格。 | Raster Layer; Raster Dataset; Mosaic Layer |
模式 | 指定将用于处理输入栅格的模式。
| String |
输出位置 | 将存储模型的中间输出和最终后处理输出的文件地理数据库。 | Workspace |
输出前缀 | 将添加到输出名称的前缀,输出将保存到输出位置。 前缀还将用作图层组的名称,该图层组将用于显示所有输出。 | String |
感兴趣区域 (可选) | 将用于提取要素的地理范围。 将仅提取感兴趣区域内的要素。 | Feature Set |
预训练模型 (可选) | 来自 ArcGIS Living Atlas of the World 的 ArcGIS 预训练模型,可用于提供的输入栅格。 此参数需要 Internet 连接,才能下载预训练模型。 | String |
其他模型 (可选) | 可在提供的输入栅格上使用的深度学习模型以及将用于其他模型文件(.dlpk 和 .emd)的后处理工作流。 可用的后处理工作流如下:
| Value Table |
置信度阈值 (可选) | 在检测对象时将使用的深度学习模型的最小置信度。 值必须位于 0 和 1 之间。 | Double |
保存中间输出 (可选) | 指定是否将中间输出保存到输出位置。 术语中间输出是指对模型进行推断后生成的结果。
| Boolean |
测试时间增加 (可选) | 指定是否将输入影像的翻转和旋转变体的预测合并到最终输出中。
| Boolean |
缓冲距离 (可选) | 将折线要素用于后处理之前,将用于缓冲折线要素的距离。 默认值为 15 米。 | Linear Unit |
延伸长度 (可选) | 将线段延伸到相交要素所需的最大距离。 默认值为 25 米。 | Linear Unit |
平滑容差 (可选) | 指数核的多项式近似 (PAEK) 算法使用的容差。 默认值为 30 米。 | Linear Unit |
悬挂长度 (可选) | 将修剪两个端点均未接触其他线的线段(悬挂线)的长度。 默认设置为 5 米。 | Linear Unit |
输入道路要素 (可选) | 将用于细化宗地的道路要素类。 输入可以为面或折线要素类。 | Feature Layer; Feature Class |
道路缓冲宽度 (可选) | 将用于输入道路要素的缓冲距离。 对于折线要素,默认值为 5 米;对于面要素,默认值为 0 米。 | Linear Unit |
规则化宗地 (可选) | 指定是否将通过消除已提取宗地几何中不需要的伪影来对其进行规范化。
| Boolean |
后处理工作流 (可选) | 指定将使用的后处理工作流。
| String |
输出要素 (可选) | 包含后处理输出的要素类。 | Feature Class |
相邻宗地之间的容差 (可选) | 在将两个坐标视为相同坐标之前它们之间的最小距离。 此参数用于减少已提取宗地之间的狭长面。 默认值为 3 米。 | Linear Unit |
规则化方法 (可选) | 指定将在后处理中使用的规则化方法。
| String |
容差 (可选) | 规则化覆盖区可从其原始要素的边界偏移的最大距离。 默认值为 1 米。 | Linear Unit |
获得 Image Analyst 许可后可用。
使用情况
此工具需要来自 ArcGIS Living Atlas of the World 的ArcGIS 预训练模型或自定义深度学习模型包(.dlpk 文件)。
您必须在 ArcGIS AllSource 中为 Python 安装适当的深度学习框架。
该工具生成输出所需的时间取决于以下因素:
- 用于推断的感兴趣区域
- 所选模型的数量
要运行此工具,需要配备 GPU 的计算机。 如果您具有多个 GPU,请指定 GPU ID。
该工具的潜在用例包括使用多个模型创建底图,以及使用算法对模型输出进行后处理,以清理提取的要素。
有关运行此工具的要求以及您可能遇到的问题的信息,请参阅深度学习常见问题。
参数
arcpy.geoai.ExtractFeaturesUsingAIModels(in_raster, mode, out_location, out_prefix, {area_of_interest}, {pretrained_models}, {additional_models}, {confidence_threshold}, {save_intermediate_output}, {test_time_augmentation}, {buffer_distance}, {extend_length}, {smoothing_tolerance}, {dangle_length}, {in_road_features}, {road_buffer_width}, {regularize_parcels}, {post_processing_workflow}, {out_features}, {parcel_tolerance}, {regularization_method}, {poly_tolerance})
名称 | 说明 | 数据类型 |
in_raster | 将对其执行处理的输入栅格。 如果将 mode 参数指定为 Only Postprocess,则此参数需要具有二进制分类的栅格。 | Raster Layer; Raster Dataset; Mosaic Layer |
mode | 指定将用于处理输入栅格的模式。
| String |
out_location | 将存储模型的中间输出和最终后处理输出的文件地理数据库。 | Workspace |
out_prefix | 将添加到输出名称的前缀,输出将保存到输出位置。 前缀还将用作图层组的名称,该图层组将用于显示所有输出。 | String |
area_of_interest (可选) | 将用于提取要素的地理范围。 将仅提取感兴趣区域内的要素。 | Feature Set |
pretrained_models [pretrained_models,...] (可选) | 来自 ArcGIS Living Atlas of the World 的 ArcGIS 预训练模型,可用于提供的输入栅格。 此参数需要 Internet 连接,才能下载预训练模型。 | String |
additional_models [additional_models,...] (可选) | 可在提供的输入栅格上使用的深度学习模型以及将用于其他模型文件(.dlpk 和 .emd)的后处理工作流。 可用的后处理工作流如下:
| Value Table |
confidence_threshold (可选) | 在检测对象时将使用的深度学习模型的最小置信度。 值必须位于 0 和 1 之间。 | Double |
save_intermediate_output (可选) | 指定是否将中间输出保存到输出位置。 术语中间输出是指对模型进行推断后生成的结果。
| Boolean |
test_time_augmentation (可选) | 指定是否将输入影像的翻转和旋转变体的预测合并到最终输出中。
| Boolean |
buffer_distance (可选) | 将折线要素用于后处理之前,将用于缓冲折线要素的距离。 默认值为 15 米。 | Linear Unit |
extend_length (可选) | 将线段延伸到相交要素所需的最大距离。 默认值为 25 米。 | Linear Unit |
smoothing_tolerance (可选) | 指数核的多项式近似 (PAEK) 算法使用的容差。 默认值为 30 米。 | Linear Unit |
dangle_length (可选) | 将修剪两个端点均未接触其他线的线段(悬挂线)的长度。 默认设置为 5 米。 | Linear Unit |
in_road_features (可选) | 将用于细化宗地的道路要素类。 输入可以为面或折线要素类。 | Feature Layer; Feature Class |
road_buffer_width (可选) | 将用于输入道路要素的缓冲距离。 对于折线要素,默认值为 5 米;对于面要素,默认值为 0 米。 | Linear Unit |
regularize_parcels (可选) | 指定是否将通过消除已提取宗地几何中不需要的伪影来对其进行规范化。
| Boolean |
post_processing_workflow (可选) | 指定将使用的后处理工作流。
| String |
out_features (可选) | 包含后处理输出的要素类。 | Feature Class |
parcel_tolerance (可选) | 在将两个坐标视为相同坐标之前它们之间的最小距离。 此参数用于减少已提取宗地之间的狭长面。 默认值为 3 米。 | Linear Unit |
regularization_method (可选) | 指定将在后处理中使用的规则化方法。
| String |
poly_tolerance (可选) | 规则化覆盖区可从其原始要素的边界偏移的最大距离。 默认值为 1 米。 | Linear Unit |
代码示例
本示例介绍了如何使用 ExtractFeaturesUsingAIModels 函数。
# Name: ExtractFeaturesUsingAIModels.py
# Description: Extract features using pretrained deep learning models on imagery data.
# Import system modules
import arcpy
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variables
datapath = "path_to_training_data"
out_gdb = "path_to_gdb"
predictions = "output_prefix"
# Run Extract Features Using AI Models
arcpy.geoai.ExtractFeaturesUsingAIModels(in_raster=datapath,
mode="Infer and Postprocess",
out_location=out_gdb,
out_prefix=predictions,
pretrained_models="'Building Footprint Extraction - USA'",
save_intermediate_output="TRUE",
buffer_distance="15 Meters",
extend_length="25 Meters",
smoothing_tolerance="30 Meters",
dangle_length="5 Meters",
regularization_method="Right Angles",
poly_tolerance="1 Meters")