目标检测算法评价指标之mAP

随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。在评价一个目标检测算法的“好坏”程度的时候,往往采用的是pascal voc 2012的评价标准mAP。这篇文章将主要介绍目标检测问题中的最常用的评估指标——mean Average Precision,即mAP。

一、目标检测问题

        目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割。在目标检测问题中,给定一个图像,找到它所包含的物体,找到它们的位置并对它们进行分类。目标检测模型通常是在一组特定的类集合上进行训练的,所以模型会定位和分类图像中的那些类。另外,如图所示,物体的位置通常采用矩形边界框表示。因此,目标检测涉及了图像中物体的定位和分类。

二、mAP定义及相关概念

1、IoU

IoU 的全称为交并比(Intersection over Union),就是衡量监测框和标签框的重合程度,计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。最理想情况是完全重叠,即比值为1。

dd314dc9484834b5bf8473f811cea712.png

2、TP、TN、FP和FN

  • TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)
  • FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
  • FN: 没有检测到的GT的数量

如图所示,左半矩形是正样本,右半矩形是负样本。一个2分类器,在图上画了个圆,分类器认为圆内是正样本,圆外是负样本。那么左半圆分类器认为是正样本,同时它确实是正样本,那么就是“被分为正样本,并且分对了”即TP,左半矩形扣除左半圆的部分就是分类器认为它是负样本,但是它本身却是正样本,就是“被分为负样本,但是分错了”即FN。右半圆分类器认为它是正样本,但是本身却是负样本,那么就是“被分为正样本,但是分错了”即FP。右半矩形扣除右半圆的部分就是分类器认为它是负样本,同时它本身确实是负样本,那么就是“被分为负样本,而且分对了”即TN。

3、Precision和Recall

Precision可以理解为查准率,模型预测的所有目标中,预测正确的比例,其中all detctions 代表所有预测框的数量。其计算公式如下:

Precision=\frac{TP}{TP+FP}=\frac{TP}{all detections}

Recall可以理解为查全率,所有真实目标中,模型预测正确的目标比例,其中all ground truths代表所有GT(人工标注框)的数量。其计算公式如下:

Recall=\frac{TP}{TP+FN}=\frac{TP}{all ground truths}

置信度(Confidences)阈值指当前检测框中是某一类别物体的可能性有多大,它描述模型认为此预测边界框包含某类别目标的概率。

4、mAP

mAP平均精度均值,即AP(Average Precision)的平均值,它是目标检测算法的主要评估指标。目标检测模型通常会用速度和精度(mAP)指标描述优劣,mAP值越高,表明该目标检测模型在给定的数据集上的检测效果越好。

AP:PR曲线下的面积。

PR曲线: Precision-Recall曲线。

三、举例计算AP

 这里有3张图片,图中绿色的框是我们人工标注的GT Box,红色的框是模型预测到的目标的Bounding Box。

我们通过列表来统计网络所检测到的目标信息,其中GT ID指的是检测到的目标的IDConfidence是置信度,指当前检测框中是某一类别物体的可能性有多大,它描述模型认为此预测边界框包含某类别目标的概率按降序排列。OB指的是该预测目标是不是TP,其中以Iou=0.5做为边界。

GT ID Confidence OB(IoU=0.5) Precision Recall
1 0.98 True 1.0 0.14
3 0.89 True 1.0 0.28
6 0.88 True 1.0 0.42
7 0.78 True 1.0 0.57
3 0.66 False 0.80 0.57
1 0.61 False 0.66 0.57
4 0.52 True 0.71 0.71

根据刚刚计算的precision和recall,以precision为纵坐标,recall为横坐标可以绘制出这个P-R曲线.

然后用同样方法可以计算得出其他类别的AP,最后取所有类别的AP的均值就可以得到mAP,mAP值越大表明,该目标检测模型在给定的数据集上的检测效果越好。

四、总结

根据 mAP 的高低,我们只能较为概括地知道网络整体性能的好坏,但比较难分析问题具体在哪。

版权声明:本文为CSDN博主「cc巴巴布莱特」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44314290/article/details/121717541

cc巴巴布莱特

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

【原理篇】一文读懂Mask RCNN

Mask RCNN 何凯明大神的经典论文之一,是一个实例分割算法,正如文中所说,Mask RCNN是一个简单、灵活、通用的框架,该框架主要作用是实例分割,目标检测&#xff0