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

版权声明:Copyright (c) strongnine https://blog.csdn.net/weixin_39679367/article/details/81126268


与目标识别不同,目标检测中不仅仅需要在一张图片中检测到是否含有某物体,还需要将该物体的位置找出来,所以在判定模型的好坏时,就有其标准 —— 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 的计算为:

precison=TruePositivesTruePositives+FalsePositivesprecison=\frac{True Positives}{True Positives+False Positives}

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

recall=TruePositivesTruePositives+FalseNegativesrecall=\frac{True Positives}{True Positives+False Negatives}

(2)精确度 – accuracy

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

accuracy=TruePositives+TrueNegativesTruePositives+FalseNegatives+TrueNegatives+FalsePositivesaccuracy=\frac{TruePositives+TrueNegatives}{TruePositives+FalseNegatives+TrueNegatives+FalsePositives}

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

二、影响 mAP 的因素

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

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

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

展开阅读全文

没有更多推荐了,返回首页