啥也不说,直接把精简总结贴最前面,懂的回顾一下帮忙看看总结的对不对,不懂的继续往下翻看细节解释。如有纰漏,欢迎各位大佬指正。
总结
输入
-
个真值框GTs,个检测结果Dets(bbox+scores)。
预处理:分配+排序
- 根据 IOU 阈值确定 TP, FP(其实FP在计算时没有用);一个GT若有多个Dets,选择其中一个为 TP ,其余为 FP ;
- 根据置信度score,从高到低对所有Dets进行排序;为每个Det进行标记:若其为TP标为1,否则标为0,可得到表 T;T的长度为
,即Dets的数量。
计算 Precision 和 Recall
- 从头开始遍历 T,当前步数为
,则,;
- 其中,
,为当前步时 TP 的个数,为真值框个数;
- PR图:Recall为横轴,Precision为纵轴。
计算 mAP
- PASCAL VOC
- 11点插值法:Recall值为离散的11个点[0, 0.1, ..., 1];对每一个点,在 PR图上向右找最大的Precision值,找到11个对应的Precision值,加和求平均即为AP。
- all点插值法:Recall值为[0, 1]区间内的所有点;对每个点,在 PR图上向右找最大的Precision值,找到无穷个对应的Precision值,对其求定积分即为AP,即近似为PR曲线下的面积。
- COCO
- 101点插值法:COCO使用101点插值法进行计算。
Metrics
在下面的主题中,有一些用于目标检测的最受欢迎度量的介绍。
Precision x Recall curve
Precision x Recall曲线是评估目标检测器性能的好方法,因为通过为每个目标类别绘制一条曲线来改变置信度。如果特定类别的目标检测器的精度随查全率的提高而保持较高,则认为该检测器良好,这意味着,如果您改变置信度阈值,则查准率和查全率仍然很高。识别优质目标检测器的另一种方法是寻找一种只能识别相关物体(0个误报=高精度)的检测器,找到所有ground truth目标(0个误报=高召回率)。
不良的目标检测器需要增加检测到的物体的数量(增加的误报=较低的精度)才能检索所有ground truth目标(高召回率)。因此,Precisio