再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能

简介: 再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能

6b44978c7faa2b032ba4900a2fed429d.png

在目标检测中,框回归(BBR)是决定目标定位性能的关键步骤。然而,作者发现大多数以前的BBR损失函数有两个主要缺点:


基于范数和IOU的损失函数都不能有效地描述BBR的目标,这导致收敛速度慢和回归结果不准确。


大多数损失函数忽略了BBR中的不平衡问题,即与目标框具有小重叠的大量目标框对BBR的优化贡献最大。


为了减轻由此造成的不利影响,在本文中进行了深入研究,以挖掘BBR损失的潜力。首先,提出了一种有效的Efficient Intersection over Union(EIOU)损失,它明确地测量了BBR中3个几何因子的差异,即重叠面积、中心点和边长。之后,陈述了Effective Example Mining(EEM)问题,并提出了Focal loss的回归版本,以使回归过程专注于高质量的Anchor boxes。最后,将上述两部分结合起来,得到一个新的损失函数,即Focal EIOU Loss。在合成和真实数据集上进行了大量实验。与其他BBR损失相比,可以在收敛速度和定位精度上实现显著的优势。

1、简介

目标检测包括两个子任务:目标分类和目标定位,一直是计算机视觉中最基本的问题之一。当前最先进的目标检测器(例如,Cascade R-CNN、Mask R-CNN、Dynamic R-CNN和DETR)依赖于边界回归(BBR)模块来定位目标。基于这一范式,精心设计的损失函数对于BBR的成功至关重要。

迄今为止,BBR的大部分损失函数可以分为两类:

  • -范数损失可以统一为等式:

7c0958393ad0082a54a96dfe3e6e5ae2.png

其中x是预测框和目标框之间的差。传统的Smooth L1损失可以形成为1675310602823.png范数损失被批评为不仅忽略了BBR变量(x,y,w,h)中的相关性,还忽略了对大边界框的固有偏差(由于非规范化形式)。然而,如图1所示以前基于IOU的损失,例如CIOU和GIOU,无法有效地测量目标框和Anchor之间的差异,这导致BBR模型优化中的收敛速度慢和定位不准确。

b0e884c2b5b31c1b6031a77659d92b66.png

  • 基于 IOU 的损失可以统一为等式:

e503bbc27849bd490ecaaf0ee9a15d65.png

其中1675310677392.png是预测框和目标框。附加惩罚1675310634599.png旨在补充原始IOU的收益。这些损失共同回归所有BBR变量作为一个整体。它们也是标准化的,对边界框的比例不敏感。然而,大多数算法都存在收敛速度慢和定位不准确的问题。更重要的是,现有的基于 IOU 的损失忽略了信息Anchor的重要性。


在本文中进行了深入的研究,以挖掘当前BBR损失的潜力,实现精确的目标检测。首先,提出了一种有效的IOU损失(EIOU)来提高收敛速度和定位精度,该方法使用额外的惩罚项1675310634599.png来明确测量BBR中3个关键几何因素的差异,包括重叠区域、中心点和边长。其次,阐述了BBR中的有效实例挖掘(EEM)问题。受最初用于测量分类误差的 Focal loss 的启发,作者设计了 Focal loss 的回归版本,以增强具有大IOU的高质量Anchor在BBR模型优化过程中的贡献。


最后,将所提出的两种方法组合为一种新的BBR损失函数,即Focal EIOU,以实现高效和准确的目标检测。通过对合成和真实数据集的广泛评估,验证了所提出损失函数的有效性和优势。此外,当将Focal EIOU损失与几种最先进的目标检测模型(包括Faster R-CNN、Mask R-CNN,RetinaNet、ATSS、PAA和DETR)相结合时,可以在大规模COCO 2017数据集上实现检测精度的一致和显著提高,这说明了提出的损失功能的潜在潜力。

本文的贡献总结如下:

  1. 考虑到基于IOU的损失和1675310694121.png范数损失的缺陷,提出了一种有效的IOU损失,以解决现有损失的困境,并获得更快的收敛速度和更好的回归结果。
  2. 考虑到BBR中高质量Anchor和低质量Anchor之间的不平衡,设计了一个 Focal loss 的回归版本,以增强最有希望的Anchor在模型优化中的贡献,同时抑制不相关的Anchor。
  3. 对合成数据和真实数据进行了大量实验。出色的实验结果验证了所提出方法的优越性。详细的消融研究显示了损失函数和参数值的不同设置的影响。

2、IOU Loss的局限性分析

ab287e649668dd242c2ed89f0074868e.png

2.1、IOU Loss的局限

测量两个任意形状(体积)之间相似性1675310713545.png的IOU损失为:

889495aa20b38a7c4d838945025c7f95.png

