ᕕ( ᐛ )ᕗ Jimyag's Blog

目标检测评估指标

检测精度
混淆矩阵(confusion matrix)

confusion matrix 是用来总结一个分类器(classifier)结果的矩阵。对于 k 元分类,其实它就是一个 k x k 的表格,用来记录分类器的预测结果。

对于最常见的二元分类来说,我们的模型最终需要判断样本的结果是 0 还是 1,或者说是 positive 还是 negative。我们通过样本的采集,能够直接知道真实情况下,哪些数据结果是 positive,哪些结果是 negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是 positive,哪些是 negative。

我们可以得到四个数据:

将这四个数据(指标)呈现在表格中,可以得到如下的矩阵

Precision 精确率

在模型预测是 positive 的所有结果中,预测正确的比重。用你预测出来的正确的数量除以所有实际样本的数量。

​ $$ precision = \frac {TP}{TP+FP}$$

Recall 召回率(sensitivity 敏感度)

真实值是 positive 的所有结果中,预测正确的比重。就是用你预测出来的正确的数量除以所有实际正确的数量。评估模型预测的全不全。

$$ recall = \frac {TP}{TP+FN}$$

Accuracy 正确率

$$Accuracy = \frac {TP+TN}{TP+FN+FP+TN}$$

分类模型中所有判断正确的结果占总观测值的比重。

F1-Score

$$F1-Score = \frac{2}{(\frac{1}{Precision}+\frac{1}{Recall})}= \frac{2PrecisionRecall}{Precision+Recall}$$

F1-Score 选择了调和平均数算法进行计算

F1-Score 是对精确率与召回率进行平均的一个结果,指标综合了 Precision 与 Recall 的产出的结果。F1-Score 的取值范围从 0 到 1 的,1 代表模型的输出最好,0 代表模型的输出结果最差。

IoU(Intersection over Union) 交并比

Iou 为 1 则表示 predicated 和 GT 的 bounding boxes 完全重合。

在实际检测中我们可以设置一个 IoU 的阈值(threshold)来判断检测是有效的。

我们设置 IoU 为 0.5

AP (Average Precision) And mAP

AP 衡量学习出来的模型在每一个类别上的好坏。

mAP 衡量的是学习出来的模型在所有类别上的好坏,mAP 是取所有类别上 AP 的平均值。

AP 计算,假设我们的数据集中共有五个待检测的物体,我们的模型给出了 10 个候选框,我们按照模型给出的置信度(confidence)由高到低对候选框进行排序。第二列表示预测是否正确,如果他与 GT 匹配且 IoU>=0.5,则是正确的。FN 在是有几个物体没有被检测出来

Rank Correct? TP FP FN Precision Recall
1 True 1 0 4 $\frac{TP}{TP+FP} = \frac{1}{1+0} = 1$ $\frac{TP}{TP+FN} = \frac{1}{1+4} = 0.2$
2 True 2 0 3 $\frac{TP}{TP+FP} = \frac{2}{2+0} = 1$ $\frac{TP}{TP+FN} = \frac{2}{2+3} = 0.4$
3 False 2 1 3 $\frac{TP}{TP+FP} = \frac{2}{2+1} = 0.67$ $\frac{TP}{TP+FN} = \frac{2}{2+3} = 0.4$
4 False 2 2 3 $\frac{TP}{TP+FP} = \frac{2}{2+2} = 0.5$ $\frac{TP}{TP+FN} = \frac{2}{2+3} = 0.4$
5 False 2 3 3 $\frac{TP}{TP+FP} = \frac{2}{2+3} = 0.4$ $\frac{TP}{TP+FN} = \frac{2}{2+3} = 0.4$
6 True 3 3 2 $\frac{TP}{TP+FP} = \frac{3}{3+3} = 0.5$ $\frac{TP}{TP+FN} = \frac{3}{3+2} = 0.6$
7 True 4 3 1 $\frac{TP}{TP+FP} = \frac{4}{4+3} = 0.57$ $\frac{TP}{TP+FN} = \frac{4}{4+1} = 0.8$
8 False 4 4 1 $\frac{TP}{TP+FP} = \frac{4}{4+4} = 0.5$ $\frac{TP}{TP+FN} = \frac{4}{4+1} = 0.8$
9 False 4 5 1 $\frac{TP}{TP+FP} = \frac{4}{4+5} = 0.44$ $\frac{TP}{TP+FN} = \frac{4}{4+1} = 0.8$
10 True 5 5 0 $\frac{TP}{TP+FP} = \frac{5}{5+5} = 0.5$ $\frac{TP}{TP+FN} = \frac{5}{5+0} =1$

我们可以看到:随着预测的增多 Recall 越来越大,Percision 会上下波动

)

​ 在我们的例子里$AP = \frac{1}{11}(50.1+40.57+20.5) = 0.753$

#YOLOV5