mAP@0.5: mean Average Precision(IoU=0.5)

即将IoU设为0.5时,计算每一类的所有图片的AP,然后所有类别求平均,即mAP。

mAP@.5:.95(mAP@[.5:.95])

表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。

那AP是什么呢,Average Precision,是单个类别平均精确度,而mAP是所有类别的平均精确度

AP是Precision-Recall Curve曲线下面的面积
在这里插入图片描述
曲线面积越大说明AP的值越大,类别的检测精度就越高。Recall官方称为召回率,可以考虑叫做查全率,Precision官网称为准确率叫做查准率,两者是相互矛盾的指标,如果能够较好的平衡两者,将在不同的条件下得到较好的检测效果,也就是图中的曲线面积。
P r e c i s i o n = T P T P + F P Precision= {TP \over TP+FP} Precision=TP+FPTP
R e c a l l = T P T P + F N Recall = {TP \over TP + FN} Recall=TP+FNTP

​其中(混淆矩阵):
True Positive区域:正样本预测为正样本
False Positive区域:负样本预测为正样本
False Negative区域:正样本预测为负样本
True Negative区域:负样本预测为负样本

预测样本在检测中就是预测框的大小,我们设置的IoU就是指的真实框与预测框的交并比,如果大于阈值就是正确,小于就是错误。
在这里插入图片描述
这里强调一下,当我们的样本与GT交并比确定之后,这里还不能确定TP、FP、FN、FN指标,只能说确定了预测正负样本的类别,但不能说真实正确样本的类别。需要通过置信度或者类的预测概率进行确定,主要是设定不同的阈值。这么说可以比较抽象,举个例子
在这里插入图片描述
上图是我们生成的预测框与GT样本的IOU计算结果(最右列),根据IOU阈值和计算的IOU值可以确定预测候选框正负样本的类别,但是是否真正为正样本还是负样本,主要取决于置信度的阈值,当我们设置一个置信度阈值时,可以得到对应的一个P和R,通过设置不同的置信度阈值时,就可以得到多个P和R,进一步绘制的PR曲线。

总结一下mAP的计算过程:

  1. 设置IoU阈值(简单说,设置预测框与真实框的重叠程度满意度)
  2. 计算GT和预测框的IoU,并确定每个预测框的预测值(被预测为正样本还是负样本)
  3. 通过设置置信度阈值(或者检测类别概率)得到不同的TP,TN,FP,FN计算P和R,绘制PR曲线,计算曲线的面积(根据点的坐标进行计算,如果同一个R有对应2个P,计算最大的即可)
  4. 完成!!!

在Yolo系列中,mAP@.5效果还是不错的,但mAP@.5:0.95的效果较差,可能是IoU的值设定过高对于检测框的位置要求也过高,同时,ground truth也是认为标定的,也没法说明高精度性。(有点偏袒yolo系列=_=)!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