获得 Image Analyst 许可后可用。
使用方法
该工具将生成一个表格,其中包含有关使用深度学习检测对象工具的输出精度的信息。
该表将包含检测数据中每个类的精度指标,以及针对所有类的一行(总体精度)。表中将包含以下字段:
- Precision - 真正数与预测总数之比。
- Recall - 真正数与正预测总数之比。
- F1_Score - 精度和召回率的加权平均值。值的范围从 0 到 1,1 表示最高精度。
- AP - 平均精度 (AP) 指标,即在给定交并比 (IoU) 值处,介于 0 到 1 之间的所有召回率值的平均精度。
- True_Positive - 被模型预测为正的正样本数。
- False_Positive - 被模型预测为正的负样本数。
- False_Negative - 被模型预测为负的正样本数。
有关输出表和精度报表中提供的指标的详细信息,请参阅“计算对象检测的精度”工作原理。
输入地面参考数据必须包含面。如果存在指示对象位置的点或线数据,则在运行此工具之前,请使用缓冲工具生成面要素类。
交并比 (IoU) 用作确定预测结果为真正还是假正的阈值。IoU 是预测对象周围的边界框与地面参考数据周围的边界框之间的重叠量。
预测边界框与地面参考边界框的相交区域
组合的预测边界框和地面参考边界框的总面积
语法
ComputeAccuracyForObjectDetection(detected_features, ground_truth_features, out_accuracy_table, {out_accuracy_report}, {detected_class_value_field}, {ground_truth_class_value_field}, {min_iou}, {mask_features})
参数 | 说明 | 数据类型 |
detected_features | 面要素类,其中包含使用深度学习检测对象工具检测的对象。 | Feature Class; Feature Layer |
ground_truth_features | 包含实际地表数据的面要素类。 | Feature Class; Feature Layer |
out_accuracy_table | 输出精度表。 | Table |
out_accuracy_report (可选) | 输出精度报表的名称。该报表是包含精度指标和图表的 PDF 文档。 | File |
detected_class_value_field (可选) | 检测到的对象要素类中的字段,包含类值或类名称。 如果未指定字段名称,则 Classvalue 或 Value 字段将被使用。如果这些字段不存在,则会将所有记录标识为属于一个类。 类值或类名称必须与地面参考要素类中的类值或类名称完全匹配。 | Field |
ground_truth_class_value_field (可选) | 实际地表要素中的字段,包含类值。 如果未指定字段名称,则 Classvalue 或 Value 字段将被使用。如果这些字段不存在,则会将所有记录标识为属于一个类。 类值或类名称必须与检测到的对象要素类中的类值或类名称完全匹配。 | Field |
min_iou (可选) | 用作阈值的 IoU 比率,用于评估对象检测模型的精度。分子是预测边界框与地面参考边界框之间的重叠区域。分母是并集区域或者两个边界框所包含的区域。IoU 的范围从 0 到 1。 | Double |
mask_features (可选) | 面要素类,用于描绘将计算精度的区域。仅对与掩膜相交的要素进行精度评估。 | Feature Class; Feature Layer |
代码示例
本示例将为指定的最小 IoU 值生成精度表。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
ComputeAccuracyForObjectDetection(
"C:/DeepLearning/Data.gdb/detectedFeatures",
"C:/DeepLearning/Data.gdb/groundTruth",
"C:/DeepLearning/Data.gdb/accuracyTable",
"E:/DeepLearning/accuracyReport.pdf", "Class",
"Class", 0.5, " C:/DeepLearning/Data.gdb/AOI")
本示例将为指定的最小 IoU 值生成精度表。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variables
detected_features = "C:/DeepLearning/Data.gdb/detectedFeatures"
ground_truth_features = "C:/DeepLearning/Data.gdb/groundTruth"
out_accuracy_table = "C:/DeepLearning/Data.gdb/accuracyTable"
out_accuracy_report = "C:/DeepLearning/accuracyReport.pdf"
detected_class_value_field = "Class"
ground_truth_class_value_field = "Class"
min_iou = 0.5
mask_features = "C:/DeepLearning/Data.gdb/AOI"
# Execute
ComputeAccuracyForObjectDetection(detected_features,
ground_truth_features, out_accuracy_table,
out_accuracy_report, detected_class_value_field,
ground_truth_class_value_field, min_iou, mask_features)
许可信息
- Basic: 需要 Image Analyst
- Standard: 需要 Image Analyst
- Advanced: 需要 Image Analyst