【深度学习常见问题——IOU】

IOU

介绍

交并比(Intersection over Union),表示两个bbox交集部分面积和并集部分面积的比值。
在这里插入图片描述

公式

I o U = A ∩ B A ∪ B IoU = \frac{A \cap B }{A \cup B} IoU=ABAB

优点

  1. 尺度不变性:不受bbox本身尺寸大小影响

缺点

  1. 无法反映两bbox的距离:如果IOU=0,看不出距离的远近
  2. 无法反映两bbox的交叠情况:同样的IOU取值,看不出是怎么重叠的
  3. 作为损失函数时,无交叠情况没有梯度回传( L o s s = 1 − I O U Loss=1-IOU Loss=1IOU)

实现代码

def cal_IOU(bbox_a, bbox_b):
    # bbox_a : x1,y1,x2,y2(ltrb)
    # bbox_b : x3,y3,x4,y4(ltrb)
    x1,y1,x2,y2 = bbox_a
    x3,y3,x4,y4 = bbox_b
    # 计算交集
    intersection_h = min(x2, x4) - max(x1, x3)
    intersection_w = min(y2, y4) - max(y1, y3)
    # 考虑两个bbox不相交的情况
    intersection_h = max(intersection_h, 0)
    intersection_w = max(intersection_w, 0)
    intersection = intersection_h * intersection_w
    # 计算并集
    union = (x2-x1)*(y2-y1) + (x4-x3)*(y4-y3) - intersection
    return intersection / union

GIOU

介绍

在这里插入图片描述

公式

G I O U = I O U − C − A ∪ B C GIOU = IOU - \frac{C-A \cup B}{C} GIOU=IOU

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值