目标检测等相关评价指标(AP AR Average Precision和Average Recall)

本文详细介绍了COCO数据集上用于评估目标检测器性能的12种关键指标,包括平均精度(AP)和平均召回率(AR)的概念,以及它们在不同IoU阈值、目标大小和类别下的应用。同时,文章还阐述了这些指标如何帮助识别检测器在小、中、大目标上的表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://cocodataset.org/#detection-eval

COCO 提供了 12 种用于衡量目标检测器性能的评价指标.

image

[1] - 除非特别说明,AP 和 AR 一般是在多个 IoU(Intersection over Union) 值间取平均值. 具体地,采用了 10 个 IoU阈值 - 0.50:0.05:0.95. 对比于传统的只计算单个 IoU 阈值(0.50)的指标(对应于这里的指标 APIoU=0.50),这是一种突破. 对多个 IoU 阈值求平均,能够使得目标检测器具有更好的定位位置.

[2] - AP 是对所有类别的求平均值. 这在传统上被称为平均准确度(mAP, mean average precision). 这里并未区分 AP 和 mAP(类似的,AR 和mAR),假定从上下文中具有清晰的差异. 即:如,AP50=mAP50,AP75=mAP75,... 但,AP50 一定大于 AP75.

[3] - AP (所有 10 个 IoU 阈值和全部 80 个类别的平均值) 作为最终 COCO竞赛胜者的标准. 在考虑目标检测器再 COCO 上的性能时,这是单个最重要的评价度量指标.

[4] - COCO数据集中小目标物体数量比大目标物体更多. 具体地,标注的约有 41% 的目标物体是都很小的(small, 面积< 32x32=1024),约有 34% 的目标物体是中等的(medium, 1024=32x32 < 面积 < 96x96=9216),约有 24% 的目标物体是大的(large, 面积 > 96x96=9216). 面积(area) 是指 segmentation mask 中像素的数量.

[5] - AR 是指每张图片中,在给定固定数量的检测结果中的最大召回(maximum recall),在所有 IoUs 和全部类别上求平均值. AR 与 proposal evaluation 中所使用的相同,但这里 AR 是按类别计算的.

[6] - 所有的评测指标允许每张图片(在全部的类别中)最多 100 个 top-scoring 检测结果进行计算.

[7] - 边界框(bounding boxes)的检测和segmentation mask 的所有评测指标是一致的,除了 IoU 的计算. 边界框的 IoU 计算是关于 boxes的 ,而 segmentation mask 的 IoU 计算是关于 masks 的.

学习参考:https://www.aiuai.cn/aifarm854.html

### Pascal VOC、COCO ImageNet 数据集的目标检测评估指标 #### Pascal VOC 数据集的评估指标 Pascal VOC 数据集采用了一系列经典的评估指标来衡量目标检测模型的表现。其中最核心的两个概念是查准率(Precision查全率(Recall)。 - **Precision (查准率)** 表示预测为目标的数量中有多少比例确实是真正的目标对象[^1]。 - **Recall (查全率)** 则表示实际目标数量中有多少比例被成功检测出来。 为了综合考虑 Precision Recall 的表现,引入了 Average Precision (AP) 这一指标。在 Pascal VOC 中,通常会设定 IoU 阈值为 0.5 来判断检测框是否匹配真实框。随后通过计算 PR 曲线下的面积得出 AP 值[^3]。最后,mAP(mean Average Precision)是对所有类别 AP 取平均的结果,用于整体性能评估。 #### COCO 数据集的评估指标 相较于 Pascal VOC,COCO 数据集采用了更为严格的评价体系。它不仅关注单一 IoU 阈值的情况,还扩展到了多个 IoU 范围内的表现分析。具体而言: - 平均精度 AP 定义为不同 IoU 下的 AP 均值,IoU 范围从 0.5 至 0.95,步长为 0.05[^2]。 - 此外还有针对特定 IoU 设置的子项,例如 $ \text{AP}_{\text{IoU}=0.5} $ 或者更严苛条件下的 $ \text{AP}_{\text{IoU}=0.75} $。 - 同样存在 mAP 计算方式,但其覆盖范围更大且更具挑战性。 另外值得注意的是 ARAverage Recall),该值反映了每张图片能够正确识别出的目标数目上限。AR 经常配合最大探测次数 k 使用 ($ \text{AR}_k $),以体现算法效率与效果之间的平衡关系。 #### ImageNet 数据集的评估指标 虽然 ImageNet 更广为人知是因为它的分类任务,但在涉及目标定位的任务部分也有相应的评测机制。然而相比前两者,ImageNet 在这方面并没有形成统一固定的模式;一般情况下仍沿用类似于 Pascal VOC 或 COCO 所定义的标准来进行比较研究[^4]。 ```python def calculate_ap(precision_list, recall_thresholds=[0, 0.1, ..., 1]): ap_values = [] for threshold in recall_thresholds: filtered_precisions = [p for r, p in zip(recalls, precisions) if r >= threshold] max_precision_at_recall = max(filtered_precisions) if filtered_precisions else 0 ap_values.append(max_precision_at_recall) return sum(ap_values)/len(ap_values) # Example usage of the function with hypothetical data points. recalls = [0.1, 0.2, ... , 1.0] precisions = [... corresponding values to recalls... ] ap_value = calculate_ap(precisions) print(f"The calculated AP value is {ap_value}") ``` 上述代码片段展示了如何基于给定的一组精确度(Precision)-召回率(Recall)对按照一定规则计算得到单类别的AP值的一个简化版本实现过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值