计算像素分类的精度 (Image Analyst)

获得 Image Analyst 许可后可用。

摘要

根据遗漏错误和错分以及交并比 (IoU) 分数计算混淆矩阵。 精度是通过深度学习分类像素工具的输出与地面真实数据之间计算的。

该工具仅适用于像素分类模型,不适用于与使用深度学习分类像素工具配合使用的其他模型。

使用情况

  • 此工具将计算每个类的用户精度和生产者精度,以及协议的整体 kappa 指数。 这些精度的范围介于 0 到 1 之间,其中 1 表示 100% 的精度。 以下是混淆矩阵的示例:

    c_1c_2c_3总计U_AccuracyKappa

    c_1

    49

    4

    4

    57

    0.8594

    0

    c_2

    2

    40

    2

    44

    0.9091

    0

    c_3

    3

    3

    59

    65

    0.9077

    0

    总计

    54

    47

    65

    166

    0

    0

    P_Accuracy

    0.9074

    0.8511

    0.9077

    0

    0.8916

    0

    Kappa

    0

    0

    0

    0

    0

    0.8357

    混淆矩阵示例

  • 用户精度是衡量所有被归类为给定类的像素中被正确分类的像素的标准。 被归类到这一类的其余像素根据参考信息属于不同的类,或者被识别为不同的类;它们是误报。

    用户精度也称为错分误差或 1 类误差。 从表格的行中读取用于计算此误差率的数据。

    总计行将根据参考数据显示本应被识别为给定类的点的数目。

  • 已知类的像素被分类为非已知类,制作者精度为假阴性误差。 例如,分类影像将某像素标识为森林,但其本应是不可渗透的。 这种情况下,根据参考数据,不可渗透类缺少像素。

    制作者精度也称为漏分误差或 2 类误差。 从表格的列中读取用于计算此误差率的数据。

    总计列根据分类地图显示被识别为给定类的点的数目。

  • 协议的 Kappa 指数将提供对于分类精度的整体评估。

  • 交并比 (IoU) 是预测分割和实际地表之间的重叠区域除以预测分割和实际地表之间的并集区域。 将针对每个类计算平均 IoU 值。

参数

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

输入分类栅格。

Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset
实际地表数据

输入分类影像或其他专题 GIS 参考数据。 输入可以是栅格或要素类。

典型数据是单波段、整型数据类型的分类影像。

如果使用面作为输出,则仅使用未用作训练样本的面。 还可以是 shapefile 或要素类格式的 GIS 土地覆被数据。

Mosaic Layer; Raster Layer; Feature Layer
输出混淆矩阵

表格式形式的混淆矩阵输出文件名。

表的格式由输出位置和路径确定。 默认情况下,输出为一张地理数据库表。 如果该路径不在地理数据库中,请指定 .dbf 扩展名以将其保存为 dBASE 格式。

Table
随机点的数量
(可选)

将生成的随机点总数。

根据采样策略和类数,实际数量可能会超出此数量但绝不会低于此数量。 默认随机生成的点数为 500。

Long
采样策略
(可选)

指定要使用的采样方案。

  • 分层随机每个类中都会创建随机分布的点,其中每个类中点的数量与其相对面积成比例。 这是默认设置
  • 均衡化分层随机每个类中都会创建随机分布的点,其中每个类具有相同数量的点。
  • 随机整个图像中将创建随机分布的点。
String
最小点距离
(可选)

参考点之间的最小距离。 默认值为 0。

Double

ComputeAccuracyForPixelClassification(in_raster, in_ground_truth_data, out_confusion_matrix, {num_random_points}, {sampling}, {min_point_distance})
名称说明数据类型
in_raster

输入分类栅格。

Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset
in_ground_truth_data

输入分类影像或其他专题 GIS 参考数据。 输入可以是栅格或要素类。

典型数据是单波段、整型数据类型的分类影像。

如果使用面作为输出,则仅使用未用作训练样本的面。 还可以是 shapefile 或要素类格式的 GIS 土地覆被数据。

Mosaic Layer; Raster Layer; Feature Layer
out_confusion_matrix

表格式形式的混淆矩阵输出文件名。

表的格式由输出位置和路径确定。 默认情况下,输出为一张地理数据库表。 如果该路径不在地理数据库中,请指定 .dbf 扩展名以将其保存为 dBASE 格式。

Table
num_random_points
(可选)

将生成的随机点总数。

根据采样策略和类数,实际数量可能会超出此数量但绝不会低于此数量。 默认随机生成的点数为 500。

Long
sampling
(可选)

指定要使用的采样方案。

  • STRATIFIED_RANDOM每个类中都会创建随机分布的点,其中每个类中点的数量与其相对面积成比例。 这是默认设置
  • EQUALIZED_STRATIFIED_RANDOM每个类中都会创建随机分布的点,其中每个类具有相同数量的点。
  • RANDOM整个图像中将创建随机分布的点。
String
min_point_distance
(可选)

参考点之间的最小距离。 默认值为 0。

Double

代码示例

ComputeAccuracyForPixelClassification 示例 1(Python 窗口)

本示例将使用 500 个分层随机点生成混淆矩阵。

import arcpy
arcpy.env.workspace = r"C:\Data\MyProject.gdb"

arcpy.ia.ComputeAccuracyForPixelClassification("BGYRre_ps16_ClassifyPixel", 
    "Classified_202412301648436631322", "BGYNIR_ps16_ComputeAccura", 500, 
    "STRATIFIED_RANDOM", 0)
ComputeAccuracyForPixelClassification 示例 2(独立脚本)

本示例将使用 500 个随机点生成混淆矩阵。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set local variables
in_raster=r"C:\DL\MyProject.gdb\BGYClassifyPixel"
in_ground_truth=r"C:\DL\MyProject.gdb\Classified_2024"
out__matrix=r"C:\DL\MyProject.gdb\BGYN_ComputeAccura" 
num_random_points=500
sampling="RANDOM"
min_point_distance=10

# Execute 
arcpy.ia.ComputeAccuracyForPixelClassification(in_raster, in_ground_truth, 
    out__matrix, num_random_points, sampling, min_point_distance)

相关主题