一、定义
1.1、TP
TP(True Positive):IoU>0.5的检测框数量;检测成正样本,且检测对了(本质是正样本)
1.2、FP
FP(False Positive):IoU<=0.5的检测框数量(误检);检测成正样本,但检测错了(本质是负样本)
1.3、FN
FN(False Negative):没有检测到的GT的数量(漏检);检测成负样本,但是检测错了(本质是正样本)
1.4、Precision
Precision:也叫查准率:指模型预测的所有目标中,预测正确的比例。
公式:
1.5、Recall
Recall:也叫查全率:指所有真实目标中,模型预测正确的目标比例。
公式:
1.6、AP
AP:指PR曲线(Precision-Recall曲线)下的面积
1.7、mAP
mAP(mean Average Precision):即每个类别AP的平均值。
二、mAP计算过程(实例)
以猫为例 步骤:
-
如下图1,绿色框是我们人工标注好的GT Box, 红色框是我们网络预测的bounding box。先累加我们训练集中目标的个数,图1有两个目标,所以num_ob = 2;再用一个列表来统计我们网络中所检测到的目标信息(按Confidence降序排列),表头GT ID=预测框对应的GT id (并不是每个GT id都会出现在表格中,有可能预测框根本就没有检测到某个GT,如图1的GT id=2),Confidence=预测目标的一个概率,OB=这个预测框是否是TP(用IOU>0.5来判断,而不是用Confidence)。
-
第二张图,第三张图…以此类推,将数据集中所有的猫的预测框信息加入这个表格中,假设得到如图2的表格
-
用图2的预测框信息表格,以Confidence=0.98, 计算对应的Precision和Recall,输入Precision-Recall表格
理解:
TP=当前满足Confidence的预测框中OB=True的个数;
FP=当前满足Confidence的预测框中OB=False的个数
FN:总目标个数为7,但这里只检测到了1个(1),所有他这里漏检了6个,所以FN=6
-
再以Confidence= 0.89, 0.88, 0.78, 0.66…计算每一步的Precision和Recall,得到如下图3右边的Precision-Recall表格。
-
将Recall相同的信息只保留Precision最大的,删除多余的信息。再以Recall为横坐标,Precision为纵坐标生成对应的Precision-Recall图:
-
计算猫的 A P = ( 0.14 − 0 ) ∗ 1.0 + ( 0.28 − 0.14 ) ∗ 1.0 + ( 0.42 − 0.28 ) ∗ 1.0 + ( 0.57 − 0.42 ) ∗ 1.0 + ( 0.71 − 0.57 ) ∗ 0.71 = 0.6694 AP = (0.14-0)*1.0 + (0.28-0.14)*1.0 + (0.42-0.28)*1.0 +(0.57-0.42)*1.0 + (0.71-0.57)*0.71=0.6694 AP=(0.14−0)∗1.0+(0.28−0.14)∗1.0+(0.42−0.28)∗1.0+(0.57−0.42)∗1.0+(0.71−0.57)∗0.71=0.6694
-
同理计算出其他种类的AP, 再对所有AP取和求平均得到最终mAP.
三、YoLo输出结果的理解
- AP(这里其实就是mAP):
第一行表示coco评价指标(最常用的一个指标),即IoU = [0.5, 0.95],每间隔0.05取一个IoU,算出每个IoU对应的mAP,再取所有mAP的平均值,即AP;
第二行表示voc评价指标,就是IoU = 0.5,算出其对应的mAP,即 A P I o U = . 50 AP^{IoU=.50} APIoU=.50
第三行表示更加严格的一个指标(如果对定位要求比较高就用这个),就是IoU=0.75对应的mAP, 即 A P I o U = . 75 AP^{IoU=.75} APIoU=.75 - AP Across Scales(针对不同尺度的mAP, 到具体的项目具体分析要不要用下面的mAP):
A P s m a l l AP^{small} APsmall: 对小目标 ( a r e a < 3 2 2 area < 32^2 area<322) 计算得到的mAP
A P m e d i u m AP^{medium} APmedium: 对中目标 ( 3 2 2 < a r e a < 9 6 2 32^2 < area < 96^2 322<area<962) 计算得到的mAP
A P l a r g e AP^{large} APlarge: 对大目标 ( a r e a > 9 6 2 area > 96^2 area>962) 计算得到的mAP - AR (召回率 可以用于分析数据集的目标框情况):
A R s m a l l AR^{small} ARsmall: 设置每张图片最多1个目标框情况下得到的AR
A R m e d i u m AR^{medium} ARmedium: 设置每张图片最多10个目标框情况下得到的AR
A R l a r g e AR^{large} ARlarge: 设置每张图片最多100个目标框情况下得到的AR
Reference
- https://www.bilibili.com/video/BV1ez4y1X7g2
- 链接: 代码.
- https://blog.csdn.net/Gentleman_Qin/article/details/84800188
转载:https://blog.csdn.net/qq_38253797/article/details/116500993