IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

这篇具有很好参考价值的文章主要介绍了IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        边界框回归(BBR)的损失函数对于目标检测至关重要。它的良好定义将为模型带来显著的性能改进。大多数现有的工作假设训练数据中的样本是高质量的,并侧重于增强BBR损失的拟合能力。

一、L2-norm

        最初的基于回归的BBR损失定义为L2-norm,L2-norm损失主要有两个缺点:
1、边界框的坐标(以xt、xb、xl、xr的形式)被优化为四个独立变量。这个假设违背了对象的边界高度相关的事实。简单的分开计算每个变量的回归loss无法反映这种相关性,它会导致预测框的一个或两个边界非常接近GT,但整个边界框是不满足条件的。
2、这种形式的损失函数并不能屏蔽边界框大小的干扰,使得模型对小目标的定位性能较差。

二、IoU loss

论文:《UnitBox: An Advanced Object Detection Network》

        在目标检测任务中,使用IoU来测量anchor box与目标box之间的重叠程度。它以比例的形式有效地屏蔽了边界框大小的干扰,使该模型在使用1-IoU作为BBR损失时,能够很好地平衡对大物体和小物体的学习。

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

IoU loss的函数定义为:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)  

当边界框没有重叠时Liou对Wi求导会等于0,即:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)  

此时Liou的反向投影梯度消失,在训练期间无法更新重叠区域Wi的宽度。

IoU损失会有两个主要的缺点: 

1、当预测框与真实框都没有交集时,计算出来的IoU都为0,损失都为1,但是缺失距离信息,预测框与GT相对位置较近时,损失函数应该较小。
2、当预测框和真实框的交并比相同,但是预测框所在位置不同,因为计算出来的损失一样,所以这样并不能判断哪种预测框更加准确。

        现有的工作GIOU、DIOU、Focal EIOU、CIOU以及SIOU中考虑了许多与边界框相关的几何因子,并构造了惩罚项Ri来解决这个问题。现有的BBR损失遵循以下范例:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

三、GIoU loss

论文:《Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression》

        为了解决IoU loss的第一个问题,即当预测框与真实框都没有交集的时候,计算出来的IoU都为0,损失都为1,引入了一个最小闭包区的概念,即能将预测框和真实框包裹住的最小矩形框

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        其中紫色框为GT,蓝色框为预测框,绿色的边框则为最小包围框。

GIoU的伪代码:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        与IoU相似,GIoU也是一种距离度量,IoU取值[0,1],GIoU取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。

但是GIoU同时也存在一些问题:

1、当预测框包裹GT时,计算的iou相同,但是质量却不同,对于预测框的中心点靠近GT中心点的情况,loss应该相对小一些

GIoU loss的定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

四、DIoU/CIoU loss

论文:《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》

        DIoU为了解决GIoU中存在的问题,作者认为好的检测回归loss应该考虑三个几何度量,预测框和GT框的重叠度、中心点距离、长宽比的一致性。于是在IoU loss和GIoU loss基础上引入预测框和GT框中心点距离作DIoU loss,在DIoU loss基础上引入了预测框的长宽比和GT框的长宽比之间的差异作CIoU loss。此外,将DIoU加入nms替代IoU,提升了nms的鲁棒性。

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

DIoU定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        DIoU也存在一个缺点,当真实框和预测框的中心点重合时,但是长宽比不同,交并比一样,CIoU在此基础上增加一个惩罚项。

CIoU定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

其中:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        v用于计算预测框和目标框的高宽比的一致性,这里是用tan角来衡量 

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        α是一个平衡参数(这个系数不参与梯度计算),这里根据IoU值来赋予优先级,当预测框和目标框IoU越大时,系数越大 。

五、EIoU Loss/Focal EIoU Loss

论文:Focal and Efficient IOU Loss for Accurate Bounding Box Regression》

 主要思想:

        一是认为CIoU loss对于长宽比加入loss的设计不太合理,于是将CIoU loss中反应长宽比一致性的部分替换成了分别对于长和宽的一致性loss,形成了EIoU loss。

        二是认为不太好的回归样本对回归loss产生了比较大的影响,回归质量相对较好的样本则难以进一步优化,所以论文提出Focal EIoU loss进行回归质量较好和质量较差的样本之间的平衡。

EIoU loss定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

 其中hc和wc为最小包围框的高和宽。

       要平衡回归质量较好的样本的偏小loss和回归质量较差的样本的偏大loss,很自然的,选择和GT的IoU形成类似focal loss中的(1-p)的γ次方的权重来调节是一个很好的想法。

Focal EIoU loss定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

最终形式:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

指标对比:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

六、SIoU loss

