作者:ronghuaiyang
来源:AI公园
导读
实验表明,对大型物体赋予更大的权重可以提高所有尺寸物体的检测分数,从而整体提升目标检测器的性能(在COCO val 2017数据集上使用InternImage-T模型,小物体检测精度提高2个百分点,中等物体提高2个百分点,大物体提高4个百分点)。
目标检测模型是一类重要的机器学习算法,旨在识别并精确定位图像或视频中的物体。然而,由于物体的大小差异以及用于训练的图像和标签的质量,这项任务有时会产生不一致的表现。在本文中,我们强调了大型物体在学习适用于所有尺寸特征的重要性。基于这一发现,我们建议在训练损失函数中引入一个权重项,该权重项与物体面积大小有关。实验表明,对大型物体赋予更大的权重可以提高所有尺寸物体的检测分数,从而整体提升目标检测器的性能(在COCO val 2017数据集上使用InternImage-T模型,小物体检测精度提高2个百分点,中等物体提高2个百分点,大物体提高4个百分点)。此外,使用不同模型和数据集进行的额外实验和消融研究进一步证实了我们的发现的稳健性。
介绍
目标检测是计算机视觉中的基本任务,在自动驾驶汽车、监控、机器人等领域有着广泛的应用。自自动图像处理技术诞生以来,它一直是计算机视觉研究的重点领域之一。卷积神经网络(CNNs)的兴起彻底改变了这一领域,催生了大量的方法,并在检测精度方面取得了显著的进步。研究人员提出了多种目标检测模型的变体,包括单阶段检测器和双阶段检测器,以提高目标检测的速度和准确性。此外,诸如注意力机制和无锚点目标检测等新技术也不断涌现,进一步提升了现有模型的性能。在本文中,我们将重点放在目标检测模型及其在图像中定位物体的基本机制分析上。检测数据集中通常包含大量的简单样本和少量的困难样本。自动选择这些困难样本可以使训练更加有效和高效。根据选择困难样本的标准,不同的数据采样技术被提出。这些标准包括当前较高的训练损失、前景/背景比例不平衡、向困难样本倾斜的IoU不平衡以及类别不平衡。训练数据集中物体大小分布对检测性能的影响是文献中较少探讨的主题。常识认为,如果最终目标是在特定大小的物体(如小型物体)上实现最大性能,则在训练过程中应该更关注这些目标物体。然而,我们的研究表明现实可能与直觉相反,即更多地关注大型物体可以改善所有尺寸物体的检测性能,包括小型物体。事实上,我们发现对训练损失的一个简单调整可以提高各种目标检测器的性能。目标检测的损失函数可以分为两类:分类损失和定位损失。前者用于训练一个分类头,用于检测目标物体,并在多类目标检测的情况下对其进行分类;后者用于训练一个回归头,以找到目标物体的矩形框。我们建议在总损失计算中包含样本权重函数,包括分类项(见图1)。通过对较小物体分配较少的权重而对较大物体分配较多的权重,模型能够有效地从大小不同的物体中学习。通过实证评估和消融研究,我们验证了所提出的权重函数的有效性,并展示了其在目标检测领域推动技术前沿的潜力。我们的贡献如下:
我们验证了在大型物体上的学习比在小型物体上的学习能带来更好的检测性能。
我们提出了一种简单的损失重加权方案,更多地关注大型物体,从而在所有物体尺寸上整体提升目标检测器的性能。
我们分析了哪些目标检测子任务最能看到性能提升,从而更好地理解损失重加权的影响。
2、相关工作
除了几何数据增强技术的应用外,多年来,目标检测器架构中还加入了越来越多的元素来改进不同尺度物体的检测性能。在本节中,我们将回顾一些我们认为对其影响力或性能重要的模型,主要突出它们处理不同大小物体的方法。接着,我们将重点讨论数据增强技术如何用于相同的目标及其局限性。
特征金字塔网络(FPN)
特征金字塔网络(FPN)是由Lin等人提出的一种广泛应用的模块,旨在解决单一预测输出对于所有物体尺度的限制问题。具体来说,它提出从骨干卷积网络的不同层次提取特征,并将其合并回倒置的特征金字塔中。然后,倒置特征金字塔的每一层都有一个专门针对某一特定大小范围物体的检测分支。性能的提升可以归因于在较高分辨率下捕捉语义信息的同时保持较低分辨率下的空间信息。
YOLO
YOLO(You Only Look Once),由Redmon等人提出,是一种基于锚点的实时单阶段目标检测系统,使用单一神经网络实时直接从输入图像预测物体边界框和类别概率。实现了业界领先的检测速度和准确度。自问世以来,YOLO经历了几次迭代改进。YOLOv2通过引入锚点框增强了原始架构,使模型能够高效检测不同长宽比和大小的物体。YOLOv3集成了特征金字塔网络,使模型能够有效捕捉多个尺度的物体。YOLOv4采用了CSPDarknet53骨干网络,提高了模型提取复杂特征的能力。它还集成了PANet模块,该模块在网络的不同层次上执行特征聚合,进一步改进了多尺度物体检测。YOLOv5是YOLO的PyTorch实现版本,具有实用的质量改进功能,适用于训练和推理。就性能而言,它与YOLOv4相当。TTFNet
TTFNet源自CenterNet,将物体定义为其边界框的中心点。它使用关键点估计来查找中心点,并回归到其他所有物体属性。TTFNet通过在中心像素周围预测边界框并使用高斯惩罚加快了CenterNet的训练速度。考虑了几种加权方案后,作者发现最佳性能是通过标准化权重然后乘以框面积的对数来实现的。然后,定位损失由批次中存在的所有权重之和进行标准化。受此方法启发,我们建议也将对数加权应用于其他术语,即定位和分类。其他工作如FCOS研究了边界框面积对训练的影响,但据我们所知,还没有人提出一种针对大物体的加权方案。在FCOS中,所有边界框内的像素都参与预测,但随后的损失在整个像素中平均。其后来扩展为FCOS Plus,将学习区域缩小到框内的中心区域。
DETR
DETR(Detection Transformer)引入了一种基于Transformer的目标检测架构,能够在一次传递中同时预测物体类别及其边界框坐标。值得注意的是,DETR利用基于集合的全局损失函数,通过集成自注意力机制和位置编码有效处理可变数量的物体。这使得模型在处理不同数量的物体时表现优异。
InternImage
InternImage由Wang等人提出,是一种大规模基于CNN的基础模型,通过增加参数数量和训练数据量来提高性能,类似于视觉变换器(Vision Transformers)。InternImage的核心操作是可变形卷积,这使其能够捕获更丰富的上下文信息。此外,InternImage结合了适应性空间聚合,这种聚合由输入和任务信息条件决定,减少了传统CNN中常见的严格归纳偏置。InternImage在不同数据集上的目标检测结果得到了改进,并且目前在多项评估指标中排名靠前。正如我们将看到的那样,通过引入大小依赖的加权项,我们可以进一步提升InternImage的性能。
数据增强数据增强是一种强大的解决方案,可以提升所有尺度物体检测模型的性能。通过对训练数据集应用变换,数据增强技术引入了多样性并扩展了不同尺度物体的表示。诸如随机缩放、翻转、旋转和平移等增强方法使模型能够学习到稳健的特征,从而准确检测小物体和大物体。特别是针对小物体设计的数据增强方法,例如随机补丁复制粘贴和像素级增强,有助于缓解低分辨率细节和有限上下文信息的问题。类似地,那些保留空间上下文并在调整大小或裁剪过程中防止信息丢失的增强方法也有助于处理大物体。然而,需要注意的是,数据增强技术在应对物体大小方面存在局限性。尽管增强可以引入多样性并扩展物体的表示,但放大物体本身并不会带来额外的信息。通过增强增大小物体的尺寸可能会提高其可见性,但不会提供原本图像中不存在的额外上下文细节或特征。另一方面,缩小或调整大物体的大小可能会导致重要信息和细粒度细节的丢失,这可能妨碍准确检测。对于数据集本身的内容(除了标注错误之外),人们关注较少,尤其是物体大小分布对所有尺度检测性能的影响。在下一节中,我们将强调从大物体中学到的特征对整体物体检测器性能的重要性。
3、目标尺寸的重要性
诸如COCO这样的数据集包含各种尺寸的多样化物体。然而,检测大物体与小物体相比面临着不同的挑战。大物体具有丰富的细节和纹理,这些细节可能需要被解释或忽略,但通常这些丰富的信息足以识别它们而无需依赖周围环境。小物体则不同,周围环境对其解释具有重要意义。图2展示了一组没有或带有上下文的小物体裁剪图,以此来说明这一事实。我们倾向于认为小物体检测主要依赖于骨干网络的早期阶段。然而,这一观察表明,骨干网络的后期阶段不仅包含了捕捉大物体的特征,还包含用于检测小物体所需的上下文信息。因此,所有尺寸的物体都需要在网络骨干的所有层级上具备高质量的特征。我们研究背后的直觉是,拥有各种尺寸的物体有助于在所有尺寸上学习高质量的特征,并且在损失函数中强调大物体的重要性会更好。这一直觉可以通过以下实验来验证:给定一个物体检测器(本例中为YOLO v5 )和一个训练数据集(COCO),我们首先使用随机权重初始化模型,并仅使用大物体对其进行预训练。我们使用了YOLO v5作者在其GitHub仓库中定义的尺寸范围,并如表1所示。然后冻结编码层,并在所有训练数据上微调模型。我们也重复同样的过程,但在预训练时使用小物体和中等物体的数据。训练和测试的mAP与mAR结果如表2所示。这些实验的目标是在仅使用大物体或小+中等物体训练的情况下,观察所学到的骨干网络特征对于不同尺寸物体的质量。
我们可以看到,尽管相比数据集中其他物体而言,大物体的数量相对较少,但仅在大物体上预训练并在整个数据集上微调的模型在所有尺寸上的表现都更优。这意味着较大物体的特征更具通用性,可以用于检测所有尺寸的物体,包括较小的物体。而在小物体上学到的特征则不那么通用。
另一个有趣的发现是,仅在小物体和中等物体上训练的网络在这类物体上的表现不如在整个数据集上训练的网络。事实上,即使是使用仅在大物体上预训练的骨干网络并在整个数据集上微调的网络,其在小物体上的检测性能也更好。这一点突显了大物体有助于学习适用于所有尺度的更有意义的特征的观点。
4.1 权重项
为了有效利用大尺寸物体来提升模型性能,我们提出在专为物体检测任务设计的损失函数中加入一个权重项。
例如,我们考虑 YOLO v5 的损失函数。
在每个训练步骤中,损失是通过对所有批次样本取平均值得到的。
其中 ,是批次中的边界框数量,是批次中边界框的集合,i 是对单个边界框的预测,是对应的地面实况。我们修改 以加入权重 :其中 。这一项旨在在训练过程中给较大的物体分配更高的权重,从而鼓励模型更多地从较大物体中学习。另一方面,由于批次中权重的总和是归一化的,较小的物体对学习的影响会减少。然而,由于对数的缓慢增长意味着任何尺寸的物体在损失函数中都不是可以忽略的。
如第2节所述,加权项(式4)已经在 TTFNet 中使用过。然而,与 TTFNet 将此权重纳入其尺寸回归损失(GIoU)不同,我们在定位损失和分类损失项中都使用了它。我们在第6.1节中通过消融研究对此选择进行了论证。
在损失函数中包含权重项鼓励模型优先准确检测和定位较大物体。这导致更具辨别力的特征和更好的上下文理解,特别是对于较大物体而言。因此,模型也更好地处理较小物体。
此外,权重项有助于解决数据集固有的对较小物体的偏差,通过在训练过程中显式地赋予较大物体更多的显著性来纠正这种偏差。这种偏差校正使模型能够更有效地从数据集中有限数量的较大物体中学习,缩小小物体和大物体识别之间的性能差距。例如,在表3中,每种物体尺寸的比例表明:
这一比例被用来与这些物体的加权和进行比较
在 COCO 和 NuScenes 数据集上,我们发现 r' 偏向于较大的物体,尽管这些物体的实际比例相对较小。这迫使训练更加关注大物体,从而在所有尺寸上提升了性能。这就提出了一个问题,即在构建数据集时物体尺寸分布的理想比例是什么,而这可能取决于目标物体及其在不同尺寸下的复杂性。因此,每个数据集可能都有一个不同的最优加权函数。
4.2 权重项对训练的影响
为了更深入地了解权重项对训练的影响,我们需要量化每次样本在训练中的重要性,损失梯度的大小之和可以很好地衡量这一点。实际上,模型参数 在训练过程中的变化与损失相对于模型参数的梯度大小成正比,即 。由于这些梯度存在于高维空间中,任意两个输入对应的梯度向量很可能是正交的。因此,三角不等式适用于这种情况。可以作为权重更新的紧密估计。因此,我们可以将 视为每个目标对学习特征影响的度量,并可以通过按目标大小重新分组这些量来观察不同大小的目标对学习过程的影响。我们计算了大目标的梯度大小之和与小目标的梯度大小之和的比例。其中, 是大目标的集合, 是小目标的集合,而 是在输入 i 上评估的训练损失项(在对整个图像和批次进行缩减之前)。图 3 展示了在 COCO 数据集上使用 YOLO v5 训练 100 个周期时,该比例的变化情况,包括使用和未使用所提出的加权项的情况。我们可以看到,在没有加权项的情况下,小目标和大目标对模型参数的贡献相当。这表现为 围绕 1 波动。相反,使用加权项会增加较大目标的影响。这一点通过 在训练开始时较高(约为 1.8)并在训练过程中保持大于 1 的值得以体现。
为了进一步研究这种效应,我们在网络的不同层次上研究了这一行为。YOLO v5 架构基于 7 个 BottleNeckCSP 块:其中两个块构成了骨干网,其余块则是模型颈部(即 PANet 部分)的主要组件。我们将分析限制在第一个或最后一个 BottleNeckCSP 块的参数上,并定义如下:其中,是模型中特定 BottleNeckCSP 块的参数集。图 4 展示了第一个或最后一个 BottleNeckCSP 块参数的 变化情况。这为我们提供了关于低级特征和高级特征影响的见解。我们发现,当使用加权函数时,第一个块受到特别显著的影响,比例在训练初期上升至原来的 16 倍,并最终稳定在 4 倍的增长水平。对于最后一层,我们仍然观察到 ( r_{\text{grad}} ) 的增长,但幅度较小。这表明将训练重点放在大目标上主要影响的是低级特征,并且在整个训练过程中都是如此。可以认为这些通用的低级特征在大目标上比在小目标上更具区分性。这些发现揭示了重新加权如何影响训练,表明低级特征从大目标中受益最多。此外,可以认为将注意力转向大目标与整体性能提升有关,因为这一现象自最初的训练周期就开始显现(这一点将在下一节中讨论)。
为了验证所提出的加权方案的影响,我们在 COCO 和 nuScenes 数据集上对几种目标检测器(YOLO V5、InternImage、DETR 和 Mask R-CNN)进行了对比实验,分别测试启用和禁用权重项的情况。我们在两块 NVIDIA RTX 2080 Ti 上对这些模型进行了训练,每个数据集训练 35 个周期,批量大小为 16。对于 InternImage-T 使用了 5 个周期的预热阶段。我们使用了 Adam 优化器并采用余弦退火学习率,YOLO v5 和 Mask R-CNN 的初始最大值为 0.01,而 InternImage-T 和 DETR 的初始最大值为 0.1。验证检测的有效 IoU 阈值固定为 0.5,COCO 数据集的置信度阈值为 0.001,nuScenes 数据集的置信度阈值为 0.05。至于数据增强,我们保留了每种方法在其原始论文中定义的数据增强流程。
表 4 展示了这些实验的平均精度均值(mAP)和平均召回率(mAR)得分。可以看出,所有模型在使用所提出的加权方案后,在各个尺度的目标上都表现出显著的性能提升。例如,经过修改后的 InternImage-T 达到了 51.2% 的 mAP,而原版为 47.2%,提升了 4 个百分点。我们的基准结果重现了 InternImage 作者的实验结果,其论文显示参数数量超过 InternImage-T 一倍的 InternImage-B 在类似训练条件下仅能达到 48.8% 的 mAP。由于训练 InternImage-XL 需要昂贵的计算资源,因此我们无法对该模型应用修改,但该模型目前是最先进的。如果能够训练这样的模型,很可能会定义新的技术前沿。尽管这里展示的结果涉及四种不同的卷积神经网络目标检测器,但所提出的加权方案较为简单,可以轻松应用于其他目标检测模型。
所选示例表明,所提出的修改使得模型能够检测出一些原本未被检测到的目标。例如,在第一行和第三行中,领带和飞机仅在应用了我们修改的模型中被检测到。如第一行和第二行所示,边界框预测也有所改进,两个模型检测到的目标在第二列中的边界框更加精确。
我们还在另一个数据集 NuScenes 上验证了改进效果。我们使用 InternImage 模型并对比了使用和不使用权重项的性能。表 5 展示了实验结果。我们观察到,在加权损失下,分数有轻微提升。图 6 显示了随着训练周期增加的整体 mAP 变化情况,证明了模型从一开始就受益于对大目标的关注,因为整个训练过程中的性能始终更优。我们可以看到,从最初几个周期开始,我们的加权策略平均带来了近 3 个百分点的提升。这进一步证明了增加大目标的存在有助于引导训练朝更好的方向发展,并避免陷入更差的局部极小点。这也表明未来对目标加权改进的效果可能在训练早期就能显现出来。
6、消融实验和讨论
为了进一步研究加权策略对 YOLO v5 损失函数的影响,我们在 COCO 数据集上进行了消融研究。给定模型的总损失函数(公式 2),我们分别对分类损失 和检测损失 应用了不同的加权函数。具体来说,我们探索了四种场景:无权重项、仅对分类项应用权重项、仅对检测项应用权重项以及对所有损失项应用权重项。我们的分析重点在于评估平均精度均值(MAP@50:95)作为一般度量指标以及边界框中心误差作为定位度量指标。表 6 展示了各种组合对不同尺度物体 mAP 的影响。由于 mAP 受定位误差和网络检测与正确分类物体能力的影响,我们补充了平均绝对误差(MAE:预测边界框中心与真实中心之间的平均 L1 距离)。MAE 仅在水平分量上进行估计。这是因为在垂直和水平 MAE 之间存在高度相关性(见图 7)。为了减少网络检测物体能力的影响,这些结果是在正确检测的物体集合上计算得出(正确的类别且 IoU > 0.5)。最后,由于 AP@50 对定位误差不太敏感,我们展示了所有物体的相应结果。结果表明,当仅对分类项添加加权方案时,mAP 略有下降,特别是在小型物体上,尽管 AP50 和 MAE 有所改善。这种现象的确切解释尚不清楚。然而,当改变的项是检测项时,mAP、MAE 和 AP50 均有所提高。对于大型物体,MAE 的相对增益更大(30%),表明定位更好。最后,同时对两个损失项应用加权方案在所有度量指标上表现最佳。与初始结果相比,最大的增益出现在小型目标上,mAP 提升了 12 个百分点(而中等物体提升 3 个百分点,大型物体提升 6 个百分点),MAE 减少了 43%(而中等物体减少了 23%,大型物体减少了 36%)。这表明,考虑到分类和检测的综合性方法,并适当分配权重项,对于实现 mAP 分数和边界框中心误差的最佳结果至关重要。
如前所述,选择 log(w × h) 的主要目的是增加大尺寸物体在网络特征学习中的贡献。我们测试了其他 w × h 的函数,并将其与所提出的函数进行了比较。表 7 在 COCO 数据集上评估了 YOLO v5 的一些样本加权函数。我们坚持认为该函数应该依赖于物体的面积,并只改变了函数类型(线性、对数、平方根)。虽然 log(w×h) 在此表中表现出最佳结果,但我们认为还需要在这个方向上进行更多的研究和实验,以识别更好的函数或证明所选的加权函数是否是最佳选择以获得更好的性能。6.3 数据集的影响在 COCO 和 NuScenes 这两个数据集上验证了性能提升的效果。尽管在这两个数据集上的性能提升不容忽视,但并不能保证在其他数据集上也能获得类似的收益。事实上,加权方案相当于人为增加数据集中大尺寸物体的比例,因此如果数据集本身已经具有最优比例,那么加权不会提高性能。然而,本研究的结论是,在构建数据集时,拥有一定比例的大尺寸物体是很重要的,如果没有,则需要通过加权因子来弥补。影响加权需求的一个方面是每个物体尺寸检测的难度。对于 COCO 和 NuScenes 数据集,小尺寸物体的检测得分低于大尺寸物体。由于小尺寸物体更难检测,因此它们在损失中往往产生更大的误差,从而导致更高的梯度。加权方案可以看作是对这种行为的一种修正因子。
7、结论
在本文中,我们展示了训练数据集中包含大尺寸物体有助于学习到在小尺寸和中等尺寸物体上也能取得更好性能的特征。随后,我们提出了一种简单的损失重新加权方案,该方案提高了目标检测器的性能。我们的发现强调了考虑大尺寸物体的重要性,并展示了在增强整体目标检测性能方面加入加权损失项的潜力。通过实验和消融研究,我们验证了所提方法的有效性。我们评估了不同模型和数据集,一致观察到在所有尺寸上的检测得分都有所提高。未来的研究可以探讨新的策略,明确考虑大尺寸物体对不同尺度检测准确性的影响。
全部0条评论
快来发表一下你的评论吧 !