目标检测:IoU介绍及其改进

简介

  在目标检测中常用到一个指标IoU,又称交并比,用于衡量一幅图像中两个边界框的重合度。在训练阶段,可以用于衡量锚框和物体边界框之间的相似度,来给每个锚点划分正负样本,即给锚点匹配标签,同时也可以用作损失函数,通过提高预测边界框与真实边界框之间的相似度来改善网络预测物体边界框的能力;在测试阶段,可以利用IoU来衡量预测边界框之间的重合度,用于过滤重合度高的边界框,即参与NMS运算。

计算公式

  边界框A和边界框B之间的交集区域面积除以并集区域面积
IoU = A ∩ B A ∪ B \text{IoU}=\frac{A\cap B}{A\cup B} IoU=ABAB

其中 A A A B B B分别表示两个边界框区域。

  在传统利用 l 1 l_1 l1公式计算边界框损失时,很容易受到物体尺度变化的干扰,即大物体所对应的边界框数值很大,往往具有很大的距离损失,容易主导网络朝着检测大物体的方向优化,不利于网络检测小物体。相比之下,利用IoU计算边界框损失时有一个很大的优点——损失结果具有尺度不变性,即损失大小不会受到物体尺度信息的影响,可以更准确地反应边界框相似度。

  但是,利用传统的IoU衡量相似度时也有一定的问题,若两个边界框无重叠,则IoU数值为0,并不能反应两个边界框之间的相对相似度,例如:不能很好地反应距离,离得近的边界框肯定要比离得远的边界框更“相似”,此时,如果将IoU用作损失,则梯度为0,无法进行优化。

改进

参考链接:https://blog.csdn.net/xian0710830114/article/details/128177705

Generalized IoU——GIoU

会议时间:IEEE Conference on Computer Vision and Pattern Recognition 2019 (CVPR, 2019)

论文地址:https://openaccess.thecvf.com/content_CVPR_2019/papers/Rezatofighi_Generalized_Intersection_Over_Union_A_Metric_and_a_Loss_for_CVPR_2019_paper.pdf

  为了解决两个边界框不想交时无法IoU无法衡量相似度这一问题,在论文《GIoU》中,作者引入了两个边界框最小外接矩形这一概念,具体如下图灰色虚线矩形框所示:

在这里插入图片描述

最小外接矩形的面积可以很好地衡量边界框之间非重合区域的相似度

计算公式
G I o U = I o U − C − A ∪ B C GIoU=IoU-\frac{C-A\cup B}{C} GIoU=IoUCCAB
其中,C表示边界框A和B之间的最小外接矩形, C − A ∪ B C-A\cup B CAB比较大时,说明两个边界框非重合区域比较大、距离比较远,此时GIoU数值较小。

损失函数
L G I o U = 1 − G I o U L_{GIoU}=1-GIoU LGIoU=1GIoU
优点:

  • 当IoU为0时,仍可以通过衡量两个边界框之间的距离来衡量边界框之间的相似度;
  • 相对于IoU而言,GIoU不仅关注重合区域,还关注非重合区域,可以更好地反应两个边界框之间的重合度。

缺点:

  • 当两个边界框为包含关系时, C = A ∪ B = max ⁡ { A , B } C=A\cup B=\max\{A, B\} C=AB=max{A,B},此时GIoU会退化为IoU,无法区分相对的相似度(类似无交集时的缺点);
  • 在GIoU中,边界框之间的距离很大程度上靠最小外接矩形体现,当两个边界框水平或者垂直时,水平或垂直移动一侧的边界框,最小外接矩形可能不发生变化,GIoU可能不变;

在这里插入图片描述

其中,按行来看,每行中三种情况的GIoU结果相同,但只有C的重合情况是最好的,即两个边界框是相似度最高的。

Distance IoU——DIoU

会议时间:Association for the Advancement of Artificial Intelligence, 2020 (AAAI, 2020)

论文地址:https://arxiv.org/pdf/1911.08287.pdf

  针对GIoU所具有的问题,在论文《DIoU》中,作者删去了计算最小外接矩形面积的操作,引入两个边界框距离这一变量(两个边界框中心点之间的距离),利用边界框距离来辅助衡量两个边界框的相似度,具体如下图所示:

在这里插入图片描述

计算公式:
D I o U = I o U − ρ 2 ( b , b g t ) c 2 DIoU=IoU-\frac{\rho^2(b,b^{gt})}{c^2} DIoU=IoUc2ρ2(b,bgt)
其中 ρ \rho ρ表示计算向量之间的欧氏距离, b , b g t b,b^{gt} b,bgt分别表示两个边界框(预测框和标签框), c c c表示最小外接矩形的对角线距离, ρ 2 ( b , b g t ) \rho^2(b,b^{gt}) ρ2(b,bgt)对应上图中的 d d d

损失函数:
L D I o U = 1 − D I o U L_{DIoU}=1-DIoU LDIoU=1DIoU
优点:

  • L D I o U L_{DIoU} LDIoU可以直接最小化两个边界框之间的距离,因此收敛速度要比 G I o U GIoU GIoU快;
  • 解决了GIoU中边界框包含以及编辑框水平(或垂直)带来的问题;

