目标检测是计算机视觉领域的一个重要部分,而预测框的回归精度直接决定了目标检测的效果。作为模型训练的关键,IoU(即交集与并集的比值)能够很大程度上体现当前预测框与真实矩形框之间的差异。 后续研究行人不断增加了对IoU的考虑因素,如中心距、宽高比等。然而,仅仅精炼几何差异存在上限; 新考虑指数之间可能存在潜在联系,直接相加或相减可能导致“过度考虑”问题。基于这一问题,作者提出了一种新的IoU损失函数,名为统一IoU(UIoU),其更关注不同质量预测框之间的权重分配。 具体而言,损失函数以一种新方式动态地将模型的关注点从低质量预测框转移到高质量预测框,以增强模型在高精度或密集数据集上的检测性能,并在训练速度上实现平衡。 作者的提出的方法在多个数据集上实现了更好的性能,尤其是在高IoU阈值处,UIoU相比于其他改进的IoU损失具有更显著的改进效果。 作者的代码公开在: https://github.com/lxj-drifter/UIOU_files。
边界框回归(BBR)模块是目标检测模型中的一个重要部分。一个好的、准确的边界框回归函数直接决定了目标定位的准确性。如果预测框的定位精度较差,很容易导致目标真假或缺失的检测。边界框回归模块已经广泛应用于许多高级目标检测器,包括Mask R-CNN[17], Cascade R-CNN[18], YOLO[1]等。因此,设计一个好的BBR损失函数是目标检测任务的关键。
目前,BBR损失函数主要分为两类:
一类是基于回归的BBR损失,定义为损失[12, 1],它将预测框的高度和宽度分为两部分,并可以定义为每个边界框的四维向量:
其中,, , , 表示像素位置与边界框顶边、底边、左边和右边的距离。损失可以计算为:
损失=
其中,表示预测框的四维向量,表示真实框的四维向量。损失归一化了一系列特征,结果都在0和1之间。然而,这四个变量在四维向量中是相互独立的,边界之间的关系被忽略。此外,该方法只考虑像素与边界之间的距离,对边界框的大小没有限制,因此模型在小型目标上的定位性能较差[21, 19]。
另一类BBR损失是IoU(交并比)损失[21]。预测框定义为,真实框定义为,IoU损失的计算公式为:
以上两种BBR损失都是标准化的,但它们对边界框的大小不敏感,仅关注几何级数问题,忽略边界框的质量和技术难度。
在本论文中,作者将模型的注意力集中在不同质量的 Anchor 框上,不再修改边界框之间的几何度量规则。首先,作者提出了一种新的预测框的动态加权方法。
缩小边界框,可以扩大预测框和GT框的IoU损失,相当于给高质量预测框赋予更多权重,实现将模型关注点集中在高质量预测框的效果。边框缩小具有相反的效果。其次,对于高质量目标检测,作者希望模型关注高质量 Anchor 框,但这会导致收敛速度慢的问题。为了平衡模型的关注点和收敛速度之间的矛盾,作者设计了一个动态超参数“比例”,调整边界框缩放比例。具体来说,在训练开始时,作者扩大边界框,等于降低高质量预测框的IoU损失,模型关注低质量 Anchor 框,可以更快收敛。在训练后期,作者缩小边界框,等于升高高质量预测框的IoU损失,因此模型关注高质量 Anchor 框。第三,受"Focal Loss" [11]启发,作者为边界框回归(BBR)损失设计了一个双注意力机制,进一步优化权重分配。最后,作者将以上创新整合到一起,设计了一个新的IoU损失函数,称为Unified-IoU(UIoU),实现高质量目标检测。为了验证作者提出的算法,作者进行了与已知改进方法(例如GIoU [17],CIoU [18],oIoU [19]等)的比较实验。在多个数据集上出现的一致和显著的改进证明了作者的新UIoU损失函数的潜力。 (注:原文中省略了“等”。)
设计了一种新颖的方法,在模型训练过程中动态地为不同的质量 Anchor 框分配权重。考虑到模型收敛速度和高质量检测之间的矛盾,提出了使用超参数“比例”来动态调整模型注意力的策略,该策略比原始方法实现了更好的收敛速度和回归结果。
参考“Focal Loss”的思想,设计了一个双注意力机制为盒回归损失,进一步优化不同质量 Anchor 框的权重分配。结合上述创新点,提出了UIoU作为新的边界框回归损失函数。进行了大量实验以证明所提出方法的优势,并在消融实验中验证了各种改进的性能。
以下是作者对部分主要相关工作的总结,以帮助您更好地了解AI研究领域的发展动态。
在监督学习方面,深度学习方法已经取得了显著成果。特别是在图像识别、语音识别和自然语言处理等领域,深度学习已经成为了这些领域的主流技术。深度学习的一个重要分支是基于神经网络的深度学习方法,其中卷积神经网络(Convolutional Neural Networks, CNNs)和循环神经网络(Recurrent Neural Networks, RNNs)是非常重要的一种。此外,注意力机制(Attention Mechanism)近年来也被广泛应用于深度学习领域,如Transformer模型即是注意力机制的典型代表。
在无监督学习方面,自编码器(Autoencoders)是一种重要的无监督学习方法,广泛应用于数据压缩和特征提取。自编码器由两个神经层组成:输入层和输出层。输入层对原始数据进行编码,输出层再将编码结果解码为原始数据。中间层则采用了编码器-解码器(Encoder-Decoder)结构,以更好地提取数据的特征。无监督学习方法的优势在于可以自动地发现数据的潜在结构和规律,从而在分类、聚类等任务中取得较好的性能。
在海量数据时代,深度学习与无监督学习逐渐融合,形成了深度自编码器(Deep Autoencoders)这一新的研究领域。深度自编码器可以有效地对海量数据进行降维、特征提取和聚类等任务。此外,深度自编码器还可以作为一种优秀的特征学习器,用于生成对抗网络(Generative Adversarial Networks, GANs)等深度学习模型。
深度学习中另一个重要的问题是优化问题。目前,最常用的优化方法有随机梯度下降(Stochastic Gradient Descent, SGD)、Adam等。在处理大规模数据时,由于模型参数过多和数据稀疏性问题,传统的随机梯度下降方法往往需要很长时间才能收敛。为了解决这个问题,近年来提出了很多优化方法,如Adagrad、Adadelta、RMSProp等。此外,自适应学习率优化算法(如Adaptive Moment Estimation, Adam)在深度学习中也取得了很好的效果。
此外,深度学习模型中的正则化方法也是一个重要研究课题。正则化方法可以避免过拟合问题,提高模型的泛化能力。常见的正则化方法有L1正则化(L1 Regularization)、L2正则化(L2 Regularization)、Dropout等。近年来,一些正则化策略,如Dropout、DenseNet、Batch Normalization等,已经被成功地应用于深度学习模型中。
总之,深度学习领域已经取得了巨大的进展,并在计算机视觉、自然语言处理、语音识别等领域取得了突破性进展。为了更好地理解深度学习,未来还需要深入研究这些相关领域的工作。
当前目标检测器的IoU损失法是最有效的损失函数范式。在IoU研究的过程中,大量的工作集中在 Anchor 框和真实框的形几何测量上。GIoU[17]解决了原IoU中不同框之间梯度消失的问题,引入了最小封闭形状,该形状包括预测框和真实框,当两者不重合时,还可以驱动预测框向真实框靠近。然而,GIoU在存在两个框的情况下无法解决问题,这时GIoU退化为IoU。基于GIoU,CIoU[18]将中心距离和框尺度的考虑加入,使目标框回归更稳定,但采用长宽比来衡量两框之间的差异。若预测框和真实框的长宽比相同,则该项目的惩罚为0,这是不合理的。基于CIoU的惩罚项,EIoU[19]消除了预测框和真实框长宽比的影响因素,分别计算预测框和真实框的宽高,解决了CIoU存在的问题。SIoU[12]考虑了预测框与真实框之间的向量角,重新定义了角惩罚metric,使得预测框可以快速偏移到最近轴,然后只需返回一个坐标(或),从而有效减少总的自由度。然而,SIoU需要设置多个IoU阈值进行计算,而这些阈值需要随着数据集和任务的更改而调整,使得评估充满挑战且结果缺乏信心。
在改进IoU损失的过程中,所有的方法都是在预测框和真实框的形几何测量上进行连续挖掘。尽管它们解决了IoU所带来的问题,但导致了各种指标之间存在过度的耦合。例如,在保持其他项不变的情况下,减少中心距离,IoU的最大概率也会改变,从而造成了各种指标角色的歧义。目前,IoU形几何措施的优化几乎达到了极限,作者应该专注于更有利于围框回归的例子。
在BBR中存在大量样本不平衡问题,其中低质量预测框的数量通常远多于高质量预测框的数量,这导致低质量预测框在梯度更新[14, 15]中产生了过多的影响。如此一来,训练好的模型在目标检测中会产生大的边界框回归错误,特别是在面对密集数据集时,很容易产生很多遗漏和错误检测。
不同的研究有不同的 Anchor 框质量定义。通常使用中心距离或IoU值来定义 Anchor 框质量以及权重因子,但有时这种做法是错误的,如图1所示。αIoU[13]将现有的IoU基于损失泛化为一个新的权力IoU损失家族,并通过一个单一的权力参数α调整IoU损失中每个指标的重量。WIoU[12]根据中心距离和最小封闭形状C构建了一个权重因子,并引入了一个非单调聚焦系数,以获得具有动态非单调FM的损失函数。然而,这些方法只能增加高质量预测框的梯度,但不能抑制低质量预测框的异常梯度[14, 15],并且模型收敛速度也存在问题。
Focal Loss[16]从“有效实例”的角度解释“有信心”。它不再从IoU开始,而是依赖于预测框的分类难度。它认为大量易于分类的实例会产生过多的梯度,导致模型对难度分类的目标实例关注不足。然而,这种方法仅适用于二分类任务,而和超参数的选择困难且效果不稳定。SSD[17]通过筛选负面样本来防止网络预测值接近负样本,也就是说,用于训练网络的负面样本是提取的负面情绪样本的子集。OHEM[2]将注意力从只关注硬和负面样本转变为关注所有硬样本,无论正负。这些方法简单地将权重或过滤掉一些不满意的预测框,并没有完全适应训练不同质量 Anchor 框在训练阶段的不同需求。
对于单阶段检测器YOLO,当前改进边界框回归损失函数(IoU损失)主要集中在预测框与真实框(GT)之间的偏差上,试图通过量化两者之间的所有差异,例如中心点的距离,长宽比,中心点线与x-y轴的夹角等,来获得更精确的IoU值。作者认为这是低效的,因为相关关系量耦合在一起,难以证明其影响由单一指标或少数指标决定。
在高要求回归精度或密集场景下,高质量的目标检测需要高质量边界框回归损失。作者不应该仅关注那些低质量的预测框,盲目地给予它们更多权重。与以前的工作不同,作者更关注高质量预测框,并设计了一种新的动态权重分配方法,称为“Focal Box”。结合“Focal Loss”的思想,作者提出UnifiedIoU作为新的损失函数。
与其根据两个边界框的偏差为不同的质量预测框分配不同的权重,作者设计了一种方法,可以放大或缩小预测框和GT框,从而实现对不同质量预测框分配不同权重的目的。这种方法的优势在于不需要进行任何冗余计算在边界框上。在获得边界框的高度和宽度,以及边界框中心的坐标后,可以通过一定比例放大或缩小高度和宽度,如图2所示。
从图3中可以看出,对于那些具有较大IoU的高质量预测框,边界框减少可以降低IoU值并放大框回归损失。对于那些IoU接近0的低质量预测框,边界框减少对IoU值的影响很小。当你缩放一个边界框时,作用相反。需要注意的是,这种方法并不是为了更全面地测量预测框和GT框之间的偏差,而是要放大预测框的框回归损失,从而获得更大的权重。
类似于在训练过程中使用余弦退火策略[11]调整学习率,作者也利用这个思想来调整边界框的缩放。这是因为训练开始时,高质量的预测框很少,对这些少数高品质预测框加权效果很小,但会降低收敛速度。因此,作者应更加关注那些低质量的预测框,这与普遍看法一致。然而,这种方法只能实现较快的收敛,当对框回归准确度要求较高时,只关注低质量预测框并不明智。尤其是在密集场景中,要被检测到的目标物体之间存在大量重叠或遮挡。如果在这个时候,仍然用大量的低质量预测框训练框回归损失,实际检测结果与真实值之间将存在较大的偏差,这可能导致遗漏或误检测。
在上一个小节中,作者看到了通过缩小边界框可以增加框回归损失,这相当于在当前训练过程中增加高品质预测框的权重;同样,通过扩大边界框,作者也可以增加低质量预测框的权重,从而实现更快的收敛。因此,作者设计了一种以边界框注意力为基础的退火策略:动态超参数“比例”被定义为边界框的缩放因子。在训练开始阶段,作者采用了扩大边界框的方法,并将模型关注点集中在低质量预测框上,使其收敛速度更快(比例)。在训练过程中,比例逐渐减小,模型的关注点逐渐转向高品质预测框(比例)。
关注作者的重点不同,Focal Loss [14] 也给损失函数赋予不同的权重。Focal Loss 更愿意关注难以检测的样本,即置信度低的样本,而不是 IoU 值。作者采用了这一观点,并进行了进一步的优化。由于 Focal Loss 是针对二分类任务提出的,面对多分类问题,特别是在使用 YOLO 时,作者简化了这一观点,直接将预测框与预测置信度之间的差异作为权重因子来乘以计算得到的 IoU。预测框置信度低的将获得更高权重,这样作者就可以让模型关注更难以推理的例子。
作者通过将上述方法与YOLO的现有边界回归损失函数相结合,设计了一种新的损失函数Unified-IoU (UIoU)。这个损失函数不仅考虑预测框和GT框之间的几何关系,而且还考虑了IoU权重和置信信息,充分利用已知信息,因此作者称之为Unified-IoU (UIoU)。 尤其是,作者在原YOLO的边界回归损失函数的代码中保留了GIoU, DIoU, CIoU等计算方法,可以简单地切换损失函数的计算方法,方便后续的研究行人进行比较实验或进一步改进实验。
为验证作者提出的新损失函数的有效性,作者在两个常用的数据集上进行了实验:VOC2007 [10] 和 COCO2017 [12]。此外,为了验证预测框检测质量的显著改进,作者还测试了密集数据集 CityPersons [11]。作者还关注了更高的 IoU 阈值下的 mAP (均方平均精确率) 值,而不仅仅是 mAP50。
如果在模型之初专注于高质量预测帧,由于它们的数量较少,模型收敛速度较慢,这会影响在某些训练轮次下的检测精度。如图4所示,作者在VOC2007数据集上训练时发现了这个问题。"Scaling_4"表示在计算损失时将边界框放大4倍。 "Original"则表示作者以1倍的比例调整边界框,即什么也不做。"当作者放大边界框时,模型更多地关注大量低质量预测框,模型收敛得更快,通过更少的轮次实现更好的mAP50。在稳定之后,模型应逐渐将注意力转向高质量预测框,以训练更精确的框回归矩阵,并提高目标的检测质量。
如前文所述,作者设计了一个超参数“比例”,以动态调整模型对不同质量预测框的关注度,且“比例”的值与当前训练轮次相关。作者将超参数“比例”的初始值设为2,以尽早获得一定精度,并将其末值设为0.5,以在训练后期的后期更多地关注高质量预测框并提高最终目标的检测质量。
关于超参数“比例”的衰减方式,作者参考了学习率的余弦退火策略,并制定了三种衰减方式。假设训练轮次为300,它们与训练轮次的关系如下:
作者将在后续实验中使用这三种策略进行实验,每种策略都有其优缺点,并显示出这三种策略的代码供后续研究参考。
实验部分:VOC2007和COCO2017数据集的开始。
作者在VOC2007数据集上进行了验证实验和丰富的比较测试,并以不同IoU阈值下的mAP作为评估指标,来描述更高质量的目标检测。如表1所示,不同IoU损失函数的模型训练周期均为300。作者将YOLO广泛使用的CIoU损失函数作为基准,并计算了作者提出的UIoU损失函数相对于CIoU(基准)的上升比例。mAP50-75(在不同IoU阈值下6个mAP的平均值)= (mAP50 + mAP55 + ... + mAP75) / 6。
实验结果表明,作者提出的方法具有优越性,当IoU阈值较高时,它可以极大地提高检测精度,这意味着作者算法预测的边界框更准确,检测质量更高。此外,在训练过程中,作者还保持了低IoU阈值时的准确性,甚至略有提高。作者发现,不同超参数"比例"的衰减策略也将影响检测精度,这可能与作者模型将注意力从低质量预测框转移到高质量预测框的速度有关。
作者在COCO2017数据集上进行了类似的实验,实验结果如表2所示。作者的方法在mAP指标上取得了显著的改进。与基准CIoU损失函数相比,mAP50、mAP75、mAP95和mAP50-95分别提高了0.2%、0.8%、0.44%和0.5%,相对增加分别为0.353%、2.00%、18.88%和1.34%。
实验结果表明,作者提出的新的损失函数可以训练出更精确的目标检测模型,预测框的位置回归也更加准确,这有助于目标的检测,尤其是高质量目标的检测。
为了获得高质量的目标检测,作者在CityPersons数据集上进行了额外的实验。CityPersons数据集是CityScape的一个子集,包含了2,975张训练图像,500和1575张验证和测试图像。在这类密集数据集中,若预测框偏移较大,就可能影响到模型对附近其他目标物的检测,导致漏检。因此,该数据集对预测框的质量有着非常高的要求,并且可以验证作者提出的损失函数的有效性。
如表3所示,作者的UIoU损失在CityPersons数据集中表现不佳,作者认为这可能是Focal Loss影响作者的模型。在模型训练过程中,模型的置信度等级和预测框的质量之间存在一定的关系。当作者着重关注置信度较低的困难例子时,也会对质量较差的预测框给予更多关注,这些预测框在密集行人数据集如CityPersons中已不再适用。因此,在对该数据集进行训练时,作者优化了Focal Loss,并采用了一种叫做"Focal-inv"的反向Focal Loss思想进行了确认性实验。
表3说明了密集数据集面临的不同问题。密集数据集更注重高质量预测框的训练,而模型应关注具有较大IoU值的简单预测框。如表3所示,IoU阈值越大,与CIoU( Baseline )相比的改进效果越明显,模型可以检测到更高质量的物体。图5显示了使用不同IoU损失函数的CityPersons数据集训练模型下的检测效果。如图5(b)所示,使用原"Focal Loss"思想的模型受到了低质量样本的梯度影响,产生了许多错误的预测框。在密集数据集中,这个问题会变得尤为突出,导致检测准确率急剧下降。图5(c)中,作者纠正了“关注难以预测的框”的观点,并采用了"Focal-inv",这大大提高了边界框回归和置信度。
为了进一步验证关于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显示了更出色的优质检测结果。
在本文中,作者提出了一种新的方法,为不同的质量预测框分配权重。与以往的方法不同,作者分配的权重是与当前预测框及其真实值(GT)框的相对位置、大小和其他系数动态相关的,而不是简单地乘以一个恒定的系数。
在训练过程中,作者使用超参数"比例"来调整模型对不同质量预测框的关注度,以实现训练速度与高精度检测物体之间的平衡。最后,作者将"Focal Loss"的理念与"Focal-inv"相结合,并通过在稠密数据集上的实验,验证了改进后的"Focal-inv"的优势。
考虑到所有上述因素,作者创新性地提出了UUnified-IoU(UIoU),并在两个常用的数据集,VOC2007和COCO2017上进行了比较实验,证明了作者提出的UIoU的有效性。
[1].Unified-IoU: For High-Quality Object Detection.