标注 | 说明 | 数据类型 |
输入栅格 | 多波段或高光谱图像。 | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service |
输出栅格 | 这是单波段栅格,用于以浮点数形式,存储介于 0 到 1 之间的异常得分。 零 (0) 表示背景,接近 1 的较大值表示潜在异常像素。 使用文件扩展名指定输出格式,包括 .tif (TIFF)、.crf (CRF)、.mrf (MRF) 和 .dat (ENVI DAT)。 | Raster Dataset |
异常计算方法 (可选) | 指定将使用的异常计算方法。
| String |
聚类数 (可选) | 在异常计算方法参数设置为 K 均值时,将使用的聚类数。 | Long |
背景区域 (可选) | 将定义在异常计算方法参数设置为 RXD 或 UTD 时,用于计算背景统计数据的区域的面要素类。 | Feature Set |
重新计算统计数据 (可选) | 指定在异常计算方法参数设置为 RXD 或 UTD 时,输入栅格的统计数据是否将重新计算。 RXD 和 UTD 选项需要提供准确的统计数据,因此,在计算统计数据时,跳跃因子必须为 1。
| Boolean |
获得 Image Analyst 许可后可用。
摘要
处理多波段或高光谱图像,并生成异常得分栅格。 异常得分栅格是单波段栅格,其值介于 0 到 1 之间。
使用情况
图像中的异常是指与背景明显不同的像素,例如海洋中的船只、道路上的车辆,或自然区域中的人类开发区。该工具支持 Reed-Xiaoli 检测器 (RXD)、统一目标检测器 (UTD) 和 KMEANS 图像异常检测方法。
异常计算方法参数的 RXD 选项,用于计算像素到由均值定义的背景的马氏距离。 其公式如下:
δRXD(r)=(r-µ)TK-1LxL(r-µ)
其中,r 为样本像素光谱,µ 为平均光谱,K 为协方差,L 为波段数。
异常计算方法参数的 UTD 选项与 RXD 选项类似,但使用单位矢量提取背景。 其公式如下:
δUTD(r)=(1-µ)TK-1LxL(1-µ)
您可通过将 RXD 方法中的 (r-u) 替换为 (1-u) 来定义异常。
异常计算方法参数的 KMEANS 选项,可通过 K 均值聚类算法,识别与数据中已建立的聚类明显偏离的像素。
输出是异常得分栅格,十进制值介于 0 到 1 之间,其中,0 表示背景,接近 1 的较大值表示潜在异常。 您可使用栅格函数(例如,重映射或掩膜函数)过滤异常像素, 还可使用异常检测向导执行整个异常检测工作流。
在输出图层符号系统中使用动态范围调整 (DRA),以更好地可视化异常像素。
参数
DetectImageAnomalies(in_raster, out_raster, {method}, {num_cluster}, {background_region}, {recompute_stats})
名称 | 说明 | 数据类型 |
in_raster | 多波段或高光谱图像。 | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service |
out_raster | 这是单波段栅格,用于以浮点数形式,存储介于 0 到 1 之间的异常得分。 零 (0) 表示背景,接近 1 的较大值表示潜在异常像素。 使用文件扩展名指定输出格式,包括 .tif (TIFF)、.crf (CRF)、.mrf (MRF) 和 .dat (ENVI DAT)。 | Raster Dataset |
method (可选) | 指定将使用的异常计算方法。
| String |
num_cluster (可选) | 在 method 参数设置为 KMEANS 时,将使用的聚类数。 | Long |
background_region (可选) | 将定义在 method 参数设置为 RXD 或 UTD 时,用于计算背景统计数据的区域的面要素类。 | Feature Set |
recompute_stats (可选) | 指定在 method 参数设置为 RXD 或 UTD 时,输出得分栅格的统计数据是否将重新计算。 RXD 和 UTD 选项需要提供准确的统计数据,因此,跳跃因子必须为 1。
| Boolean |
代码示例
此示例使用 RXD 选项处理高光谱图像,并创建异常得分栅格。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
tempanomaly = arcpy.ia.GenerateMultidimensionalAnomaly(
"c:/data/climateData.nc", "temperature", "DIFFERENCE_FROM_MEAN",
"ALL", "DATA", None)
tempanomaly.save("c:/data/TempAnomaly.crf")
此示例使用 KMEANS 选项处理高光谱图像,并创建异常得分栅格。
# Import system modules
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
#Define variables
input_image = r"c:\data\hsi_image.tif"
num_of_cluster = 1
anomaly_raster = arcpy.ia.DetectImageAnomalies(
in_raster=input_image,
method="KMEANS",
num_cluster=num_of_cluster,
recompute_stats="RECOMPUTE_STATS"
)
anomaly_raster.save(r"c:/test/anomaly_score_raster.tif")
许可信息
- Basic: 需要 Image Analyst
- Standard: 需要 Image Analyst
- Advanced: 需要 Image Analyst