物体检测模型评价

物体检测的评价标准

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

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

IOU 的计算方式
在这里插入图片描述

I o U A , B = S A ∩ S B S A ∪ S B IoU_{A,B} = \frac{S_A\cap S_B}{S_A\cup S_B} IoUA,B=SASBSASB

def iou(boxA, boxB):
    """
    IoU 的计算方式,即预测框和真实框的交集与并集的比值
    :param boxA: [x1, y1, x2, y2] [left_top_x, left_top_y, right_bottom_x, right_bottom_y]
    :param boxB: [x1, y1, x2, y2] [left_top_x, left_top_y, right_bottom_x, right_bottom_y]
    :return: 预测框和真实框的交集与并集的比值
    """
    # 计算重合部分的上、下、左、右 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 
    union = Sa + Sb - inter
    iou = inter / union
    return iou

对于 IoU 的值而言,通常会取一个阈值,如 0.5, 来确定预测框是正确的还是错误的,特别的,当两个框的 IoU 大于 0.5 时, 认为是一个有效的检测,否则无效。

在这里插入图片描述

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

正确检测框 TP(True Positive) 预测框正确地与标签匹配了,两者的 IoU 阈值大于 0.5.
误检框 FP (False Positive) 将背景预测成物体,通常 IoU 的阈值小于 0.5.
漏检框 FN (False Negative) 本需要检测出的物体,模型没哟检测出来,如图左上方的杯子.
正确背景 TN (True Negative) 本身是背景,模型没有检测出来,这种情况通常在物体检测不需要考虑.

对于一个检测器,通常使用 mAP(mean Average Precision) 这一指标评价一个模型的好坏,AP 指的是一个类别的检测精度,mAP 指的是多个类别的平均精度,评测时需要每张图片的预测值与标签值.
预测值:(Dets) 物体的类别,边框位置的 4 个预测值, 该物体的得分
标签值:(GTs) 物体的类别,边框位置的 4 个真值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值