【目标检测基础篇】目标检测评价指标:mAP计算的超详细举例分析以及coco数据集标准详解(AP/AP50/APsmall.....))

学习视频:
霹雳吧啦Wz-目标检测mAP计算以及coco评价标准
【目标检测】指标介绍:mAP

1 TP/FP/FN

  • TP(True Positive) : IoU>0.5的检测框数量(同一Ground truth只计算一次)
  • FP(False Positive) : IoU<=0.5 的检测框(或者是检测到同一个GT的多余检测框的数量),误检的个数
  • FN(False Negative) : 没有检测到的GT的数量,漏检的目标的个数

1.1 举例分析

上面的图中有两只小猫,绿色的是他们的标注框,可以看到模型对于蝴蝶结小猫这个目标预测了两个目标框,分别为红框和黄框

  • 红色预测框和标注框的IOU>0.5,所以红框为TP
  • 黄色预测框和标注框的IOU<0.5,所以红框为FP
  • 模型对于铃铛小猫是没有预测出任何框的,所以为FN

2 Presion和Recall

  • Precision(查准率): 模型预测的所有目标(TP+FP)中,预测正确的(TP)比例 P r e c i s i o n = T P / ( T P + F P ) Precision = TP / (TP +FP) Precision=TP/(TP+FP)

  • Recall(查全率): 所有真实目标(TP+FN)中,预测正确(TP)的比例 R e c a l l = T P / ( T P + F N ) Recall = TP / (TP + FN) Recall=TP/(TP+FN),其中TP+FN = GT的个数,即图片中出现的所有预测框的个数

2.1 举例

仅凭借其中一个指标无法说明模型的好坏。

2.1.1 precision

图片中有5个目标,但是模型只检测出一个目标(1个红色框),没有其他任何的检测框,所以TP=1,FP=0,故P = 1,因此P高并不能说明模型检测效果好。

2.1.2 recall

假设模型一次给出了50个预测框,包括了图中的5个目标,故TP=5,由于没有漏检目标,故FN=0,因此recall=1,故R高也不能说明模型预测的好。

3 Average Precision

平均精度(Average Precision, AP) 是目标检测算法的热门衡量指标。衡量了模型对正样本的预测准确性。

通过在不同的召回率下计算并平均精确率 来得到,形成了一个曲线下的面积值。较高AP 值意味着模型具有更好的检测性能,而AP=1表示模型的检测是完美的。

  • AP: P-R曲线下面积
  • P-R曲线 : Precision-Recall曲线
  • mAP: mean Average Precision, 即各类别AP的平均值

3.1 举例分析

使用yolov5来进行预测,图片的标注为左图所示,yolov5预测的结果如右图所示,可以看到模型预测的有错误:没有预测到窗户里的人,错把一只小狗预测成了泰迪

原图中共有2+12+1+1=16个目标

由于平均精度(AP)是按照类别来计算的。那么下面先计算狗的平均精度。

步骤1: 首先列出狗类所有预测框的置信度并且判断是TP还是FP

步骤2:计算精确度和召回率

表格解释:Conf.置信度;Matches:是否为TP/FP;Cumulative TP:对TP数量进行累计;Cumulative FP:对FP数量进行累计;

其中GT的数量为16

步骤3 :绘制PR曲线

(未完待续)

4 CoCo数据集评价指标

可以看到CoCo数据集给出了比较多的评价指标,下面分析他们的具体含义。

4.1 Average Precision(AP)


A P AP AP:当IoU从0.5-0.95范围内取10个值(间隔0.05),计算到的AP的均值,CoCo最主要的评价指标

A P I o U = 0.5 AP^{IoU=0.5} APIoU=0.5:当iou取0.5时计算出的AP值

A P I o U = 0.75 AP^{IoU=0.75} APIoU=0.75:当iou取0.75时计算出的AP值,要求更为严格

4.2 AP Across Scales

A P s m a l l AP^{small} APsmall:针对小目标,目标像素面积<32平方
A P m e d i u m AP^{medium} APmedium:中等目标,32<目标像素面积<96
A P l a r g e AP^{large} APlarge:大目标,目标像素面积>96

4.3 Average Recall(AR)

A R m a x = 1 AR^{max=1} ARmax=1:每张图片只给出一个检测目标
A R m a x = 10 AR^{max=10} ARmax=10:每张图片给出10个检测目标
A R m a x = 100 AR^{max=100} ARmax=100:每张图片给出100个检测目标

4.4 AR Across Scales

A R s m a l l AR^{small} ARsmall:针对小目标,目标像素面积<32平方
A R P m e d i u m ARP^{medium} ARPmedium:中等目标,32<目标像素面积<96
A R l a r g e AR^{large} ARlarge:大目标,目标像素面积>96

相关推荐
铭keny1 分钟前
YOLO11 目标检测从安装到实战
人工智能·目标检测·目标跟踪
presenttttt2 分钟前
用Python和OpenCV从零搭建一个完整的双目视觉系统(四)
开发语言·python·opencv·计算机视觉
杨小扩5 小时前
第4章:实战项目一 打造你的第一个AI知识库问答机器人 (RAG)
人工智能·机器人
whaosoft-1435 小时前
51c~目标检测~合集4
人工智能
雪兽软件5 小时前
2025 年网络安全与人工智能发展趋势
人工智能·安全·web安全
元宇宙时间6 小时前
全球发展币GDEV:从中国出发,走向全球的数字发展合作蓝图
大数据·人工智能·去中心化·区块链
小黄人20257 小时前
自动驾驶安全技术的演进与NVIDIA的创新实践
人工智能·安全·自动驾驶
ZStack开发者社区8 小时前
首批 | 云轴科技ZStack加入施耐德电气技术本地化创新生态
人工智能·科技·云计算
千宇宙航8 小时前
闲庭信步使用图像验证平台加速FPGA的开发:第六课——测试图案的FPGA实现
图像处理·计算机视觉·fpga开发
X Y O9 小时前
神经网络初步学习3——数据与损失
人工智能·神经网络·学习