飞道的博客

【目标检测】一、目标检测中常见的评价指标

300人阅读  评论(0)

一、定义

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:也叫查准率:指模型预测的所有目标中,预测正确的比例。
公式:

P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

1.5、Recall

Recall:也叫查全率:指所有真实目标中,模型预测正确的目标比例。
公式:

R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

1.6、AP

AP:指PR曲线(Precision-Recall曲线)下的面积

1.7、mAP

mAP(mean Average Precision):即每个类别AP的平均值。

二、mAP计算过程(实例)

以猫为例 步骤:

  1. 如下图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的表格

  3. 用图2的预测框信息表格,以Confidence=0.98, 计算对应的Precision和Recall,输入Precision-Recall表格
    理解:
    TP=当前满足Confidence的预测框中OB=True的个数;
    FP=当前满足Confidence的预测框中OB=False的个数
    FN:总目标个数为7,但这里只检测到了1个(1),所有他这里漏检了6个,所以FN=6

  4. 再以Confidence= 0.89, 0.88, 0.78, 0.66…计算每一步的Precision和Recall,得到如下图3右边的Precision-Recall表格。

  5. 将Recall相同的信息只保留Precision最大的,删除多余的信息。再以Recall为横坐标,Precision为纵坐标生成对应的Precision-Recall图:

  6. 计算猫的 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.140)1.0+(0.280.14)1.0+(0.420.28)1.0+(0.570.42)1.0+(0.710.57)0.71=0.6694

  7. 同理计算出其他种类的AP, 再对所有AP取和求平均得到最终mAP.

三、YoLo输出结果的理解


  1. 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
  2. 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
  3. 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

  1. https://www.bilibili.com/video/BV1ez4y1X7g2
  2. 链接: 代码.
  3. https://blog.csdn.net/Gentleman_Qin/article/details/84800188

转载:https://blog.csdn.net/qq_38253797/article/details/116500993
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场