如何衡量目标检测算法的优劣
目标检测(object detection)问题相对于一般AI分类问题更加复杂,不仅检测出目标,输出目标的类别,还要定位出目标的位置。分类问题中的简单accuray指标已经不能反映出目标检测问题结果的准确度,而mAP (Mean Average Precision)就是被用来衡量目标检测算法优劣的常用指标。
要理解什么是mAP,需要先澄清什么是Precision(查准率)和Recall(查全率)。
1. mAP相关概念
1.1 正例与负例
假设我们的分类目标只有两类,计为正例(positive)和负例(negtive)。T表示预测正确,F表示预测错误。
然后我们就能得到如下的四种情况:
(1)True positives(TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);
(2)False positives(FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;
(3)False negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数;
(4)True negatives(TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
1.2 P(精确率)
P 代表 precision,即精确率,又称为查准率。精确率表示预测样本中实际正样本数占所有正样本数的比例,计算公式为:
精确率 = 正确预测样本中实际正样本数 / 所有的正样本数
即 precision = TP/(TP+FP);
1.3 R(查全率)
R 代表 recall ,即召回率,召回率表示预测样本中实际正样本数占所有预测的样本的比例,计算公式为:
召回率 = 正确预测样本中实际正样本数 /实际的正样本数
即 Recall = TP/(TP+FN) ;
一般来说,召回率越高,准确率越低。
查全率和查准率通常是一对矛盾的度量,一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。
1.4 IoU指标
目标检测问题中,算法通常输出一个预测框来标识检出目标的位置,要衡量这个预测框与目标的实际位置(ground truth)的准确度,可以使用IoU指标。
交并比IoU(Intersection over union):交并比IoU衡量的是两个区域的重叠程度,是两个区域重叠部分面积占二者总面积(重叠部分只计算一次)的比例。目标检测中IoU就是预测框与实际框的交集除以并集。
我们可以设置一个IoU阈值(threshold),通常是0.5,预测结果可以分为:
(1)如果IoU >= 0.5
如果预测类别也正确,认为是一个好的预测,分类为TP
如果预测类别错误,认为是一个坏的预测,分类为FP
(2)如果IoU < 0.5, 认为是一个坏的预测,分类为FP
如果一个目标出现在图像中,但是算法未检出,分类为FN
TN(图像上所有不包含实际框和检测框的部分)通常计算中用不到。
1.4 ACC(准确率)
ACC 代表 Accuracy,即准确率,准确率表示预测样本中预测正确数占所有样本数的比例,计算公式为:
准确率 = 预测样本中所有被正确分类的样本数 / 所有的样本数
即 ACC = (TP+TN)/(TP+FP+TN+FN);
1.5 AP(平均精确度)
AP 代表 *Average Precision*,即平均精确度,是单个类别平均精确度。
对于目标检测任务而言,每一个类都可以计算出其Precision和Recall,通过合理的计算,每个类都可以得到一条P-R曲线,曲线下的面积就是AP的值。
计算面积:
即:AP = A1 + A2 + A3 + A4
2. mAP
2.1 mAP简介
而mAP是 Mean Average Precision 的缩写,是所有类别的平均精确度mAP ,即 均值平均精度。
作为目标检测中衡量检测精度的指标。
计算公式为:mAP = 所有类别的平均精度求和除以所有类别。
2.2 mAP_0.5
即将IoU阈值设为0.5时求出的mAP。
2.3 mAP_0.5:0.95
表示在不同IoU阈值(从0.5到0.95,步长0.05)上的平均mAP。
标签:mAP,预测,样本数,优劣,IoU,衡量,算法,负例,TP From: https://www.cnblogs.com/qqsj/p/17432937.html