物体检测

预测框,真实框贴合评价指标 IoU

定义: 交集面积除以并集面积
通常设置阈值为0.5,IoU大于则认为预测框是有效预测

python 代码实现
def IoU(boxA, boxB):
    #计算重合框顶点坐标,图片左上角为坐标原点
    left_max = max(boxA[0], boxB[0])
    right_min = min(boxA[2], boxB[2])
    top_max = max(boxA[1], boxB[1])
    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])
    union = Sa+Sb-inter
    #计算IoU
    return inter/union
    
print(IoU([0,0,5,5],[3,3,6,6]))
物体检测名词
  1. mAP:AP指一个类别的检测精度,m代表各个类别的平均值
  2. Dets:预测值包括物体类别,得分,边框位置的四个预测值
  3. GTs:标签值包括物体类别,边框位置的四个真值
  4. TP:正确检测框
  5. FP:误检框,将背景检测为物体
  6. FN:漏检框,框内本需要检测出的物体未检出
  7. TN:正确背景框,正确检测出背景
AP的计算过程:
  1. 将所有预测框的得分从高到低排序,然后按序遍历
  2. 对于遍历过程中的某一个预测框,计算其与测试图中同类别的所有变迁框的IoU(一张测试图可能有多个相同的检测目标),并选取IoU最大的目标作为当前预测框的匹配对象。
  3. 如果IoU小于阈值则将当前预测框作为误检框,如果IoU大于阈值则要看对应的标签框是否有更高得分的预测框与其对应,若有则将低分预测框作为FP(将背景检测未物体),若无则作为TP(正确检测)
  4. 遍历完所有预测框之后可以得到所有预测框的属性,然后通过TP(正确检测)的数量来计算模型的召回率,即被检测出的标签和总标签数的比值。
  5. 同时计算遍历过的预测框中,正确预测边框和预测框的比值,记为正确率。
召回率和准确率的图像如下

R-P图像
召回率和准确率很难兼得,所以定义评价指标AP为曲线与坐标轴围成区域的总面积,这样就不会对其中一个变量有所偏好。最后如果是检测多个物体就需要求每个检测类别的AP的平均值作为评价指标

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值