目标检测模型的评价指标(Acc, Precision, Recall, AP, mAP, RoI)
对于一个目标检测模型的好坏,总的来说可以从以下三个方面来评估:
- 分类的精度如何。一般可以用准确度(Accuracy),精度(Precision),召回率(Recall Rate), PR 曲线,AP,mAP等
- 定位的精度如何。比如 IoU
- 运行的速度如何。比如 fps,一秒处理几张图。
严格说某些场合也会很在意模型的大小,这也是一个研究方向,比如 squeeze net, mobile net, shuffle net 等。所以除了上面三个维度,模型的大小也可以是一个评价维度。
1.基础知识
由于有些指标是统计指标,所以我们先回顾一下相关的统计学知识。
我们在做假设检验的时候会犯两种错误。
- 第一,原假设是正确的,而你判断它为错误的;
- 第二,原假设是错误的,而你判断它为正确的。
我们分别称这两种错误为第一类错误和第二类错误。也许不是很清晰,直接看下面的图(图片来自知乎)就一目了然了。
对于上面的两张图,我们的原假设是没有怀孕。对于第一张图,原假设是对的,但是却判断它为错误的。对于第二张图,原假设是错误的,但是却判断它为正确的。
这个问题如果放到混淆矩阵里面就更清楚了。
真实值(label)\ 预测值 | 正例 | 反例 |
---|---|---|
正例 | TP | FN |
反例 | FP | TN |
2. 准确度(Accuracy, Acc)
准确度是所有预测中预测正确的比例。
A c c = T P + T N T P + F N + F P + F N Acc = \frac{TP + TN}{TP + FN + FP + FN} Acc=TP+FN+FP+FNTP+