开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情
1. 基本概念
IoU
IoU的定义:预测框和真实框的交并比。
IoU用来定义正负样本,若IoU>threshold,则为正样本;若IoU<=threshold,则为负样本。
Precision & Recall
查准率:预测为正且预测对的样本与所有预测为正的样本之比。
查全率:预测为正且预测对的样本与所有实际为正的样本之比。
2. mAP计算流程
当一个数据集通过我们的目标检测算法,得到了预测的框和预测的类别。接下来,我们就需要通过计算IoU来判定这些预测框的正负性,以及经过mAP来判定我们算法的好坏。
举例说明:
Image1,2预测猫猫类别。红框为预测框,绿框为真实框。百分数为预测猫猫置信度。
根据置信度降序进行排序。将IoU>0.5的预测框置为TP,IoU<=0.5的预测框置为FP。 计算每个置信度阈值下的Precision和Recall:例如,confidence>=88%时,所有数据集中,(将confidence<88%的预测框忽略掉。多个预测框对应同一个GT,则置信度最高的那个视为TP,其他的视为FP)TP=1,FP=1,FN=2,因此Precision=1/2,Recall=1/3。
绘制出P-R曲线图,然后计算P-R曲线面积作为AP值。
步骤
0.选用较低的置信度阈值来筛选网络的预测框。使用nms去除高度重复的框。
1.根据置信度降序,将confidence<边界值的预测框忽略掉,先根据IoU阈值判定TP、FP、FN,当多个预测框对应同一个GT,则置信度最高的那个视为TP,其他的视为FP。
2.计算不同置信度阈值下的Precision和Recall,绘制P-R曲线。
3.P-R曲线面积即为AP值。
4.计算完每个类的AP值求平均即为mAP。
COCO数据集的mAP
COCO数据集的"AP"是对不同的IoU阈值的AP值取平均,再对类别取平均得到最终的mAP(在COCO中mAP也叫AP)。