单阶段目标检测-iou

目录

一、概念

 二、IOU计算

三、代码实现:


一、概念

        IoU是一种测量在特定数据集中检测相应物体准确度的一个标准。IoU是 一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxex)的 任务都可以用IoU来进行测量。为了可以使IoU用于测量任意大小形状的物体检 测,我们需要:

        ground-truth bounding boxes(人为在训练集图像中标出要检测物体的大 概范围) 我们的算法得出的结果范围。 也就是说,这个标准用于测量真实和预测之间的相关度,相关度越高,该值 越高。如下图所示。绿色标线是人为标记的正确结果(ground-truth),红色 标线是算法预测的结果(predicted)。

 二、IOU计算

        IoU是两个区域重叠的部分除以两个区域的集合部分得出的结果,通过设定 的阈值,与这个IoU计算结果比较。

        计算的公式为:

        

        可以看到IOU是一个比值,即交并比。 在分子部分,值为预测框和实际框之间的重叠区域;

 

在分母部分,值为预测框和实际框所占有的总区域。 

        交区域和并区域的比值,就是IOU。

         那么我们为什么要用IOU?

        目标检测任务的结果是框的锁定,

        因此当我们输入图片时,模型应该给出一个推测,也就是它认为在照片中 哪些地方有物体,以及物体的范围。由此,模型推测的结果和目标之间就会出 现一个误差,而评价这个误差程度的方法就是IoU。

        Iou是一种评价指标,让我们能够比较不同的目标检测任务或者模型的优 劣。

三、代码实现:

# #实现IOU
#
# """
# 1.两个框iou计算
# 注意:边框以左上为原点
# 2,box:[x1,y1,x2,y2]依次为左上右下坐标
#
# """
"""
1. 导入相关的头文件
2. 设置两个框(bbox). 并两个框之间做乘法运算两个框之间做乘法运算
3. 求两个框的交集,
4, 计算出两个框的交并比
5, 自定义两个框的三维矩阵
6, 两个框做交并比运算得出结果
"""
import os
import numpy as np输出结果为:
第十章 , 单阶段目标检测--重要知识点之一
NMS
 
1,概念: 
def iou(box1,box2):
   #获取矩形框交集对应的左上角和右下角的坐标(intersection)---先求
高度,宽度
   h = max(0,min(box1[2],box2[2]) - max(box1[0],box2[0]))
   w = max(0,min(box1[3],box2[3]) - max(box1[1],box2[1]))
   ## 计算两个矩形框面积
   area_box1 = ((box1[2]-box1[0]) *(box1[3]-box1[1]))   #C的
面积 预测框
   area_box2 = ((box2[2] - box2[0]) * (box2[3] - box2[1])) 
#G的面积 真实框
   inter = w * h #交集   area = w * h #C∩G的⾯积
   union = area_box1 + area_box2 -inter #并集
   iou = inter / union # 交集除以并集
   return iou #返回iou
box1 = [100,100,200,200]
box2 = [120,120,200,200]
Iou = iou(box1,box2)
print(Iou)

 输出结果为:

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值