点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【目标检测】技术交流群
后台回复【2D检测综述】获取鱼眼检测、实时检测、通用2D检测等近5年内所有综述!
![26ee815f486eb2e9a843f191fdcefed0.png](https://i-blog.csdnimg.cn/blog_migrate/f96be2c1ffb65dd9a36ee3ae6681638f.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的大部分损失函数可以分为两类:
-范数损失可以统一为等式:
![0b22f2932032fbea88cfe5324d03e37b.png](https://i-blog.csdnimg.cn/blog_migrate/e76d869bcf2b1f6bc6ae4f67a77902fe.png)
其中x是预测框和目标框之间的差。传统的Smooth L1损失可以形成为和。 -范数损失被批评为不仅忽略了BBR变量(x,y,w,h)中的相关性,还忽略了对大边界框的固有偏差(由于非规范化形式)。然而,如图1所示以前基于IOU的损失,例如CIOU和GIOU,无法有效地测量目标框和Anchor之间的差异,这导致BBR模型优化中的收敛速度慢和定位不准确。
![026f65d43041b5e45b3e64949ca92a80.png](https://i-blog.csdnimg.cn/blog_migrate/11b619a0a49876add18697ec18d6d12f.png)
基于 IOU 的损失可以统一为等式:
![34efcbf4829f075f98bd85419a6ec6bc.png](https://i-blog.csdnimg.cn/blog_migrate/2d6b1657ed81abc831cb2d53ca46029d.png)
其中和是预测框和目标框。附加惩罚旨在补充原始IOU的收益。这些损失共同回归所有BBR变量作为一个整体。它们也是标准化的,对边界框的比例不敏感。然而,大多数算法都存在收敛速度慢和定位不准确的问题。更重要的是,现有的基于 IOU 的损失忽略了信息Anchor的重要性。
在本文中进行了深入的研究,以挖掘当前BBR损失的潜力,实现精确的目标检测。首先,提出了一种有效的IOU损失(EIOU)来提高收敛速度和定位精度,该方法使用额外的惩罚项来明确测量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数据集上实现检测精度的一致和显著提高,这说明了提出的损失功能的潜在潜力。
本文的贡献总结如下:
考虑到基于IOU的损失和-范数损失的缺陷,提出了一种有效的IOU损失,以解决现有损失的困境,并获得更快的收敛速度和更好的回归结果。
考虑到BBR中高质量Anchor和低质量Anchor之间的不平衡,设计了一个 Focal loss 的回归版本,以增强最有希望的Anchor在模型优化中的贡献,同时抑制不相关的Anchor。
对合成数据和真实数据进行了大量实验。出色的实验结果验证了所提出方法的优越性。详细的消融研究显示了损失函数和参数值的不同设置的影响。
2、IOU Loss的局限性分析
![2b40b598c4db59e93c9a5001566fe15a.png](https://i-blog.csdnimg.cn/blog_migrate/99e6e9ccfd3ac4068eff11ea7fccd17e.png)
2.1、IOU Loss的局限
测量两个任意形状(体积)之间相似性的IOU损失为:
![6f0c9ee030f92d8df4bc87f2c6653700.png](https://i-blog.csdnimg.cn/blog_migrate/4726075b1bbbf6f2721d46ad1ca650ba.png)
它具有非负性、对称性、三角形不等式和尺度不敏感性等良好的性质。它已被证明是一个度量标准。然而,它有两个主要的缺点:
如果两个box没有任何交集,IOU Loss将始终为零,这不能正确反映这两个box之间的紧密程度。
IOU Loss的收敛速度较慢。
2.2、GIOU Loss的局限
为了解决IOU Loss的缺点,提出了GIOU损失,定义如下:
![06cd74d4f1616e180ed299770b3049d0.png](https://i-blog.csdnimg.cn/blog_migrate/480900b88451e6983702827827db460b.png)
其中是两个任意的box。C是包含A和B的最小凸盒和。GIOU Loss在时有效,但它仍然有两个缺点:
当时,GIOU损失打算增加边界框的面积,使其与目标框重叠(见图1),这与减少空间位置差异的直觉相反。
当时,|C−A∪B|的面积总是一个小数或等于零(当A包含B时,该项将为零,反之亦然)。在这种情况下,GIOU损失退化为 IOU 损失。因此,GIOU损失的收敛率仍然很慢。
2.3、CIOU Loss的局限
CIOU损失考虑了三个重要的几何因素,即重叠面积、中心点距离和长宽比。给定一个预测框 B 和一个目标框,CIOU损失的定义如下:
![79c67150ab89ded5617e33ba4be1833b.png](https://i-blog.csdnimg.cn/blog_migrate/ef2f9b8c066b09a2e39bc7fb22c6448c.png)
其中和分别表示和的中心点。表示欧几里得距离。是覆盖两个box的最小封闭box的对角线长度。和测量宽高比的差异。
v关于w和h的梯度计算如下:
![704ac9cda7ee0363c1824cc244fd9b56.png](https://i-blog.csdnimg.cn/blog_migrate/88dbd9de04f6e59286813c7cafb107eb.png)
在之前的工作中,实验结果表明,与以前的损失函数相比,CIOU损失的收敛速度和检测精度都有显著提高。然而,最后一项的v仍然没有得到很好的定义,这从3个方面减缓了CIOU的收敛速度:
在等式(5)中, 仅反映纵横比的差异,而不是 与 或 与 之间的实际关系。即,所有具有属性具有=,这与现实不符。
在等式(6)中,有。和有相反的符号。因此,在任何时候,如果这两个变量(w或h)中的一个增加,另一个将减少。这是不合理的,尤其是当和或和时。
由于v仅反映纵横比的差异,因此CIOU损失可能以不合理的方式优化相似性。如图1所示,目标框的尺度设置为和。Anchor的初始尺度设置为w=1和h=2.4。Anchor尺度在50次迭代后回归为w=1.64和h=2.84。这里,CIOU损失确实增加了纵横比的相似性,但它阻碍了模型有效地减少和之间的真实差异。
2.4、本文提出的方法
为了解决上述问题,对CIOU损失进行了修正,并提出了一个更有效的IOU损失版本,即EIOU损失,其定义如下。
![1ad7aae4272f9d74875de828c1a5511b.png](https://i-blog.csdnimg.cn/blog_migrate/f55a6987b2ca91f11fb41129e0b1040d.png)
其中和是覆盖两个box的最小封闭盒子的宽度和高度。即,将损失函数分为三部分:IOU损失、距离损失和方位损失。这样就可以保留 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],这有助于在高质量和低质量的例子之间的平衡。
![b046061f3a15d0c99eed7d78f30ff008.png](https://i-blog.csdnimg.cn/blog_migrate/42940f8c6fe2d801cf5c5fd296416ad0.png)
根据上述条件,随着边界框回归误差的变化,可以假设一个梯度幅度的期望函数曲线,如图5(a)所示该函数是,满足性质1和2。接下来,构造了一个带有参数β的函数族来控制曲线的形状,如图5(b)所示随着β的增加,异常值的梯度幅度将被进一步抑制。然而,高质量的例子的梯度幅度也会减少,这不是所期望的。因此,添加另一个参数α,根据属性4的要求,将不同β的梯度大小归一化为[0,1]。最后,梯度大小函数的族可以表示如下:
![b4dd82485a8e9321a184fd06a6564352.png](https://i-blog.csdnimg.cn/blog_migrate/d3caa60f1b052f3145dfc848b69c3ed1.png)
这里,由于以下原因获得了β的值范围。当,,这意味着g(x)是具有全局最大值的凹函数。求解,可以得到。作为,。还必须确保,那么,。为了满足性质4,设置最大值得到α与β的关系:。通过积分上述梯度公式,可以得到BBR的Focal L1损失:
![5e48a9e7277789da63ff5f3dde0769e3.png](https://i-blog.csdnimg.cn/blog_migrate/363d43e32748fa15e54c762ade0bd0aa.png)
其中C是一个常数值。以确保在等式中的在x = 1处是连续的,有。
![6d6eea1dfdf2ec590a90a1cd80e27b53.png](https://i-blog.csdnimg.cn/blog_migrate/537769ca82cbab9b9dbe43e97ced9829.png)
图4(b)显示,根据β,提出的Focal L1损失可以增加内值梯度的值,抑制异常值的梯度值。较大的β要求内部有很少的回归误差,并快速抑制异常值的梯度值。
同样,在图4(a)中,蓝色的曲线表示β的最大值。随着回归误差的增加,蓝色曲线的损失首先迅速增加,然后趋于稳定。β值最小的橙色曲线增长得越来越快,在x = 1左右达到峰值。现在可以通过Focal L1损失,来计算定位损失,其中B是回归结果,是回归目标。
3.2、Focal-EIOU Loss
为了使EIOU损失集中于高质量的示例,自然可以考虑在等式中替换 x 与EIOU的损失联系在一起。然而,作者观察到上述组合的效果不太好。分析结果如下:
给定偏移量,Focal L1损失的梯度为,其中等于1或者-1,因此即使偏移很小,还可以带来足够的梯度以使模型持续优化。然而,如果用替换偏移量,梯度可以计算为。
这里不再是一个常量。此外,在实证研究中,随着接近零,它将非常小,而在当时也接近于零。因此,在乘法之后,整体梯度将更小,这削弱了对具有小的Box进行重新加权的效果。为了解决这个问题,使用IOU的值来重新计算 loss的权重,并得到Focal-,如下所示
![47b8d9d5180ee6132f7bf9a9536f8567.png](https://i-blog.csdnimg.cn/blog_migrate/02f8ec4239a2554d21a1e2dc792f726f.png)
其中,和是控制异常值抑制程度的参数。
3.3、算法流程
![1856f51a66097b0eff5f55ee7e20761e.png](https://i-blog.csdnimg.cn/blog_migrate/fab75e4d8e91290f74b1e8abaf0e0c78.png)
4、实验
4.1、消融实验
1、IOU方法对比
![00b7bbb575f84b33d87d9d7f28cc0dd1.png](https://i-blog.csdnimg.cn/blog_migrate/424f02b69961925b1b7ecea031f19d30.png)
2、Tradeoff Weight的影响
![9fe3339e204d1825753a60b3f2f4b3a7.png](https://i-blog.csdnimg.cn/blog_migrate/4f54419f50520ee256b2792e0dba5a73.png)
3、FocalL1 Loss
![2ee1294f78528b91527585e08ff6062b.png](https://i-blog.csdnimg.cn/blog_migrate/178564990bf2b258616de9cd90d434cf.png)
4、Focal-EIOU Loss
![070e291e22e336af10538d2da7f9e830.png](https://i-blog.csdnimg.cn/blog_migrate/4e32c9239fd8ea2ea6da84bbebd366d8.png)
4.2、SOTA对比
![6bb4e16049ca5178e53a63a34f67afc2.png](https://i-blog.csdnimg.cn/blog_migrate/8239d9c5d89d2990e5a47e999eb62aa5.png)
4.3、可视化对比
![56f71ca066d3a34033bf23017e72c347.png](https://i-blog.csdnimg.cn/blog_migrate/f8f0f2aba73e36e47785d92b83d85f72.png)
5、参考
[1].Focal and Efficient IOU Loss for Accurate Bounding Box Regression
往期回顾
FPN设计新范式 | You Should Look At New Objects
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;
加入我们:自动驾驶之心技术交流群汇总!
自动驾驶之心【知识星球】
想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!