目标检测 您所在的位置:网站首页 矩形的长宽公式 目标检测

目标检测

2024-07-08 23:11| 来源: 网络整理| 查看: 265

在这里插入图片描述

常见IoU解读与代码实现 一、✒️IoU(Intersection over Union)1.1 🔥IoU原理☀️ 优点⚡️缺点 1.2 🔥IoU计算1.3 📌IoU代码实现 二、✒️GIoU(Generalized IoU)2.1 GIoU原理☀️优点⚡️缺点 2.2 🔥GIoU计算2.3 📌GIoU代码实现 三、✒️DIoU(Distance-IoU)3.1 DIoU原理☀️优点⚡️缺点 3.2 DIoU计算3.3 📌DIoU代码实现 四、✒️CIoU(Complete-IoU)4.1 CIoU原理☀️优点⚡️缺点 4.2 CIoU计算4.3 📌CIoU代码实现 五、✒️EIOU(Efficient-IoU)5.1原理5.2 代码实现 六、✒️Focal-EIOU6.1 原理☀️优点⚡️缺点 📌6.2 代码实现 七、✒️SIOU(Soft Intersection over Union)7.1原理 八、✒️Wise-IoU

一、✒️IoU(Intersection over Union) 1.1 🔥IoU原理

🚀交并比(IoU, Intersection over Union)是一种计算不同图像相互重叠比例的算法,经常被用于深度学习领域的目标检测或语义分割任务中。

在我们得到模型输出的预测框位置后,也可以计算输出框与真实框(Ground Truth Bound)之间的 IoU,此时,这个框的取值范围为 0~1,0 表示两个框不相交,1 表示两个框正好重合。

1-IOU 表示真实框与预测框之间的差异,如果用 1-IOU,这时的取值范围还是 0~1,但是变成了 0 表示两个框重合,1 表示两个框不相交,这样也就符合了模型自动求极小值的要求。因此,可以使用1-IOU来表示模型的损失函数(Loss 函数)。

🎯IoU 的定义如下: 在这里插入图片描述

✨直观来讲,IoU 就是两个图形面积的交集和并集的比值 在这里插入图片描述

☀️ 优点

使用IoU来计算预测框和目标框之间的损失有以下优点:

具有尺度不变性;满足非负性;满足对称性; ⚡️缺点

如果只使用IoU交并比来计算目标框损失的话会有以下问题:

预测框与真实框之间不相交的时候,如果|A∩B|=0,IOU=0,无法进行梯度计算;相同的IOU反映不出实际预测框与真实框之间的情况,虽然这三个框的IoU值相等,但是预测框与真实框之间的相对位置却完全不一样; 在这里插入图片描述

也就是说,IoU 初步满足了计算两个图像的几何图形相似度的要求,简单实现了图像重叠度的计算,但无法体现两个图形之间的距离以及图形长宽比的相似性。

1.2 🔥IoU计算

上面介绍了IoU原理,下面是IoU简单计算的原理图,我们需要先计算出相交部分黄色的面积,然后再计算蓝框的面积与绿框围成面积的总和,然后计算两者的比值,如下:假设一个格子的面积是1,交集黄色部分的面积为2x2=4,蓝框与绿框围成面积总和为3x3+4x4-2x2=21,所以IOU=4/21=0.19;

在这里插入图片描述

在代码中并不是采用上面的计算方法,而是使用坐标进行计算,如下图,矩形 AC 与矩形 BD 相交,它们的顶点A、B、C、D,分别是:A(0,0)、B(3,2)、C(6,8)、D(9,10) 在这里插入图片描述 📟此时 IoU 的计算公式应为: 在这里插入图片描述 带入 A、B、C、D 四点的实际坐标后,可以得到: 在这里插入图片描述

1.3 📌IoU代码实现 import numpy as np def IoU(box1, box2): # 计算中间矩形的宽高 in_w = min(box1[2], box2[2]) - max(box1[0], box2[0]) in_h = min(box1[3], box2[3]) - max(box1[1], box2[1]) # 计算交集、并集面积 inter = 0 if in_w


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有