Unified-IoU:进行高质量的目标检测

导读

我们提出了一种新的IoU损失函数,称为Unified-IoU(UIoU),该函数更加关注不同质量预测框之间的权重分配。具体来说,通过一种新颖的方式动态转移模型对低质量预测框的关注到高质量预测框上,以增强模型在高精度或密集数据集上的检测性能,并实现训练速度上的平衡。

26f40c37a342bfc98ffe25a306beab10.png

摘要

目标检测是计算机视觉领域的重要组成部分,而预测框的回归准确性直接决定了目标检测的效果。作为模型训练的关键,交并比(IoU, Intersection over Union)显著反映了当前预测框与真实框之间的差异。后续的研究者不断向IoU添加更多考量因素,例如中心距离、长宽比等。然而,仅仅细化几何差异存在上限;新考量指标与IoU本身之间存在潜在联系,二者之间的直接加减可能会导致“过度考虑”的问题。基于此,我们提出了一种新的IoU损失函数,称为Unified-IoU(UIoU),该函数更加关注不同质量预测框之间的权重分配。具体来说,通过一种新颖的方式动态转移模型对低质量预测框的关注到高质量预测框上,以增强模型在高精度或密集数据集上的检测性能,并实现训练速度上的平衡。我们的方法在多个数据集上取得了更好的性能,特别是在高IoU阈值下,与其它改进的IoU损失相比,UIoU有更显著的提升效果。我们的代码公开可用:https://github.com/lxj-drifter/UIOU_files.

1、介绍

边界框回归(BBR)模块是目标检测模型的重要组成部分,一个好的且精确的边界框回归函数直接决定了目标定位的准确性。如果预测框的定位准确性较差,很容易导致目标的误检或漏检。边界框回归模块已被广泛应用于许多先进的目标检测器中,包括Mask R-CNN、Cascade R-CNN等。因此,设计一个好的BBR损失函数是目标检测任务的关键。目前,BBR损失函数主要分为两类:

第一类基于回归的BBR损失定义为ℓ2损失,该方法通过给定像素将预测框和边界框的高度和宽度分成两部分,每个边界框的位置信息可以定义为一个四维向量:

ℓ2损失的计算:

然而,四维向量中的四个变量相互独立,忽略了边界的相关性。此外,这种方法只考虑了像素与边界的距离,对边界框的大小没有限制,因此对于小目标,模型的定位性能较差。

第二类BBR损失是交并比(IoU, Intersection over Union)损失。预测框定义为P,真实框定义为,IoU损失的计算公式为:

b93116468937722364d2fc062be88476.png

上述两种类型的BBR损失都是标准化的,但它们对边界框的尺度不够敏感,只关注几何尺度的问题,忽略了边界框的质量和难度。

本文中,我们将模型的注意力集中在不同质量的锚框上,不再修改边界框之间的几何度量规则。首先,我们提出了一种新的预测框动态加权方法。

通过缩小边界框,我们可以放大预测框与真实框之间的IoU损失,这相当于给予高质量预测框更多的权重,从而达到让模型专注于高质量预测框的效果。扩大边界框则会产生相反的效果。其次,为了实现高质量的目标检测,我们希望将模型的注意力集中在高质量的锚框上,但这会导致收敛速度变慢的问题。为了平衡模型注意力与收敛率之间的矛盾,我们设计了一个动态超参数“ratio”来调整边界框的缩放比率。具体来说,在训练初期,我们扩大边界框,这相当于减少了高质量预测框的IoU损失,使得模型关注于低质量的锚框,这样可以更快收敛。而在训练后期,我们缩小边界框,这相当于增加了高质量预测框的IoU损失,从而使模型的注意力集中于高质量的锚框上。第三,受到“Focal Loss”的启发,我们为边界框回归(BBR)损失设计了一个双注意力机制,进一步优化权重分配。最后,我们将以上所有的创新结合在一起,设计了一个新的IoU损失函数,称为Unified-IoU(UIoU),以实现高质量的目标检测。为了验证我们提出的方法,我们与所有已知的改进方法进行了对比实验。在多个数据集上的一致性和显著改进证明了我们新的UIoU损失函数的潜力。