它具有非负性、对称性、三角形不等式和尺度不敏感性等良好的性质。它已被证明是一个度量标准。然而,它有两个主要的缺点:

  • 如果两个box没有任何交集,IOU Loss将始终为零,这不能正确反映这两个box之间的紧密程度。
  • IOU Loss的收敛速度较慢。

2.2、GIOU Loss的局限

为了解决IOU Loss的缺点,提出了GIOU损失,定义如下:

ebd31d1b2e4fc5f88580ec4c1a3aee02.png

其中1675310738674.png是两个任意的box。C是包含A和B的最小凸盒1675310752155.png1675310765900.pngGIOU Loss在1675310791236.png时有效,但它仍然有两个缺点:

  • 当时,1675310791236.pngGIOU损失打算增加边界框的面积,使其与目标框重叠(见图1),这与减少空间位置差异的直觉相反。
  • 1675310818165.png时,|C−A∪B|的面积总是一个小数或等于零(当A包含B时,该项将为零,反之亦然)。在这种情况下,GIOU损失退化为 IOU 损失。因此,GIOU损失的收敛率仍然很慢。

2.3、CIOU Loss的局限

CIOU损失考虑了三个重要的几何因素,即重叠面积、中心点距离和长宽比。给定一个预测框 B 和一个目标框1675310836693.png,CIOU损失的定义如下:

1e1a22ec0f4f273d0ce3b6d40031423b.png

其中1675310850742.png分别表示和的中心点。1675310862213.png表示欧几里得距离。是覆盖两个box的最小封闭box的对角线长度。1675310883567.png1675310894791.png测量宽高比的差异。

v关于w和h的梯度计算如下:

57fccfbf641788fd0113ca53b7462b8d.png

在之前的工作中,实验结果表明,与以前的损失函数相比,CIOU损失的收敛速度和检测精度都有显著提高。然而,1675310911591.png最后一项的v仍然没有得到很好的定义,这从3个方面减缓了CIOU的收敛速度:

  1. 在等式(5)中, V仅反映纵横比的差异,而不是1675310934833.png之间的实际关系。即,所有具有属性1675310949728.png具有V=0,这与现实不符。
  2. 在等式(6)中,有1675310978314.png有相反的符号。因此,在任何时候,如果这两个变量(w或h)中的一个增加,另一个将减少。这是不合理的,尤其是当1675310997187.png时。
  3. 由于v仅反映纵横比的差异,因此CIOU损失可能以不合理的方式优化相似性。如图1所示,目标框的尺度设置为1675311017932.png。Anchor的初始尺度设置为w=1和h=2.4。Anchor尺度在50次迭代后回归为w=1.64和h=2.84。这里,CIOU损失确实增加了纵横比的相似性,但它阻碍了模型有效地减少1675311036762.png之间的真实差异。

2.4、本文提出的方法

为了解决上述问题,对CIOU损失进行了修正,并提出了一个更有效的IOU损失版本,即EIOU损失,其定义如下。

e15e8242a02c589ddae3ab2876be290b.png

其中1675311068788.png是覆盖两个box的最小封闭盒子的宽度和高度。即,将损失函数分为三部分:1675311094182.png这样就可以保留 CIOU Loss的有益特性。同时,EIOU Loss直接使目标框和Anchor的宽度和高度的差异最小化,从而产生更快的收敛速度和更好的定位结果。

3、Focal Loss For BBR

在BBR中,也存在训练实例不平衡的问题,即由于图像中目标目标的稀疏性,回归误差较小的高质量例子的数量远少于低质量例子(异常值)。最近的研究表明,离群值会产生过大的梯度,这对训练过程有害。因此,制作高质量的例子对网络训练过程贡献更多的梯度是至关重要的。

在最近的研究中试图基于SmoothL1的损失来解决上述问题。在本节中,还从Smooth L1损失开始,并提出Focal L1损失,以增加高质量例子的贡献。此外,作者还发现,简单的方法不能直接适用于基于IOU的损失。因此,最终提出了Focal-EIOU损失来提高EIOU损失的性能。

3.1、Focal L1 Loss

首先,列出了理想损失函数的性质如下:


当回归误差趋于零时,梯度幅度的极限应该为零。


梯度幅度应在小回归误差附近迅速增大,在大回归误差区域逐渐减小。


应该有一些超参数来灵活地控制低质量实例的抑制程度。


对于超参数的变值,梯度函数家族应该有一个标准化的尺度,例如,(0,1],这有助于在高质量和低质量的例子之间的平衡。

9864fc3705ff66c49fe3f2fb4d576403.png

根据上述条件,随着边界框回归误差的变化,可以假设一个梯度幅度的期望函数曲线,如图5(a)所示该函数是1675311120797.png,满足性质1和2。接下来,构造了一个带有参数β的函数族来控制曲线的形状,如图5(b)所示随着β的增加,异常值的梯度幅度将被进一步抑制。然而,高质量的例子的梯度幅度也会减少,这不是所期望的。因此,添加另一个参数α,根据属性4的要求,将不同β的梯度大小归一化为[0,1]。最后,梯度大小函数的族可以表示如下:

