资讯

平均精度均值 mAP 是什么?目标检测最常用的评价指标

2026-11-052 分钟阅读百科
TL;DR平均精度均值(mAP)是目标检测和信息检索中广泛使用的性能指标,先在不同置信度阈值下根据精确率和召回率计算每个类别的平均精度(AP),再对所有类别求平均,综合反映模型的检测准确性,COCO 等基准会在多个交并比阈值下计算它。

平均精度均值(mean Average Precision,mAP)是目标检测任务中最广泛使用的性能指标。它通过综合考虑不同置信度阈值下的精确率和召回率,来衡量一个目标检测模型的整体准确性。它也被用于信息检索和推荐系统等领域。

为什么需要它

评价目标检测模型比评价分类模型复杂得多:一张图中可能有多个物体,模型需要同时判断“是什么”(类别对不对)和“在哪里”(框的位置准不准);模型会对每个检测结果给出一个置信度,设置不同的置信度阈值,得到的检测结果也不同。我们需要一个能综合反映这些方面的单一数字,方便比较不同的模型。

怎么计算

第一步,判断每个检测结果是否正确:通常用交并比(IoU)来衡量预测框和真实框的重叠程度,如果重叠程度超过某个阈值,比如 0.5,并且类别正确,就算作一个正确的检测(真阳性),否则算作错误的检测(假阳性);没有被检测到的真实物体算作漏检。

第二步,计算每个类别的平均精度(AP):把模型对某个类别的所有检测结果按置信度从高到低排列,逐个往下看,每多看一个结果,就计算一次此时的精确率(检测到的结果中有多少是对的)和召回率(所有真实物体中有多少被找到了)。以召回率为横轴、精确率为纵轴画出一条曲线,叫精确率-召回率曲线。这条曲线下的面积,就是这个类别的平均精度。AP 越高,说明模型在这个类别上既能找得全、又能找得准。

第三步,求平均:把所有类别的 AP 求平均值,就得到了 mAP。

不同的口径

不同的数据集和基准对 mAP 的计算方式略有不同,比较时需要注意口径一致。PASCAL VOC 数据集通常使用 0.5 的交并比阈值,记作 mAP@0.5。COCO 数据集更严格,它在 0.5 到 0.95 之间每隔 0.05 取一个交并比阈值,共 10 个阈值,分别计算 mAP 后再取平均,记作 mAP@[0.5:0.95],这要求检测框的位置更加精确。COCO 还会分别报告小、中、大物体的 mAP。mAP 是比较 YOLO、Faster R-CNN、DETR 等目标检测模型时最常引用的指标,在实际应用中,通常还要结合推理速度一起考虑。