我们在本文中的贡献如下:

  • 我们设计了一种新颖的方法,在模型训练过程中动态地为不同质量的锚框分配权重。

  • 针对模型收敛速度与高质量检测之间的矛盾,提出了使用超参数“ratio”的策略来动态转移模型的注意力,这种方法比原始方法实现了更好的收敛速度和回归结果。

  • 受到“Focal Loss”的启发,我们为边界框回归损失设计了一个双注意力机制,以进一步优化不同质量锚框的权重分配。

  • 结合以上创新点,设计了UIoU作为一种新的边界框回归损失函数。通过广泛的实验验证了所提出方法的优越性,并在消融实验中验证了各种改进的效果。

2、相关工作

2.1 几何度量中的IoU损失

IoU损失是当前目标检测器中最有效的损失函数范式。在IoU的研究过程中,大量工作聚焦于锚框与真实框之间的几何测量。

GIoU解决了原始IoU中因预测框与真实框分离而导致的梯度消失问题,并引入了最小封闭形状C,该形状可以同时包含预测框P和真实框,即使两个框分离也能驱动预测框朝向真实框。然而,GIoU并没有解决两个框相互包含的情况,在这种情况下GIoU退化为IoU。

在此基础上,CIoU增加了中心距离和边界框尺度的考量,使目标框回归更加稳定,但它采用长宽比来衡量两个框之间的差异。如果预测框和真实框的长宽比相同,则该项的惩罚始终为0,这是不合理的。

基于CIoU的惩罚项,EIoU消除了预测框和真实框长宽比的影响因素,并分别计算预测框和真实框的宽度和高度,以解决CIoU中存在的问题。

SIoU考虑了预测框与真实框之间的向量角度,并重新定义了角度惩罚度量,这使得预测框可以快速移动到最近的轴上,然后只需返回一个坐标(X或Y),有效地减少了总自由度的数量。然而,SIoU要求设置多个IoU阈值来进行计算,这些阈值需要随着数据集和任务的不同而连续调整,这使得评估变得困难,结果缺乏信心。

综上所述,上述对IoU损失的所有改进都是对预测框与真实框之间几何度量的持续挖掘。虽然它们解决了IoU带来的问题,但也导致了各项指标之间的过度耦合。例如,在IoU自身与中心距离之间,当我们保持其他项不变,减少中心距离时,IoU的最大概率也会发生变化,这导致了各项指标作用的模糊性。目前,IoU几何度量的优化几乎达到了极限,我们应该关注那些对边界框回归更有用的例子。

2.2 有效样本挖掘

边界框回归(BBR)中存在着大量的样本不平衡问题,低质量预测框的数量通常远多于高质量预测框,这导致低质量预测框在梯度更新中产生过大的影响。这样一来,训练出的模型在目标检测时会产生较大的边界框回归误差,尤其是在面对密集数据集时,容易产生大量的漏检和误检。

不同的研究对锚框质量有不同的定义。常用中心距离或IoU值来定义锚框的质量和权重因子,但有时这样做并不正确,如图1所示。αIoU将现有的基于IoU的损失推广为一个新的幂IoU损失家族,并通过单一的幂参数α调整IoU损失中各指标的权重。WIoU基于中心距离和最小封闭形状C构建了一个权重因子RW_IoU,并通过一个非单调聚焦系数β获得了一个具有动态非单调FM的损失函数。然而,这些方法只能增加高质量预测框的梯度,但无法抑制低质量预测框的异常梯度,并且也存在模型收敛速度慢的问题。

