检测图像异常 (Image Analyst)

获得 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),以更好地可视化异常像素。

参数

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

多波段或高光谱图像。

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
异常计算方法
(可选)

指定将使用的异常计算方法。

  • RXDRXD 方法将用于提取值与背景像素明显不同的像素。 这是默认设置。
  • UTDUTD 方法将用于从输入图像中提取背景像素。
  • K 均值KMEANS 方法将通过 K 均值聚类算法,提取与数据中已建立的聚类明显偏离的像素。
String
聚类数
(可选)

异常计算方法参数设置为 K 均值时,将使用的聚类数。

Long
背景区域
(可选)

将定义在异常计算方法参数设置为 RXDUTD 时,用于计算背景统计数据的区域的面要素类。

Feature Set
重新计算统计数据
(可选)

指定在异常计算方法参数设置为 RXDUTD 时,输入栅格的统计数据是否将重新计算。 RXDUTD 选项需要提供准确的统计数据,因此,在计算统计数据时,跳跃因子必须为 1。

  • 选中 - 将重新计算输入栅格的统计数据。 这是默认设置。
  • 未选中 - 不重新计算输入栅格的统计数据。
Boolean

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
(可选)

指定将使用的异常计算方法。

  • RXDRXD 方法将用于提取值与背景像素明显不同的像素。 这是默认设置。
  • UTDUTD 方法将用于从输入图像中提取背景像素。
  • KMEANSKMEANS 方法将通过 K 均值聚类算法,提取与数据中已建立的聚类明显偏离的像素。
String
num_cluster
(可选)

method 参数设置为 KMEANS 时,将使用的聚类数。

Long
background_region
(可选)

将定义在 method 参数设置为 RXDUTD 时,用于计算背景统计数据的区域的面要素类。

Feature Set
recompute_stats
(可选)

指定在 method 参数设置为 RXDUTD 时,输出得分栅格的统计数据是否将重新计算。 RXDUTD 选项需要提供准确的统计数据,因此,跳跃因子必须为 1。

  • RECOMPUTE_STATS系统将重新计算输出得分栅格的统计数据。 这是默认设置。
  • NOT_RECOMPUTE_STATS系统不重新计算输出得分栅格的统计数据。
Boolean

代码示例

DetectImageAnomalies 示例 1(Python 窗口)

此示例使用 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")
DetectImageAnomalies 示例 2(独立脚本)

此示例使用 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

相关主题