精确率(Precision)和召回率(Recall)
精确率和召回率是评估目标检测模型性能的重要指标,它们通常在二分类任务中使用。在目标检测中,精确率表示模型正确识别出的目标数与所有被模型预测为目标的框的数量之间的比例。召回率表示模型正确识别出的目标数与总目标数之间的比例。
公式如下:
准确率(Accuracy):Acc = ( TP + TN ) / ( P +N )
精确率( precision ):TP / ( TP+FP ) = TP / P
召回率(recall)):TP / (TP + FN ) = TP / T
案例: 假设我们有一个目标检测模型在一组图像上进行测试,其中涉及10个目标物体。模型识别出了8个目标,其中6个是真实目标(真阳性),2个是错误识别的(假阳性),而实际上还有2个目标未被识别(假阴性)。那么,精确率为6 / (6 + 2) = 0.75,召回率为6 / (6 + 2) = 0.75。
F1分数(F1 Score)
F1分数是精确率和召回率的调和平均,用于综合考虑模型的准确率和召回率。F1分数对于处理不平衡数据集或需要权衡精确率和召回率的情况非常有用。
公式如下:
案例: 假设一个目标检测模型的精确率为0.8,召回率为0.7。那么,F1分数为2 * (0.8 * 0.7) / (0.8 + 0.7) = 0.7619。
IoU(Intersection over Union)
IoU是衡量预测边界框和真实边界框之间重叠程度的指标,常用于评估目标检测框的质量。IoU通过计算预测框和真实框的交集面积除以它们的并集面积来衡量。
公式如下:
通常,如果IoU大于某个阈值(例如0.5),则将预测框视为正确预测。
案例: 考虑一个目标检测任务,真实框的位置为[20, 30, 100, 150],预测框的位置为[25, 35, 95, 145]。交集面积为(95 - 25) * (145 - 35) = 6000,真实框面积为(100 - 20) * (150 - 30) = 9000,预测框面积为(95 - 25) * (145 - 35) = 6000。并集面积为9000 + 6000 - 6000 = 9000。因此,IoU为6000 / 9000 = 0.6667。
P-R曲线(Precision-Recall Curve)和 AP
PR 曲线是用于衡量模型在不同召回率下的准确性的一种图形化表示方式。在目标检测中,召回率是指正确检测出的正样本数量与所有实际正样本数量的比率,而精确率是指正确检测出的正样本数量与所有被模型预测为正样本的样本数量的比率。
用一个简单的例子来演示平均精度(AP)的计算。假设数据集中总共有5个苹果。我们收集模型为苹果作的所有预测,并根据预测的置信水平(从最高到最低)对其进行排名。第二列表示预测是否正确。如果它与ground truth匹配并且loU≥0.5,则是正确的。
表中,Rank一列表示框按置信度由高到低排列后的序号,correct表示该框是否正确,Precision表示计算出的精确率,Recall表示计算出的召回率。
精确率和召回率的计算是一个不断累计的过程,而不是每个框独立的。
例如:
在第一个框时,精确率 = 1/1 =1.0,召回率 =1/5 = 0.2;
在第二个框时,精确率 = 2/2 = 1.0,召回率 = 2/5 = 0.4;
在第三个框时,精确率 = 2/3 = 0.67,召回率 = 2/5 = 0.4;
……
这时,我们根据精确率和召回率,就能绘制出PR曲线:
AP是PR曲线下的面积,会设定采样点,一般在横轴0~1范围内平均分为10或者100段,最后采样的值相加除以采样点数。当然还有别的方法。
mAP(mean Average Precision)
mAP是所有类别AP的平均值,通常用于衡量多类别目标检测任务的整体性能。它对模型在各个类别上的性能进行综合评估,能够准确反映模型在不同类别上的表现。
案例: 假设我们有一个多类别目标检测模型,对于每个类别计算得到的AP如下:
类别 | AP |
猫 | 0.75 |
车辆 |
0.90 |
行人 |
0.70 |
则mAP为(0.85 + 0.75 + 0.90 + 0.70) / 4 = 0.80。
目标检测性能指标在评估模型在不同数据集和任务上的性能时起着重要作用。精确率、召回率、F1分数、IoU、AP、mAP以及P-R曲线等指标能够综合考虑模型在不同方面的表现,帮助我们更好地理解模型的优势和局限性。在实际应用中,根据任务的特点和需求,选择适合的指标来评估模型的性能是至关重要的。