使用深度学习检测对象 (影像分析工具)
汇总
用于运行输入栅格上的训练深度学习模型,以生成包含其找到对象的要素类。 这些要素可以是所找到对象周围的边界框或面,也可以是对象中心的点。
该工具需要包含经过训练的模型信息的模型定义文件。 可以使用训练深度学习模型工具或第三方训练软件(例如 PyTorch)训练模型。 模型定义文件可以是 Esri 模型定义 JSON 文件 (.emd) 或深度学习模型包,该文件必须包含为处理每个对象调用的 Python 栅格函数路径以及经过训练的二进制深度学习模型文件路径。
用法
您必须在 ArcGIS Pro Python 环境中安装适当的深度学习框架 Python API(例如 PyTorch);否则在将 Esri 模型定义文件添加至工具时会发生错误。 向 Esri 模型定义文件的创建者索取相应的框架信息。
要设置计算机以在 ArcGIS Pro 中使用深度学习框架,请参阅安装 ArcGIS 深度学习框架。
该工具将调用第三方深度学习框架 Python API(例如 PyTorch),并使用指定的 Python 栅格函数来处理每个对象。
该工具的示例用例请参见 Esri Python 栅格函数 GitHub 页面。 您还可以按照 GitHub 资料档案库中的示例和说明编写自定义 Python 模块。
模型定义参数值可以是 Esri 模型定义 JSON 文件 (
.emd)、JSON 字符串或深度学习模型包 (.dlpk)。 当在服务器上使用此工具时,JSON 字符串十分有用,因为您可以直接粘贴 JSON 字符串,而无需上传.emd文件。.dlpk文件必须存储在本地。该工具可以处理地图空间或像素空间中的输入影像。 地图空间中的影像位于基于地图的坐标系中。 像素空间中的影像基于行和列,没有旋转和畸变。 可以在导出训练数据进行深度学习工具中使用参考系统参数生成训练数据时指定参考系统。 如果使用第三方训练软件对模型进行训练,则必须在
.emd文件中使用ImageSpaceUsed参数指定参考系统,可以设置为MAP_SPACE或PIXEL_SPACE。对于定向影像图层,处理始终在像素空间中进行。 当使用像素空间进行处理时,其检测结果将保存在输出表的
IShape字段中。增加批处理大小可以提高工具性能;但是随着批处理大小增加,所用内存也将随之增加。 如果出现内存不足错误,则降低批处理大小。 可以使用参数参数调整
batch_size值。批处理大小为平方数,例如 1、4、9、16、25、64 等。 如果输入值不是完全平方值,将使用可能的最高平方值。 例如,如果指定的值为 6,则批处理大小设置为 4。
使用非极大值抑制参数标识和移除对象检测中重复的要素。 有关此参数的详细信息,请参阅非极大值抑制工具的用法部分。 当输入为定向影像图层时,重复项会保留,但地面几何为空。
要仅检测镶嵌数据集中所选图像上的对象,请为处理模式参数使用仅处理候选项目选项。 您可以使用计算镶嵌候选项工具在镶嵌数据集和影像服务中查找最能代表镶嵌区域的图像候选项。
该工具将支持并使用多个 GPU(如果可用)。 要使用特定的 GPU,指定 GPU ID 环境。 如果未设置 GPU ID,该工具将使用所有可用 GPU。 这是默认设置。
- 当处理器类型环境设置为 CPU 且并行处理因子环境未指定时,工具将使用 50% 的并行处理因子值。
输入栅格可以为单个栅格、镶嵌数据集中的多个栅格、定向影像图层或数据集、影像服务、图像的文件夹,或带有影像附件的要素类。 有关附件的详细信息,请参阅添加或移除文件附件。
有关运行此工具的要求以及您可能遇到的问题的信息,请参阅深度学习常见问题。
有关深度学习的详细信息,请参阅使用 ArcGIS Image Analyst 扩展模块的深度学习。
参数
| 标注 | 说明 | 数据类型 |
|---|---|---|
|
输入栅格 |
将用于检测对象的输入图像。 输入可以是镶嵌数据集、影像服务或影像文件夹中的一个或多个栅格、具有影像附件的要素类,或定向影像数据集或图层。 |
Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class; Oriented Imagery Layer |
|
输出检测对象 |
此输出要素类中包含围绕输入图像中检测到的一个或多个对象的几何。 如果要素类已存在,结果将追加到现有要素类。 |
Feature Class |
|
模型定义 |
此参数可以是 Esri 模型定义 JSON 文件 ( 其中包含深度学习二进制模型文件路径、待使用的 Python 栅格函数路径以及其他参数,例如首选切片大小或填充。 |
File; String |
|
参数 (可选) |
将使用模型定义参数中的信息填充此参数。 这些参数会有所变化,具体取决于模型架构。 下面为在 ArcGIS 中训练的模型支持的模型参数。 ArcGIS 预训练模型和自定义深度学习模型可能具有该工具支持的其他参数。
值表列:
|
Value Table |
|
非极大值抑制 (可选) |
指定是否将执行非极大值抑制,其中将标识重复的对象,并移除置信度值较低的重复要素。
|
Boolean |
|
置信度得分字段 (可选) |
要素类中包含将由对象检测方法输出的置信度得分的字段的名称。 当选中了非极大值抑制参数时需要用到该参数。 |
String |
|
类值字段 (可选) |
输入要素类中类值字段的名称。 如果未提供字段名称,则将使用 |
String |
|
最大重叠比 (可选) |
两个重叠要素的最大重叠比,其定义为交集区域与并集区域之比。 默认值为 0。 |
Double |
|
处理模式 (可选) |
指定处理镶嵌数据集或影像服务中的所有栅格项目的方式。 当输入栅格是镶嵌数据集或影像服务时,将应用此参数。
|
String |
|
使用像素空间 (可选) |
指定是否对像素空间中的影像执行推断。
|
Boolean |
|
感兴趣对象 (可选) |
指定用于工具检测的对象名称。 可用选项取决于模型定义参数的值。 只有当模型能够检测到多种对象类型时,此参数才会启用。 |
String |
派生输出
| 标注 | 说明 | 数据类型 |
|---|---|---|
|
输出分类栅格 |
用于像素分类的输出分类栅格。 栅格数据集的名称将与输出检测对象参数值相同。 该参数仅在模型类型为全景分割时才可用。 |
Raster Dataset |
环境
像元大小, 当前工作空间, 范围, 地理变换, GPU ID, 掩膜, 输出坐标系, 并行处理因子, 处理器类型, 临时工作空间
许可信息
- 基本: 需要 Image Analyst
- 标准: 需要 Image Analyst
- 高级: 需要 Image Analyst