焦点损失Focal Loss从“置信度”的角度解释“有效样本”。它不是从IoU出发,而是依赖于预测框的分类难度。它认为大量的易于分类的样本产生了过多的梯度,导致模型对难以分类的目标样本关注不足。然而,它只适用于二分类任务,而且超参数γ和α的选择困难且效果不稳定。SSD通过筛选负样本防止网络的预测值接近负样本,也就是说,用于训练网络的负样本是从提取的负样本中选取的一个子集。OHEM将注意力从仅关注难样本和负样本转移到所有难样本,无论正负。这些方法简单地为一些不满意预测框分配权重或过滤掉它们,不能完全适应不同训练阶段中不同质量锚框的需求。

3、方法

0fa85adcfc4cb646f587b3c93072a8b5.png

3.1 动机

对于单阶段检测器YOLO而言,当前边界框回归损失函数(IoU Loss)的改进主要集中在预测框与真实框(Ground Truth, GT)框之间的偏差上,试图通过对两个框之间的所有方面差异进行量化来获得更准确的IoU值,如中心点的距离、长宽比、中心点连线与x-y轴的角度等。我们认为这样做效率不高,且关系量之间相互耦合,很难说明影响是由单一指标或少数几个指标决定的。

在一些对回归准确性有高要求或密集场景的情况下,高质量的目标检测需要高质量的边界框回归损失,我们不应该仅仅关注那些低质量的预测框并盲目地给予它们更多的权重。不同于以往的工作,我们更加关注那些高质量的预测框,并设计了一种新的动态权重分配方法,称为“焦点框”(Focal Box)。结合“焦点损失”的思想,我们提出了统一IoU(Unified-IoU)作为一种新的损失函数。

3.2 焦点框(Focal Box)

我们设计了一种方法,不是根据两个边界框之间的偏差为损失值分配不同的权重,而是通过放大或缩小预测框和真实框来实现为不同质量的预测框分配不同权重的目的。这种方法的优点在于无需对边界框进行任何冗余计算。在获得了边界框的高度和宽度以及中心点的坐标后,可以在一定比例下放大或缩小高度和宽度,如图2所示。

d907ff9cb651cf7ee4dff858cee51455.png

为了更直观地感受缩放导致的IoU变化,我们假设每个单元格的长度为5,两个边界框的初始IoU值为:

0171de11110d14af9b506a7fef667554.png

在边界框被放大两倍之后,IoU的值变为:

2bdda625e5d888a40b328c621faa3102.png

可以看出,在一定范围内,当缩小边界框时,其IoU值会下降,计算得到的边界框损失会增加。当你放大边界框时,其IoU值会上升,计算得到的边界框损失会减少。

IoU的变化也与IoU本身的值有关。如图3所示,我们绘制了中心距离从20变化到0的过程中IoU_ori、IoU_shr、IoU_enl的变化曲线。

50d9560e7f3f1f364e60dcbb66646859.png

从图3中不难看出,对于那些IoU较大的高质量预测框,边界框的缩小可以降低IoU值并放大边界框回归损失。而对于那些IoU接近0的低质量预测框,边界框的缩小对IoU值的影响不大。放大边界框则会产生相反的效果。需要注意的是,这种方法并不是为了更全面地衡量预测框与真实框之间的偏差,而是为了放大预测框的边界框回归损失,从而获得更多的权重。

3.3 基于边界框注意力的退火策略

借鉴训练过程中学习率使用的余弦退火策略,我们也采用类似的想法来缩放边界框。这是因为,在训练初期,高质量的预测框数量很少,仅增加这些少量预测框的权重影响不大,反而会降低收敛速度。因此,我们应该更多地关注那些低质量的预测框,这符合普遍的看法。然而,这种方式只能达到更快收敛的效果,在需要更高精度的边界框回归情况下,仅关注低质量预测框是不可取的。特别是在密集场景中,待检测的对象之间有大量的重叠或遮挡。如果此时边界框回归损失仍然由大量低质量预测框进行训练,实际检测中会有较大的偏差,容易导致漏检或误检。

