交并比 iou

交并比

在判定预测框和真实框之间的准确度的时候,我们可以用iou进行量化,如下图,黑框为真实框,红框为预测框,

  • 并集:橙色部分面积+蓝色部分面积
  • 交集:蓝色部分面积
    通过计算 交集 / 并集 的比值来量化预测结果的准确度,如果为1表示预测框和真实框重合
    在这里插入图片描述
def box_iou(box, boxes):
    """

    :param box: [4,](x1,y1,x2,y2)
    :param boxes: [n,4]
    :return: [n]
    """
    # box 面积
    box_area = ((box[2] - box[0] + 1) * (box[3] - box[1] + 1))
    # boxs 面积 [n,]
    boxes_area = (boxes[:, 2] - boxes[:, 0] + 1) * (boxes[:, 3] - boxes[:, 1] + 1)
    # 重叠部分左上右下坐标
    xx1 = np.maximum(box[0], boxes[:, 0])
    yy1 = np.maximum(box[1], boxes[:, 1])
    xx2 = np.minimum(box[2], boxes[:, 2])
    yy2 = np.minimum(box[3], boxes[:, 3])

    # 重叠部分长宽
    w = np.maximum(0, xx2 - xx1 + 1)
    h = np.maximum(0, yy2 - yy1 + 1)
    # 计算重叠面积
    inter = w * h
    iou = inter / (box_area + boxes_area - inter + 1e-10)
    return iou
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值