IoU的及其变体

本文介绍了IoU、GIoU、DIoU和CIoU等在目标检测中用于衡量边界框重叠度的方法,强调了它们在不同场景下的优缺点,以及在考虑更多因素时可能带来的计算效率降低。

1. IoU是什么

IoU(Intersection over Union)是一个衡量两个边界框(bounding box)重叠度的指标,常用于目标检测和实例分割任务中。公式如下:IoU=交集区域并集区域IoU = \frac{交集区域}{并集区域}IoU=并集区域交集区域以下图小狗做例子,假设我们要预测狗狗叼着的玉米的位置,则我们就可以通过最小化IoU损失来使得预测的Bounding Box更接近GT在这里插入图片描述
通过计算IoU loss而不是计算 l2\mathbf l_2l2损失 优点和缺点:

  1. 相比于l2\mathbf l_2l2损失更能反应重合程度,且具有尺度不变性
  2. 但是,当两个边界框不相交时,其IoU值为0,就无法进行反向传播

2. GIoU

GIoU=IoU−Ac−uAc     −1≤GIoU≤1GIoU = IoU - \frac{A^c - u}{A^c} ~~~~~ -1 \leq GIoU \leq 1GIoU=IoUAcAcu     1GIoU1 其中AcA^cAc是能框住两个边界框的最小矩形的面积,如下图蓝色的框框
uuu代表了两个边界框的并集的面积
在这里插入图片描述
通过GIoU的这种改进能一定程度的解决IoU中两个框不相交时无法反向传播的问题,同时,GIOU还关注了其他非重合区域,能更好地反映两者的重合度。但是其性能提升并不高,而且当两个边界框具有同样的宽或者高时,Ac=uA^c = uAc=u 导致GIoU退化为IoU

3. DIoU

这个D顾名思义distance,即是一个引入了距离的影响,其公式如下:
DIoU=IoU−d2c2     −1≤DIoU≤1DIoU = IoU - \frac{d^2}{c^2} ~~~~~ -1 \leq DIoU \leq 1DIoU=IoUc2d2     1DIoU1其中这里的d就是对应了两个边界框的中心点之间的欧氏距离
而c是框住两个边界框的最小矩形的左上顶点和右下顶点之间的欧氏距离,如论文中的例子图
在这里插入图片描述
由于DIoU损失能最小化两个bounding box之间的距离,所以其收敛速度会快很多,而且相比与前面提到的IoU和GIoU能更准确的反应两个边界框的重合程度

4. CIoU

Complete-IoU 即是考虑了重叠面积、长宽比、中心点距离三个因素,其公式如下:CIoU=IoU−(b2c2+av)其中                v=4π2(arctanwgthgt−arctanwh)2a=v(1−IoU)+vCIoU = IoU - (\frac{b^2}{c^2} + \mathbf {a v}) \\ 其中~~~~~~~~~~~~~~~~\mathbf v = \frac{4}{\pi^2}(arctan{\frac{w^{gt}}{h^{gt}} - arctan{\frac{w}{h}}})^2 \\ \mathbf a = \frac{\mathbf v}{(1 - IoU) + \mathbf v}CIoU=IoU(c2b2+av)其中                v=π24(arctanhgtwgtarctanhw)2a=(1IoU)+vv当IoU小于0.5时,CIoU退化为DIoU,只考虑预测框和真实框之间的中心点距离;当IoU大于等于0.5时,CIoU同时考虑中心点距离和长宽比的相似程度

我们可以看到由于考虑更多的因素,其计算效率会比另外两个低


上面所说的IoU几种变体在不同的情况下会有不同的效果,所以不能以偏概全,最好实际场景中试试哪一个更合适!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值