在前一节中,我们已经看到,通过缩小边界框,我们可以增加边界框的回归损失,这相当于在当前训练过程中增加了高质量预测框的权重;同样地,通过放大边界框,我们也可以增加低质量预测框的权重,以实现更快的收敛。因此,我们设计了一种基于边界框注意力的退火策略:定义动态超参数“比例”作为边界框的缩放倍数。在训练初期,我们采用了放大边界框的方法,将模型的注意力集中在低质量预测框上,使其更快收敛(ratio > 1)。在训练过程中,“比例”逐渐减小,模型的注意力逐渐转向高质量预测框(ratio < 1)。

3.4 Focal Loss

不同于我们的关注点,焦点损失Focal Loss也为损失函数分配不同的权重。焦点损失更倾向于关注难以检测的样本,即置信度较低的样本,而不是IoU值。我们采纳了这一思路并进行了进一步优化。由于焦点损失最初是为了二分类任务提出的,在面对多分类问题,特别是在YOLO的应用中,我们简化了这一思路,直接使用1减去预测框的置信度作为权重因子乘以计算得到的IoU。置信度较低的预测框将获得更大的权重,这样我们可以让模型关注更难以推理的样本。

3.5 统一IoU(Unified-IoU)

我们通过结合上述方法与YOLO现有的边界框回归损失函数,设计了一个新的损失函数——统一IoU(UIoU)。这个损失函数不仅考虑了预测框与真实框之间的几何关系,还兼顾了IoU权重和置信度信息,充分利用了已知信息,因此我们称之为统一IoU(UIoU)。特别地,我们保留了原YOLO中边界框回归损失的代码,包括GIoU、DIoU、CIoU等,可以简单地切换损失函数的计算方法,便于后续研究者进行对比实验或进一步改进实验。

4、实验

4.1 数据集

为了验证我们提出的新型损失函数的有效性,我们在两个常用的数据集上进行了实验:VOC2007和COCO2017。此外,为了验证预测框检测质量的显著提高,我们还在密集数据集CityPersons上进行了测试。我们不仅考察了mAP50(平均精度均值),还关注了较高IoU阈值下的mAP值。

4.2 超参数“ratio”的设计

如果模型在开始时就关注高质量预测框,由于它们的数量较少,模型的收敛速度会较慢,这会影响在特定训练轮次下的检测准确性。如图4所示,我们在VOC2007数据集上的训练中发现了这个问题。“放大4”表示在计算损失时,我们将边界框放大4倍。“原始”意味着我们将边界框的缩放倍数设置为1,即不做任何改变。当我们放大边界框时,模型更多地关注大量的低质量预测框,模型收敛速度更快,并通过较少的轮次就能取得较好的mAP50。稳定后,模型应该逐渐将其注意力转向高质量预测框,以训练更精确的边界框回归矩阵,提高目标的检测质量。

94313812b1fbf6d0cc6ceca2f3d44145.png

正如前一节所述,我们设计了超参数“ratio”来动态调整模型对不同质量预测框的关注,并且“ratio”的值与当前训练轮次相关。我们将超参数“ratio”的初始值设置为2,以便在训练初期尽快达到一定的精度,并将“ratio”的结束值设置为0.5,以便在训练后期更多地关注高质量预测框,提高最终的目标检测质量。

至于超参数“ratio”的递减模式,我们参考了学习率的余弦退火策略,并制定了三种递减模式。假设训练轮次为300轮,它们与训练轮次的关系如下:

线性衰减策略:

d1ad9772be88f3de45d37e3727902a27.png

余弦衰减策略:

35ee3173300e4ccfa78c1023c97ab70e.png

分数衰减策略:

7d65d4a05ee667f49a5ee03845afedcf.png

我们在后续的实验中对这三种策略进行了实验,每种策略都有其优缺点,并且也在代码中展示了这三种策略,以便后续研究的方便。

4.3 在VOC2007和COCO2017上的实验结果

6b669cb089b2848b3794eac424fbf4a0.png

