【目标检测基础篇】目标检测评价指标: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

相关推荐
飞哥数智坊9 小时前
AI编程实战:Cursor+Claude4助力15分钟完成大屏开发
人工智能·claude·cursor
Kier12 小时前
基于YOLO实现一个智能条码识别
人工智能·python·ai编程
我是王大你是谁12 小时前
SmolVLA:一种用于经济实惠和高效的机器人视觉-语言-动作模型
人工智能·llm
MarkGosling12 小时前
【语音合成】B 站开源 IndexTTS :声音克隆,吊打真人发音,断句精准度 98%
人工智能·python
数据智能老司机12 小时前
AI产品开发的艺术——搜索与检索增强生成
人工智能·产品经理·产品
机器之心13 小时前
逐个token太慢!大模型原生并行出token,CMU、英伟达新作Multiverse
人工智能·llm
顾林海13 小时前
DeepSeek 技术原理详解
深度学习·llm·deepseek
AI大模型技术社14 小时前
⚙️企业级Transformer优化:混合精度×梯度裁剪×权重初始化最佳实践
人工智能·llm
机器之心14 小时前
首个转型AI公司的新势力,在全球AI顶会展示下一代自动驾驶模型
人工智能
机器之心14 小时前
同一天开源新模型,一推理一编程,MiniMax和月之暗面开卷了
人工智能