目标检测中召回率和准确率介绍

本文节选于《深度学习之pytorch物体检测实战》,供以后复习时查看

目标检测的评价标准

​    对于一个检测器,我们需要制定一定的规则来评价其好坏,从而选 择需要的检测器。对于图像分类任务来讲,由于其输出是很简单的图像 类别,因此很容易通过判断分类正确的图像数量来进行衡量。

    物体检测模型的输出是非结构化的,事先并无法得知输出物体的数量、位置、大小等,因此物体检测的评价算法就稍微复杂一些。对于具 体的某个物体来讲,我们可以从预测框与真实框的贴合程度来判断检测 的质量,通常使用IoU(Intersection of Union)来量化贴合程度。

**图1   IoU的计算过程**

图1 IoU的计算过程

在这里插入图片描述

利用Python可以很方便地实现IoU的计算,代码如下:

def iou(boxA, boxB): 
    # 计算重合部分的上、下、左、右4个边的值,注意最大最小函数的使用 
    left_max = max(boxA[0], boxB[0]) 
    top_max = max(boxA[1], boxB[1]) 
    right_min = min(boxA[2], boxB[2]) 
    bottom_min = min(boxA[3], boxB[3]) 
    # 计算重合部分的面积 
    inter =max(0(right_min-left_max))* max(0(bottom_min-top_max) Sa = (boxA[2]-boxA[0])*(boxA[3]-boxA[1]) 
    Sb = (boxB[2]-boxB[0])*(boxB[3]-boxB[1]) 
    # 计算所有区域的面积并计算iou,如果是Python 2,则要增加浮点化操作 
    union = Sa+Sb-inter 
    iou = inter/union 
    return iou

    对于IoU而言,我们通常会选取一个阈值,如0.5,来确定预测框是 正确的还是错误的。当两个框的IoU大于0.5时,我们认为是一个有效的 检测,否则属于无效的匹配。如图2中有两个杯子的标签,模型产生 了两个预测框。

在这里插入图片描述

图2、 正、负样本判别示例

    由于图像中存在背景与物体两种标签,预测框也分为正确与错误, 因此在评测时会产生以下4种样本。

  • 正确检测框TP(True Positive):预测框正确地与标签框匹配了, 两者间的IoU大于0.5,如图2中右下方的检测框。
  • 误检框FP(False Positive):将背景预测成了物体,如图2中左 下方的检测框,通常这种框与图中所有标签的IoU都不会超过0.5。
  • 漏检框FN(False Negative):本来需要模型检测出的物体,模型 没有检测出,如图2中左上方的杯子。
  • 正确背景(True Negative):本身是背景,模型也没有检测出来, 这种情况在物体检测中通常不需要考虑。

        有了上述基础知识,我们就可以开始进行检测模型的评测。对于一个检测器,通常使用mAP(mean Average Precision)这一指标来评价一 个模型的好坏,这里的AP指的是一个类别的检测精度,mAP则是多个 类别的平均精度。评测需要每张图片的预测值与标签值,对于某一个实 例,二者包含的内容分别如下:

  • 预测值(Dets):物体类别、边框位置的4个预测值、该物体的得分。
  • 标签值(GTs):物体类别、边框位置的4个真值。

    在预测值与标签值的基础上,AP的具体计算过程如图3所示。我 们首先将所有的预测框按照得分从高到低进行排序(因为得分越高的边 框其对于真实物体的概率往往越大),然后从高到低遍历预测框。

在这里插入图片描述

图3 、 AP的计算过程

​ 对于遍历中的某一个预测框,计算其与该图中同一类别的所有标签框GTs的IoU,并选取拥有最大IoU的GT作为当前预测框的匹配对象。如 果该IoU小于阈值,则将当前的预测框标记为误检框FP。

​ 如果该IoU大于阈值,还要看对应的标签框GT是否被访问过。如果 前面已经有得分更高的预测框与该标签框对应了,即使现在的IoU大于 阈值,也会被标记为FP。如果没有被访问过,则将当前预测框Det标记 为正确检测框TP,并将该GT标记为访问过,以防止后面还有预测框与 其对应。

​ 在遍历完所有的预测框后,我们会得到每一个预测框的属性,即TP 或FP。在遍历的过程中,我们可以通过当前TP的数量来计算模型的召回率(Recall,R),即当前一共检测出的标签框与所有标签框的比 值,如式(1-2)所示。

在这里插入图片描述

​ 除了召回率,还有一个重要指标是准确率(Precision,P),即当 前遍历过的预测框中,属于正确预测边框的比值,如式(1-3)所示。

在这里插入图片描述

​ 遍历到每一个预测框时,都可以生成一个对应的P与R,这两个值 可以组成一个点(R,P),将所有的点绘制成曲线,即形成了P-R曲线,如图4所示。

在这里插入图片描述

图4、 物体检测的P-R曲线

​ 然而,即使有了P-R曲线,评价模型仍然不直观,如果直接取曲线 上的点,在哪里选取都不合适,因为召回率高的时候准确率会很低,准 确率高的时候往往召回率很低。这时,AP就派上用场了,计算公式如 式(1-4)所示。

在这里插入图片描述

​ 从公式中可以看出,AP代表了曲线的面积,综合考量了不同召回率下的准确率,不会对P与R有任何偏好。每个类别的AP是相互独立 的,将每个类别的AP进行平均,即可得到mAP。严格意义上讲,还需 要对曲线进行一定的修正,再进行AP计算。除了求面积的方式,还可 以使用11个不同召回率对应的准确率求平均的方式求AP。

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值