e4ac61e6ebf9296def3519a132d7640f.png


4.4 在CityPersons数据集上的实验结果

如表3所示,我们的UIoU损失在CityPersons数据集上表现不佳,我们认为这可能是Focal Loss影响了我们的模型。在训练过程中,模型的置信度水平与预测框的质量之间存在一定的关系。当我们关注置信度水平较低的困难样本时,这也意味着更多地关注低质量的预测框,而这不再适用于像CityPersons这样的密集行人数据集。因此,对于这个数据集的训练,我们改进了Focal Loss,并反向应用了Focal Loss的思想,称为“Focal-inv”,并对这一想法进行了确认实验。

表3表明,密集数据集面临的问题与常规数据集不同。密集数据集更注重高质量预测框的训练,模型应当关注IoU值较大的简单预测框。如表3所示,IoU阈值越大,相对于CIoU(基线)的改进效果越明显,模型能够检测到质量更高的对象。图5展示了在CityPersons数据集上,使用不同IoU损失函数训练的模型的检测效果。如图5(b)所示,使用原始“Focal Loss”思想训练的模型受到了低质量样本梯度的严重影响,在检测中产生了许多额外的错误预测框。

这个问题在密集数据集上会变得突出,导致检测精度急剧下降。在图5(c)中,我们修正了“关注难以预测的框”这一点,采用了“Focal-inv”,这大大提高了边界框回归和置信度的准确性。

614ca325965ea7915e20c14355f76a21.png

5b7f548d3d97cf2855c0418b43e575fa.png

4.5 消融实验

为了进一步验证上述关于Focal Loss在密集数据集中的观点,并明确其他改进措施在训练过程中对模型的影响,我们还在CityPersons数据集上进行了消融实验。如表4所示,我们研究了四种不同情况:仅添加Focal Box、Focal Box加上超参数“ratio”的衰减策略、仅添加Focal Loss以及仅添加Focal-inv。其中,“仅添加Focal Box”意味着在训练过程中,边界框的缩小比例保持恒定为0.5,模型始终保持对高质量预测框的关注。Focal-inv是Focal Loss的相反思想,它关注更容易检测的对象。

表4中的实验结果展示了我们改进措施的优势,并验证了我们的观点:以不同比例缩放可以改变模型对不同质量预测框的关注,缩小边界框有助于模型更多地关注高质量预测框,并提高模型的高质量检测性能;使用超参数“ratio”动态调整缩放比例可以使模型更快收敛,但会略微影响高质量检测的效果。Focal Loss的思想不再适合密集数据集。相反,密集数据集应该关注更容易检测的对象,因为置信度与IoU损失之间存在相关性。我们改进的Focal-inv显示出了更优秀的高质量检测结果。

31bbdfa3dbb64e5eee2e90cb91425ad5.png

5 结论

本文提出了一种为不同质量预测框分配权重的新方法。不同于以往的方法,我们分配的权重与当前预测框和真实框(GT)的位置、大小以及其他系数动态相关,而不是简单地乘以某个系数。在训练过程中,我们利用超参数“ratio”来调整模型对不同质量预测框的关注,以实现训练速度与高质量目标检测之间的平衡。最后,我们结合了“Focal Loss”的思想,并通过在密集数据集上的实验验证了改进后的“Focal-inv”的优越性。综合以上所有方面,我们创造性地提出了统一IoU(UIoU),并在两个常用数据集VOC2007和COCO2017上进行了对比实验,证明了我们提出的UIoU的有效性。

未来,我们将探索更高效的边界框回归损失函数,因为它们在深度学习任务中有着广泛的应用和重要性。此外,作为一种高质量目标检测的方法,我们将在更多密集数据集上展示我们UIoU的效果。

0e2cf49fd59a6c084f62027a9af685cd.png

—END—

论文链接:https://arxiv.org/pdf/2408.06636v1

274284e03a76d45bd67ab64f277cd532.jpeg

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值