IOU(Intersection Over Union) 概念清晰图解 + python代码示例

IOU是目标检测中的重要指标,衡量候选框与真实框的重合程度。文章通过图解和Python代码示例详细解释了IOU的计算过程,包括不同重叠情况的处理,以及如何从水平和竖直方向上求解交集与并集的比值。
部署运行你感兴趣的模型镜像

IOU(Intersection Over Union)

交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。

title

title

最理想情况是完全重叠,即比值为1。

title

计算

**已知:** 矩形T的左下角坐标(X0,Y0),右上角坐标(X1,Y1); 矩形G的左下角坐标(A0,B0),右上角坐标(A1,B1).

先来看一下水平方向上的情况:

title

根据上图思路,画出给出矩阵x方向可能的三种情况。

title

交集计算的逻辑

交集上界 :

title
交集下界 :
title

  • 当水平不重叠:

title

  • 当有重叠或者是内含的情况时:

title

代码示例

'''
矩形T的左下角坐标(X0,Y0),右上角坐标(X1,Y1); 
矩形G的左下角坐标(A0,B0),右上角坐标(A1,B1).
'''

def iou(T, G):
    '''
    一维 iou 的计算
    '''
    x0, x1 = T # (left, right)
    A0, A1 = G # (left, right)
    
    high = min(x1, A1)
    low = max(x0, A0)

    # intersection
    if high-low<=0:
        intersection  = 0
    else:
        intersection = high-low
    # union
    union = (x1 - x0) + (A1 - A0) - intersection
    # iou
    iou = intersection / union
    return iou

a=iou((0,3),(3,4))
b=iou((0,3),(2,4))
c=iou((0,5),(2,4))
print(a,b,c)

# 0.0 0.25 0.4

计算水平和竖直方向上的情况:

title

title

'''
矩形T的左下角坐标(X0,Y0),右上角坐标(X1,Y1); 
矩形G的左下角坐标(A0,B0),右上角坐标(A1,B1).
'''

def iou(T, G):
    '''
    二维 iou 的计算
    '''
    x0, y0,x1,y1 = T # (left, right)
    A0,B0, A1,B1= G # (left, right)
    
    # intersection
    H = min(x1, A1)-max(x0, A0)
    if H<=0:
        H  = 0
    
    W = min(y1, B1)-max(y0, B0)
    if W<=0:
        W  = 0

    # s
    sT=(y1-y0)*(x1-x0)
    sG=(B1-B0)*(A1-A0)

    intersection=H*W

    # union
    union = sT+sG - intersection
    # iou
    iou = intersection / union
    return iou

a=iou((0,0,2,2),(0,0,4,1))
b=iou((1,1,3,3),(2,1,4,2))
c=iou((0,0,2,2),(2,2,4,3))
print(a,b,c)


>> 0.3333333333333333 0.2 0.0

title

这样定义时,有细微不同

Reference

https://blog.youkuaiyun.com/qq_30490125/article/details/52887389

https://blog.youkuaiyun.com/mdjxy63/article/details/79343733
https://blog.youkuaiyun.com/u014061630/article/details/82818112

您可能感兴趣的与本文相关的镜像

Qwen-Image

Qwen-Image

图片生成
Qwen

Qwen-Image是阿里云通义千问团队于2025年8月发布的亿参数图像生成基础模型,其最大亮点是强大的复杂文本渲染和精确图像编辑能力,能够生成包含多行、段落级中英文文本的高保真图像

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值