一、mAP指标
mean Average Precision(平均精度均值),它是目标检测和信息检索等任务中的重要性能指标。mAP 通过综合考虑精度和召回率来衡量模型的总体性能。
1.1 精度(Precision)
表示检索到的目标中实际为正确目标的比例,计算公式为
1.2 召回率(Recall)
表示所有目标中成功被检索到的比例,计算公式为
1.3 平均精度(AP)
-
平均精度表示的是在不同的召回率阈值下,计算模型的平均精度。通常通过绘制 PR 曲线(Precision-Recall 曲线)计算。
-
PR 曲线的横轴为召回率,纵轴为精度。AP 是 PR 曲线下的面积,即对该曲线进行积分的结果。
1.4 mAP的计算
-
mAP 是对多个类别的 AP 求平均得出的数值。
-
如果目标检测任务中包含 N 个类别,则计算每个类别的 AP,并对所有类别的 AP 取平均,即:
1.5 mAP在2D目标检测的计算
在目标检测中,通常设定一个置信度阈值,用于判定检测结果是否被认为是正例(即预测的目标)。常见的阈值有0.5,即 IOU(交并比)≥ 0.5 被视为有效检测。
比如mAP@0.5表示将IoU设为0.5时,计算每一类的所有图片的AP,然后所有类别求平均得到mAP;
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。
def ap_per_class(tp, conf, pred_cls, target_cls, eps=1e-16):
i = np.argso