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

相关推荐
GZ_TOGOGO12 分钟前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
sp_fyf_202412 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
新缸中之脑14 分钟前
Ollama 运行视觉语言模型LLaVA
人工智能·语言模型·自然语言处理
卷心菜小温35 分钟前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
胡耀超1 小时前
知识图谱入门——3:工具分类与对比(知识建模工具:Protégé、 知识抽取工具:DeepDive、知识存储工具:Neo4j)
人工智能·知识图谱
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
吾名招财1 小时前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn
FL16238631291 小时前
[深度学习][python]yolov11+bytetrack+pyqt5实现目标追踪
深度学习·qt·yolo
羊小猪~~2 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
鼠鼠龙年发大财2 小时前
【鼠鼠学AI代码合集#7】概率
人工智能