目标检测评价指标详解:mAP计算与COCO数据集标准
目标检测评价指标详解:mAP计算与COCO数据集标准
目标检测是计算机视觉中的一个重要任务,其性能评估指标mAP(平均精度均值)和COCO数据集的评价标准是衡量模型效果的关键。本文将通过详细的举例分析,帮助读者深入理解这些复杂的概念。
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. Precision和Recall
- Precision(查准率):模型预测的所有目标(TP+FP)中,预测正确的(TP)比例
$$Precision = \frac{TP}{TP + FP}$$ - Recall(查全率):所有真实目标(TP+FN)中,预测正确(TP)的比例
$$Recall = \frac{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)
- AP:当IoU从0.5-0.95范围内取10个值(间隔0.05),计算到的AP的均值,CoCo最主要的评价指标
- APIoU=0.5:当iou取0.5时计算出的AP值
- APIoU=0.75:当iou取0.75时计算出的AP值,要求更为严格
4.2 AP Across Scales
- APsmall:针对小目标,目标像素面积<32平方
- APmedium:中等目标,32<目标像素面积<96
- APlarge:大目标,目标像素面积>96
4.3 Average Recall(AR)
- ARmax=1:每张图片只给出一个检测目标
- ARmax=10:每张图片给出10个检测目标
- ARmax=100:每张图片给出100个检测目标
4.4 AR Across Scales
- ARsmall:针对小目标,目标像素面积<32平方
- ARmedium:中等目标,32<目标像素面积<96
- ARlarge:大目标,目标像素面积>96