注:

  • DIoU并没有直接利用边界框距离做运算,还对距离做了归一化处理(除以最小外接矩形的对角线长度),防止边界框尺度变化带来的干扰;
  • DIoU还可以应用到NMS运算中,替换原始的IoU评价策略,使NMS的评价结果更加合理有效。

缺点:

  • 边界框之间的宽高比例也是衡量两个边界框相似度的重要指标,只通过衡量边界框的距离无法体现宽高比例这一因素,具体如下图所示:

在这里插入图片描述

其中,三种情况DIoU数值相同,但C的相似度明显更好,DIoU的运算忽略了这种状况。

Complete IoU——CIoU

  对于DIoU的缺点,作者同时设计了CIoU,在计算相似度时引入边界框的宽高比例这一因素。

计算公式
C I o U = I o U − ( ρ 2 ( b , b g t ) c 2 + α v ) α = v ( 1 − I o U ) + v v = 4 π 2 ( a r c t a n w g t h g t − a r c t a n w h ) 2 CIoU=IoU-(\frac{\rho^2(b,b^{gt})}{c^2}+\alpha v)\\ \alpha=\frac{v}{(1-IoU)+v}\\ v=\frac{4}{\pi^2}(arctan\frac{w_{gt}}{h_{gt}}-arctan\frac{w}{h})^2 CIoU=IoU(c2ρ2(b,bgt)+αv)α=(1IoU)+vvv=π24(arctanhgtwgtarctanhw)2
其中 α \alpha α为权重,IoU越大,说明宽高比例越重要, v v v用来衡量宽高比例的一致性(比例转化为角度,再衡量角度之间的欧氏距离,从而衡量比例差异)。

损失函数
L C I o U = 1 − C I o U L_{CIoU}=1-CIoU LCIoU=1CIoU
优点:

  • 引入了边界框宽高比例这一因素,可以更好地衡量边界框之间的相似度。

总结

  对于设计边界框相似度的计算公式,最主要的就是可以衡量两个边界框处于任意位置时的相似度,要充分考虑各种特殊情况(如边界框包含、分离等),位置不同时必须要体现出不同的相似度数值(巧合除外),这样才能更好地衡量相似度,用作损失可以更好地辅助网络优化参数。

注:以上仅是笔者个人见解,若有问题,欢迎指正

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Alpha IOU Loss是一种目标检测中的损失函数,它将模型输出的边界框与真实边界框之间的交并比作为误差指标,以改善模型的预测精度。Alpha IOU Loss可以有效缓解训练模型时的偏移问题,使模型能够准确地检测出目标中的物体。 ### 回答2: alpha IOU LOSS 是目标检测中的一种损失函数,用于衡量预测框与真实框之间的重叠程度。在该损失函数中,alpha 是一个超参数,用于控制正负样本的权重。 目标检测旨在从图像中检测出目标的位置和类别。为了评估检测的准确性,需要计算预测框和真实框之间的重叠度。通常,一种常用的衡量指标是 IOU(Intersection over Union),即重叠区域面积与并集区域面积之比。 在使用 alpha IOU LOSS 进行目标检测时,首先对于每个真实框,在预测框集合中找到与其 IOU 最大的预测框,并将其作为匹配。然后,计算匹配的预测框与真实框的 IOU 值。 在计算损失时,大致可以分为两种情况。如果 IOU 值大于一定阈值,表示匹配良好,可以认为预测正确,则损失较小或者为零。如果 IOU 值小于一定阈值,则匹配不良好,可能需要进一步调整预测框的位置或大小,损失较大。 在 alpha IOU LOSS 中,引入了一个参数 alpha,用于动态调整正负样本的权重。对于 IOU 值大于阈值的预测框,将其作为正样本,损失较小;而对于 IOU 值小于阈值的预测框,将其作为负样本,损失较大。通过调整 alpha 的值,可以平衡正负样本之间的重要性。 总结来说,alpha IOU LOSS 是一种目标检测中的损失函数,通过计算预测框与真实框之间的重叠度来衡量检测的准确性。通过引入 alpha 参数,可以调整正负样本的权重,进一步优化目标检测的效果。 ### 回答3: 目标检测中的alpha IOU LOSS是一种损失函数,用于训练目标检测模型。目标检测计算机视觉中的一个重要任务,目的是在图像或视频中准确地定位和识别出多个目标。 传统的目标检测模型通常使用交叉熵损失函数来训练,但这种损失函数在处理目标位置回归时存在一定的缺陷,如不平衡问题和尺度不变性问题。为了解决这些问题,alpha IOU LOSS被提出。 alpha IOU LOSS是基于IOU(Intersection over Union)的一种改进损失函数。IOU目标检测中常用的指标,用于评估模型预测框和真实框之间的重叠程度。alpha是一个可调整的参数,用于平衡定位精度和分类精度之间的权重。 在alpha IOU LOSS中,首先计算预测框和真实框之间的IOU值,然后根据IOU值和alpha参数计算损失。当IOU值较高时,损失较低,鼓励模型预测框与真实框的重叠更多;而当IOU值较低时,损失较高,鼓励模型更好地预测目标位置。 相比传统的交叉熵损失函数,alpha IOU LOSS在目标位置回归中更具优势。它能够有效解决定位精度和分类精度不平衡的问题,并且通过引入IOU作为指标,使得模型更加关注目标的位置信息。这种损失函数的引入可以提升模型的准确性和稳定性,在目标检测任务中有较好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉萌新、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值