论文:《SIoU Loss: More Powerful Learning for Bounding Box Regression》

        已有方法匹配真实框和预测框之间的IoU、中心点距离、宽高比等,它们均未考虑真实框和预测框之间不匹配的方向。这种不足导致收敛速度较慢且效率较低,因为预测框可能在训练过程中“徘徊”,最终生成更差的模型。

        本文提出了一种新的损失函数SCYLLA-IoU(SIoU),考虑到期望回归之间向量的角度,重新定义角度惩罚度量,它可以使预测框快速漂移到最近的轴,随后则只需要回归一个坐标(X或Y),这有效地减少了自由度的总数。

        Zhora证明了中心对准anchor box具有更快的收敛速度,并根据角度成本、距离成本和形状成本构造了SIoU。

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        Angle cost描述了中心点连接(图1)与x-y轴之间的最小角度,当中心点在x轴或y轴上对齐时,Λ = 0。当中心点连接到x轴45°时,Λ = 1。这一惩罚可以引导anchor box移动到目标框的最近的轴上,减少了BBR的总自由度数。

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        Distance cost描述了中心点之间的距离,其惩罚代价与角度代价呈正相关,当𝛼→0时,Distance cost的贡献大大降低。相反,𝛼越接近pi/4,Distance cost贡献越大。

具体来说:以X轴为例,即两框近乎平行时,a趋近于0,这样计算出来两框之间的角度距离接近于0,此时γ也接近于2,那么两框之间的距离对于整体loss的贡献变少了。而当a趋近与45°时,计算出来两框之间的角度为1,此时γ接近1,则两框之间的距离应该被重视,需要占更大的loss。

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        Shape cost这里作者考虑的两框之间的长宽比,是通过计算两框之间宽之差和二者之间最大宽之比(长同理)来定义的,大体思路和CIOU类似,只不过CIOU可以的考虑是两框整体形状的收敛,而SIoU是以长、宽两个边收敛来达到整体形状收敛的效果。

        θ是个可调变量,来表示网络需要对形状这个,给予多少注意力,即占多少权重。实验中设置为4。

SIoU loss定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

七、WIoU loss

 论文:《Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism》

        Focal EIoU v1被提出来解决质量较好和质量较差的样本间的BBR平衡问题,但由于其静态聚焦机制(FM),非单调FM的潜力没有被充分利用,基于这一思想,作者提出了一种基于IoU的损失,该损失具有动态非单调FM,名为Wise IoU(WIoU)。

主要贡献总结如下:

  1. 提出了BBR的基于注意力的损失WIoU v1,它在仿真实验中实现了比最先进的SIoU更低的回归误差。

  2. 设计了具有单调FM的WIoU v2和具有动态非单调FM的WIoU v3。利用动态非单调FM的明智的梯度增益分配策略,WIoU v3获得了优越的性能。

  3. 对低质量的样本的影响进行了一系列详细的研究,证明了动态非单调调频的有效性和效率。

        由于训练数据不可避免地包含低质量示例,几何因素(如距离和纵横比)将加重对低质量示例的惩罚,从而降低模型的泛化性能。当anchor box与目标box很好地重合时,一个好的损失函数应该会削弱几何因素的惩罚,而较少的训练干预将使模型获得更好的泛化能力。

WIoU loss定义:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        其中Wg,Hg表示最小包围框的宽和高。为了防止Rwiou产生阻碍收敛的梯度,Wg和Hg从计算图中分离出来(上标*表示此操作)。因为它有效地消除了阻碍收敛的因素,所以没有引入新的度量,例如纵横比。

1、Rwiou∈[1,e),这将显著放大普通质量anchor box的LIoU。 

2、Liou∈[0,1],这将显著降低高质量anchor box的Rwiou,并在anchor box与目标框重合时,重点关注中心点之间的距离。

消融实验的结果:

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

        从消融实验的结果可以看出WIoU v3的效果最好。

代码

        上述的IoU loss的实现可以参看我的另一篇文章:yolov5增加iou loss,无痛涨点trick文章来源地址https://www.toymoban.com/news/detail-405476.html

