使用深度学习分类像素 (栅格分析)

摘要

对输入影像运行经过训练的深度学习模型,以生成发布为门户托管影像图层的分类栅格。

插图

“使用深度学习分类像素”工具图示

使用情况

  • 必须使用正确的深度学习框架 Python API(例如,Tensorflow、CNTK 或类似内容)配置栅格分析 (RA) 服务器 Python 环境。

  • 运行此工具后,您的 RA 服务器将调用第三方深度学习 Python API(例如,TensorFlow 或 CNTK),并使用指定的 Python 栅格函数来处理每个栅格切片。

  • 此工具的输入模型仅通过门户获取深度学习包 (.dlpk) 项目。

  • 选择或指定输入模型后,该工具将从 RA 服务器获取模型参数信息。 如果您的输入模型无效或者 RA 服务器未使用深度学习框架正确配置,则该工具可能无法获得模型参数信息。

参数

标注说明数据类型
输入栅格

待分类的输入影像。 它可以是影像服务 URL、栅格图层、影像服务、地图服务器图层或 Internet 切片图层。

Raster Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; String
输入模型

输入是深度学习包 (.dlpk) 项目的 URL。 其中包含深度学习二进制模型文件的路径、待使用的 Python 栅格函数的路径以及其他参数,例如首选切片大小或填充。

File
输出名称

分类像素的影像服务的名称。

String
模型参数
(可选)

函数参数在输入模型引用的 Python 栅格函数类中定义。 您可以在此列出其他深度学习参数和用于试验和优化的参数,例如用于调整灵敏度的置信度阈值。 参数名称将由工具通过读取 RA 服务器上的 Python 模块进行填充。

Value Table
处理模式
(可选)

指定处理镶嵌数据集或影像服务中的所有栅格项目的方式。 当输入栅格是镶嵌数据集或影像服务时,将应用此参数。

  • 以镶嵌影像方式处理将镶嵌在一起并处理镶嵌数据集或影像服务中的所有栅格项目。 这是默认设置。
  • 单独处理所有栅格项目将作为独立影像处理镶嵌数据集或影像服务中的所有栅格项目。
String

派生输出

标注说明数据类型
更新的输入栅格

输出栅格数据集。

Raster Layer

arcpy.ra.ClassifyPixelsUsingDeepLearning(inputRaster, inputModel, outputName, {modelArguments}, {processingMode})
名称说明数据类型
inputRaster

待分类的输入影像。 它可以是影像服务 URL、栅格图层、影像服务、地图服务器图层或 Internet 切片图层。

Raster Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; String
inputModel

输入是深度学习包 (.dlpk) 项目的 URL。 其中包含深度学习二进制模型文件的路径、待使用的 Python 栅格函数的路径以及其他参数,例如首选切片大小或填充。

File
outputName

分类像素的影像服务的名称。

String
modelArguments
[modelArguments,...]
(可选)

函数参数在输入模型引用的 Python 栅格函数类中定义。 您可以在此列出其他深度学习参数和用于试验和优化的参数,例如用于调整灵敏度的置信度阈值。 参数名称将由工具通过读取 RA 服务器上的 Python 模块进行填充。

Value Table
processingMode
(可选)

指定处理镶嵌数据集或影像服务中的所有栅格项目的方式。 当输入栅格是镶嵌数据集或影像服务时,将应用此参数。

  • PROCESS_AS_MOSAICKED_IMAGE将镶嵌在一起并处理镶嵌数据集或影像服务中的所有栅格项目。 这是默认设置。
  • PROCESS_ITEMS_SEPARATELY将作为独立影像处理镶嵌数据集或影像服务中的所有栅格项目。
String

派生输出

名称说明数据类型
outRaster

输出栅格数据集。

Raster Layer

代码示例

ClassifyPixelsUsingDeepLearning 示例 1(Python 窗口)

此示例使用栅格分析部署中的深度学习并基于自定义像素分类对栅格进行分类,并将栅格作为托管影像图层发布到您的门户中。

import arcpy

arcpy.ra.ClassifyPixelsUsingDeepLearning(
        "https://myserver/rest/services/landclassification/ImageServer",
        "https://myportal/sharing/rest/content/items/itemId",
"classifiedLand", "padding 0")
ClassifyPixelsUsingDeepLearning 示例 2(独立脚本)

此示例使用栅格分析部署中的深度学习并基于自定义像素分类对栅格进行分类,并将栅格作为托管影像图层发布到您的门户中。

#---------------------------------------------------------------------------
# Name: ClassifyPixelsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inImage = "https://myserver/rest/services/ landclassification/ImageServer"
inModel = "https://myportal/sharing/rest/content/items/itemId"
outName = "classifiedLand"
modelArgs = "padding 0"
# Execute Classified Pixels Using raster analysis tool
arcpy.ra.ClassifyPixelsUsingDeepLearning(inImage, inModel, outName, modelArgs)

许可信息

  • Basic: 需要 ArcGIS Image Server
  • Standard: 需要 ArcGIS Image Server
  • Advanced: 需要 ArcGIS Image Server

相关主题