本文详细的介绍了Precision和mAP之间的区别
首先介绍TP、FP、TN和FN
假设数据集中共有60个正样本,40个负样本;我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本
则可以得到:
- TP: 将正类预测为正类数 40
- FN: 将正类预测为负类数 20
- FP: 将负类预测为正类数 10
- TN: 将负类预测为负类数 30
从而根据上述TP、FP、TN和FN计算:
- 准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
- 精确率(precision) = TP/(TP+FP) = 80%
- 召回率(recall) = TP/(TP+FN) = 2/3
注意:
precision 和 recall 的抽取样本方式不同:
召回率是从数据集的同一标签的样本抽样;而准确率是从已经预测为同一类别的样本抽样。
详解AP
AP( Average Precision )
类别 AP 是 P-R 曲线所围成下面积。具体计算可如下图所见:
这是一张,判定预选框和GT( Ground Truth ) 的对比。
通过这张图,每个候选框的预测信息所标记出来。(这里我们设定IOU > 0.3 即为 True, 小于 0.3 即为 负)
由上图的信息,绘制相应 P-R 曲线图。同时按照置信度进行排序得到如下表格。
将这些点标记在坐标系中的得到下图:
根据上图信息,绘制其相应 P-R 曲线如下图:
计算AP
mAP(mean Average Precision )
假设数据集中有非常多的物体类别,如车、人、路标、房屋、动物等等。
那么每一项物体信息都会有其AP值的信息,这里将其做了一个平均操作。