到了这里,关于IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Yolov5/Yolov7优化:引入Soft-NMS并结合各个IOU变体GIOU、DIOU、CIOU、EIOU、SIOU,进一步提升密集遮挡场景检测精度  

    💡💡💡本文改进:Soft-NMS并与各个IOU变体GIOU、DIOU、CIOU、EIOU、SIOU结合, 实现二次创新,并提升密集遮挡场景检测精度 💡💡💡Yolov8魔术师, 独家首发创新(原创) ,适用于 Yolov5、Yolov7、Yolov8等各个Yolo系列 ,专栏文章 提供每一步步骤和源码,轻松带你上手魔改网络 💡💡

    2024年02月10日
    浏览(41)
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU

    由于本人水平有限,难免出现错漏,敬请批评改正。 更多精彩内容,可点击进入YOLO系列专栏或我的个人主页查看 熟悉Python Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(s

    2024年02月09日
    浏览(47)
  • 目标检测中的损失函数IoU、GIoU、DIoU、CIoU、SIoU

    IoU损失是目标检测中最常见的损失函数,表示的就是真实框和预测框的交并比,数学公式如下: I o U = ∣ A ∩ B ∣ ∣ A ∪ B ∣ IoU =frac{|A cap B|}{|A cup B|} I o U = ∣ A ∪ B ∣ ∣ A ∩ B ∣ ​ L o s s I o U = 1 − I o U Loss_{IoU}=1-IoU L o s s I o U ​ = 1 − I o U IoU损失会有两个主要的缺点 当

    2024年02月04日
    浏览(48)
  • 优化改进YOLOv5算法之添加GIoU、DIoU、CIoU、EIoU、Wise-IoU模块(超详细)

    目录 1、IoU 1.1 什么是IOU  1.2 IOU代码 2、GIOU 2.1 为什么提出GIOU 2.2 GIoU代码 3 DIoU  3.1 为什么提出DIOU 3.2 DIOU代码 4 CIOU 4.1 为什么提出CIOU 4.2 CIOU代码 5 EIOU 5.1 为什么提出EIOU  5.2 EIOU代码 6 Wise-IoU 7 YOLOv5中添加GIoU、DIoU、CIoU、EIoU、Wise-IoU损失函数 论文链接为:UnitBox: An Advanced Objec

    2024年02月04日
    浏览(40)
  • YOLOv7改进wiou损失函数:结合最新Wise-IoU损失函数,涨点神器|超越CIoU, SIoU性能,助力YOLOv7模型涨点1.4%,最新目标检测的损失函数

    💡该教程为改进进阶指南,属于 《芒果书》 📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章 基于 YOLOv5、YOLOv7 芒果 改进YOLO系列: 芒果改进YOLOv7系列:结合最新Wise-IoU损失函数,涨点神器|超越CIoU, SIoU性能,助力YOLOv7模型涨点

    2024年02月05日
    浏览(49)
  • 【目标检测中对IoU的改进】GIoU,DIoU,CIoU的详细介绍

    IoU为交并比,即对于pred和Ground Truth:交集/并集 1、IoU可以作为评价指标使用,也可以用于构建IoU loss = 1 - IoU 缺点: 2、对于pred和GT相交的情况下,IoU loss可以被反向传播,因为IoU不为0,可以计算梯度。但是二者不相交的话,梯度将会为0,无法优化。 3、pred和GT不相交时,Io

    2024年02月12日
    浏览(41)
  • 【目标检测算法】IOU、GIOU、DIOU、CIOU与YOLOv5损失函数

    classification loss 分类损失 localization loss, 定位损失(预测边界框与GT之间的误差) confidence loss 置信度损失(框的目标性 objectness of the box) 总的损失函数: classification loss + localization loss + confidence loss YOLOv5使用 二元交叉熵损失函数 计算类别 概率和目标置信度得分 的损失。 Y

    2024年01月19日
    浏览(43)
  • YOLOV7改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU

    yolov7中box_iou其默认用的是CIoU,其中代码还带有GIoU,DIoU, AlphaIoU,文件路径: utils/general.py ,函数名为: bbox_iou 我们可以看到函数顶部,有GIoU,DIoU,CIoU的bool参数可以选择,如果全部为False的时候,其会返回最普通的Iou,如果其中一个为True的时候,即返回设定为True的那个I

    2023年04月20日
    浏览(48)
  • YOLOV8改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU

    yolov8中box_iou其默认用的是CIoU,其中代码还带有GIoU,DIoU,文件路径: ultralytics/yolo/utils/metrics.py ,函数名为: bbox_iou 我们可以看到函数顶部,有GIoU,DIoU,CIoU的bool参数可以选择,如果全部为False的时候,其会返回最普通的Iou,如果其中一个为True的时候,即返回设定为True的那

    2023年04月15日
    浏览(50)
  • 目标检测算法——YOLOv5/v7/v8改进结合涨点Trick之Wise-IoU(超越CIOU/SIOU)

    ​ 近年来的研究大多假设训练数据中的示例有较高的质量,致力于强化边界框损失的拟合能力。 但注意到目标检测训练集中含有低质量示例,如果一味地强化边界框对低质量示例的回归,显然会危害模型检测性能的提升。 Focal-EIoU v1 被提出以解决这个问题,但由于其聚焦机

    2023年04月11日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包