平均精度均值(Mean Average Precision, mAP)


与目标识别不同,目标检测中不仅仅需要在一张图片中检测到是否含有某物体,还需要将该物体的位置找出来,所以在判定模型的好坏时,就有其标准 —— mAP

一、Mean Average Precision – mAP

(一)什么是 mAP ?

平均精度均值(mAP)是预测目标位置以及类别的这一类算法的性能度量标准。mAP 对于评估目标定位模型、目标检测模型以及实例分割模型非常有用。
在模型预测时,输出的 bounding box 是有很多的,但是大部分都是置信度很小的,我们只需要输出置信度超过某个阈值的 bounding box 。

(二)mAP 是怎么计算的?

先介绍几个概念

2.准确率、召回率、精确度

(1)准确率 – precision & 召回率 – recall

若一个待检测的物体为狗,我们将被正确识别的狗,即检测为狗实际也为狗,称为True positives。将被正确识别的猫,即检测为猫实际也为猫,称为True negatives。被错误识别为狗的猫称为 False positives,被错误识别为猫的狗称为 False negatives。
则 precision 的计算为:

p r e c i s o n = T r u e P o s i t i v e s T r u e P o s i t i v e s + F a l s e P o s i t i v e s precison=\frac{True Positives}{True Positives+False Positives} precison=TruePositives+FalsePositivesTruePositives

准确率可以反映一个类别的预测正确率
recall 的计算为:

r e c a l l = T r u e P o s i t i v e s T r u e P o s i t i v e s + F a l s e N e g a t i v e s recall=\frac{True Positives}{True Positives+False Negatives} recall=TruePositives+FalseNegativesTruePositives

(2)精确度 – accuracy

精确度就是在所有预测的样本中,识别正确的占了多少。

a c c u r a c y = T r u e P o s i t i v e s + T r u e N e g a t i v e s T r u e P o s i t i v e s + F a l s e N e g a t i v e s + T r u e N e g a t i v e s + F a l s e P o s i t i v e s accuracy=\frac{TruePositives+TrueNegatives}{TruePositives+FalseNegatives+TrueNegatives+FalsePositives} accuracy=TruePositives+FalseNegatives+TrueNegatives+FalsePositivesTruePositives+TrueNegatives

准确率和召回率是互相影响的,因为如果想要提高准确率就会把预测的置信率阈值调高,所有置信率较高的预测才会被显示出来,而那一些正确正预测(True Positive)可能因为置信率比较低而没有被显示了。一般情况下准确率高、召回率就低,召回率低、准确率高,如果两者都低,就是网络出问题了。一般情况,用不同的阀值,统计出一组不同阀值下的精确率和召回率,如下图:

二、影响 mAP 的因素

一般来说影响 mAP 的原因有很多,主要有以下几个:

  1. 不好的训练数据。
  2. 训练数据不够多。
  3. 标注的框不准确。
  4. 数据的多变性。

有的时候增加训练数据可能 mAP 并不会增加多少。当然了,使用表现更好的网络,其 mAP 自然地也会更加的高。

智能之路 文章被收录于专栏

包括机器学习、神经网络、深度学习、强化学习各种方面的文章

全部评论

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务