77233175344d6aa72713af8df531936b.png

这里,由于以下原因获得了β的值范围。当1675311138302.png,这意味着g(x)是具有全局最大值的凹函数。求解1675311152926.png,可以得到1675311165726.png。作为1675311182289.png。还必须确保1675311200112.png,那么1675311216168.png。为了满足性质4,设置最大值1675311229672.png得到α与β的关系1675311243227.png。通过积分上述梯度公式,可以得到BBR的Focal L1损失:

47763f7d78c15cade00dc062807df6ad.png

其中C是一个常数值。以确保在等式中的1675311258602.png在x = 1处是连续的,有1675311273403.png

06894e0d7cd3aab83989d48f6076bd58.png

图4(b)显示,根据β,提出的Focal L1损失可以增加内值梯度的值,抑制异常值的梯度值。较大的β要求内部有很少的回归误差,并快速抑制异常值的梯度值。


同样,在图4(a)中,蓝色的曲线表示β的最大值。随着回归误差的增加,蓝色曲线的损失首先迅速增加,然后趋于稳定。β值最小的橙色曲线增长得越来越快,在x = 1左右达到峰值。现在可以通过Focal L1损失,1675311296077.png来计算定位损失,其中B是回归结果,1675311316812.png是回归目标。

3.2、Focal-EIOU Loss

为了使EIOU损失集中于高质量的示例,自然可以考虑在等式中替换 x 与EIOU的损失联系在一起。然而,作者观察到上述组合的效果不太好。分析结果如下:


给定偏移量1675311339716.png,Focal L1损失的梯度为1675311356359.png,其中1675311369413.png等于1或者-1,因此即使偏移很小,1675311387766.png还可以带来足够的梯度以使模型持续优化。然而,如果用1675311414199.png替换偏移量1675311428238.png,梯度可以计算为1675311397883.png


这里1675311445271.png不再是一个常量。此外,在实证研究中,随1675311466447.png着接近零,它将非常小,而1675311445271.png在当时也接近于零。因此,在乘法之后,整体梯度将更小,这削弱了对具有小1675311466447.png的Box进行重新加权的效果。为了解决这个问题,使用IOU的值来重新计算 1675311466447.pngloss的权重,并得到Focal-1675311466447.png,如下所示

8d34819d7ae5f553bfccfe3a7bb18642.png

其中,1675311497265.png是控制异常值抑制程度的参数。

3.3、算法流程

03931fd1cf182b8c0f2a1c4f6e75ba4a.png

4、实验

4.1、消融实验

1、IOU方法对比

ce0410f11ab98d5fe24ed7270ec38484.png

2、Tradeoff Weight的影响

8122cbdea27a39325204eb74379e4cf9.png

3、FocalL1 Loss

dea73959e6248b246c7f1ff202b187a4.png

4、Focal-EIOU Loss

7a2390d4352a76a119bfd43d1eb4ab1a.png

4.2、SOTA对比

65daae2f400debc67f039f2b2f091ee2.png

4.3、可视化对比

ee4de404b747aaa9197e7fc793c73e38.png

5、参考

[1].Focal and Efficient IOU Loss for Accurate Bounding Box Regression

6、推荐阅读

姿态估计 | 基于CenterNet究竟还可以做多少事情?AdaptivePose便是经典!

语义分割新SOTA | 当UNet与HRNet碰撞会产生怎样的火花?U-HRNet不做选择!!!

全新语义分割方法SegViT | 沈春华老师团队提出全新语义分割方法

相关文章
|
5月前
|
算法 计算机视觉
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
308 2
|
5月前
|
算法 固态存储 计算机视觉
Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%
Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%
227 0
|
5月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv5改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
YOLOv5改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
271 1
|
5月前
|
机器学习/深度学习
YOLOv8改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU、InnerFocalerIoU(二次创新)
YOLOv8改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU、InnerFocalerIoU(二次创新)
802 0
|
5月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
584 0
|
机器学习/深度学习 算法 数据挖掘
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
173 0
|
算法 计算机视觉
再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能(一)
再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能(一)
282 0
|
算法 数据可视化 计算机视觉
再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能(二)
再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能(二)
316 0
|
数据可视化 计算机视觉
其实没有NMS检测也可以很强很快 | O2F样本匹配助力目标检测逃离NMS时代(二)
其实没有NMS检测也可以很强很快 | O2F样本匹配助力目标检测逃离NMS时代(二)
188 0
|
机器学习/深度学习 算法 固态存储
其实没有NMS检测也可以很强很快 | O2F样本匹配助力目标检测逃离NMS时代(一)
其实没有NMS检测也可以很强很快 | O2F样本匹配助力目标检测逃离NMS时代(一)
156 0
下一篇
无影云桌面