使用深度学习转换像素 (影像分析工具)
汇总
用法
该工具用于利用深度学习模型信息转换图像中的像素。 转换示例包括提高像素分辨率、将灰度图像转换为彩色图像等。
超分辨率模型类型可用于提高图像分辨率。
CycleGAN模型类型可用于执行图像转换,如灰度转换为红色、绿色、蓝色 (RGB)。
Pix2Pix模型类型可用于执行图像转换,如 SAR 至 RGB 转换。
有关模型定义 JSON 文件 (.emd),请参阅下面的示例。
示例模型定义 JSON 文件 (*.emd)
<!--```json
{
"Framework": "",
"ModelConfiguration":" ",
"ModelFile":"",
"InferenceFunction":"",
"ModelType":"",
"ImageHeight":256,
"ImageWidth":256,
"ExtractBands":[0,1,2],
"CropSizeFixed": 1,
"BlackenAroundFeature": 1,
"Classes": [
{
"Value": 0,
"Name": "Building",
"Color": [255, 0, 0]
}
]
}
参数
|
标注
|
说明
|
数据类型
|
|
输入栅格
|
待转换的单个或多个输入栅格图像。
|
Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class
|
|
模型定义
|
模型定义 JSON 文件 (*.emd) 的路径。
|
File; String
|
|
参数
(可选)
|
将使用模型定义参数中的信息填充此参数。 这些参数会有所变化,具体取决于模型架构。 下面为在 ArcGIS 中训练的模型支持的模型参数。 ArcGIS 预训练模型和自定义深度学习模型可能具有该工具支持的其他参数。
batch_size—模型推断的每个步骤中处理的影像切片数。 这取决于显卡的内存。 此参数适用于所有模型架构。
direction—图像将从一个域转换为另一个域。 选项为 AtoB 和 BtoA。 此参数仅适用于 CycleGAN 架构。 有关此参数的详细信息,请参阅CycleGAN 的工作原理。
n_timestep—将使用的时间步长数。 默认值为 200。 它可以根据代数相应增大和减小。 仅采用 SR3 骨干模型架构的超分辨率支持该参数。
padding—影像切片边界处的像素数,将根据这些像素为相邻切片混合预测。 要在减少伪影的同时使输出更加平滑,请增大此值。 内边距的最大值可以是切片大小值的一半。 此参数适用于所有模型架构。
sampling_type—将使用的采样类型。 提供两种采样方法:ddim(去噪扩散隐式模型)和 ddpm(去噪扩散概率模型)。 默认值为 ddim,与 ddpm 相比,它以更少的时间步长生成结果。 仅采用 SR3 骨干模型架构的超分辨率支持该参数。
schedule—要使用的学习率计划类型;该选项将在模型训练过程中用于调整模型的学习率。 默认计划与其训练的模型相同。 仅采用 SR3 骨干模型架构的超分辨率支持该参数。
tile_size—图像切片的宽度和高度,影像将按此值划分以进行预测。 此参数仅适用于 CycleGAN 架构。
值表列:
|
Value Table
|
|
处理模式
|
指定处理镶嵌数据集或影像服务中的所有栅格项目的方式。 当输入栅格是镶嵌数据集或影像服务时,将应用此参数。
|
String
|
|
输出文件夹
(可选)
|
将存储输出栅格的文件夹。
当输入栅格是要单独处理所有项目的影像文件夹或镶嵌数据集时,此参数为必需项。 默认为工程文件夹中的文件夹。
|
Folder
|
|
输出要素
(可选)
|
将存储输出栅格的要素类。
当输入栅格为图像要素类时,此参数为必需参数。
如果要素类已存在,结果将追加到现有要素类。
|
Feature Class
|
|
覆盖附件
(可选)
|
指定是否将覆盖现有图像附件。
仅当输入栅格参数值为具有图像附件的要素类时,此参数才适用。
|
Boolean
|
|
使用像素空间
(可选)
|
指定是否对像素空间中的影像执行推断。 像素空间是指由显示区域中的像素数量所定义的 x、y 坐标空间,例如 1024 × 768。
|
Boolean
|
返回值
|
标注
|
说明
|
数据类型
|
|
输出栅格数据集
|
包含结果的栅格或镶嵌数据集的名称。
|
Raster
|
TranslatePixelsUsingDeepLearning(in_raster, in_model_definition, {arguments}, processing_mode, {out_translated_folder}, {out_featureclass}, {overwrite_attachments}, {use_pixelspace})
|
名称
|
说明
|
数据类型
|
|
in_raster
|
待转换的单个或多个输入栅格图像。
|
Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class
|
|
in_model_definition
|
模型定义 JSON 文件 (*.emd) 的路径。
|
File; String
|
|
arguments
[arguments,...]
(可选)
|
in_model_definition 参数中的信息将用于设置此参数的默认值。 这些参数会有所变化,具体取决于模型架构。 下面为在 ArcGIS 中训练的模型支持的模型参数。 ArcGIS 预训练模型和自定义深度学习模型可能具有该工具支持的其他参数。
batch_size—模型推断每个步骤中处理的图像切片数。 这取决于显卡的内存。 此参数适用于所有模型架构。
direction—图像将从一个域转换为另一个域。 选项为 AtoB 和 BtoA。 此参数仅适用于 CycleGAN 架构。 有关此参数的详细信息,请参阅CycleGAN 的工作原理。
n_timestep—将使用的时间步长数。 默认值为 200。 它可以根据代数相应增大和减小。 仅采用 SR3 骨干模型架构的超分辨率支持该参数。
padding—影像切片边界处的像素数,将根据这些像素为相邻切片混合预测。 要在减少伪影的同时使输出更加平滑,请增大此值。 内边距的最大值可以是切片大小值的一半。 此参数适用于所有模型架构。
sampling_type—将使用的采样类型。 提供两种采样方法:ddim(去噪扩散隐式模型)和 ddpm(去噪扩散概率模型)。 默认值为 ddim,与 ddpm 相比,它以更少的时间步长生成结果。 仅采用 SR3 骨干模型架构的超分辨率支持该参数。
schedule—要使用的学习率计划类型;该选项将在模型训练过程中用于调整模型的学习率。 默认计划与其训练的模型相同。 仅采用 SR3 骨干模型架构的超分辨率支持该参数。
tile_size—图像切片的宽度和高度,影像将按此值划分以进行预测。 此参数仅适用于 CycleGAN 架构。
值表列:
Name—函数参数的名称。
Value—函数参数的值。
|
Value Table
|
|
processing_mode
|
指定处理镶嵌数据集或影像服务中的所有栅格项目的方式。 当输入栅格是镶嵌数据集或影像服务时,将应用此参数。
|
String
|
|
out_translated_folder
(可选)
|
将存储输出栅格的文件夹。
当输入栅格是要单独处理所有项目的影像文件夹或镶嵌数据集时,此参数为必需项。 默认为工程文件夹中的文件夹。
|
Folder
|
|
out_featureclass
(可选)
|
将存储输出栅格的要素类。
当输入栅格为图像要素类时,此参数为必需参数。
如果要素类已存在,结果将追加到现有要素类。
|
Feature Class
|
|
overwrite_attachments
(可选)
|
指定是否将覆盖现有图像附件。
仅当 in_raster 参数值为具有图像附件的要素类时,此参数才有效。
|
Boolean
|
|
use_pixelspace
(可选)
|
指定是否对像素空间中的影像执行推断。 像素空间是指由显示区域中的像素数量所定义的 x、y 坐标空间,例如 1024 × 768。
|
Boolean
|
返回值
|
名称
|
说明
|
数据类型
|
|
out_raster
|
包含结果的栅格或镶嵌数据集的名称。
|
Raster
|
代码示例
TranslatePixelsUsingDeepLearning 示例 1(Python 窗口)
本示例通过深度学习模型输出转换后的图像。
# Import system modules
import arcpy
from arcpy.ia import *
out_raster = TranslatePixelsUsingDeepLearning(
"c:\\input_image.tif", "c:\\superresolution.emd",
"padding 0; batch_size 16", "PROCESS_AS_MOSAICKED_IMAGE")
out_raster.save("c:\\translated_image.tif")
TranslatePixelsUsingDeepLearning 示例 2(独立脚本)
本示例通过深度学习模型输出转换后的图像。
# Import system modules
import arcpy
from arcpy.ia import *
# Set local variables
in_raster = "c:\\input_raster.tif"
in_model_definition = "c:\\translatepixels.emd"
model_arguments = "padding 0; batch_size 16"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
arcpy.env.processorType = "GPU"
arcpy.env.gpuId = 0
# Run
out_raster = TranslatePixelsUsingDeepLearning(in_raster,
in_model_definition, model_arguments, processing_mode)
out_raster.save("c:\\translated_image.tif")
环境
像元大小, 当前工作空间, 范围, 地理变换, GPU ID, 掩膜, 输出坐标系, 并行处理因子, 处理器类型, 临时工作空间, 捕捉栅格
许可信息
- 基本: 需要 Image Analyst
- 标准: 需要 Image Analyst
- 高级: 需要 Image Analyst