转载:Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%
论文链接:https://arxiv.org/abs/2401.10525
代码链接:https://github.com/malagoutou/Focaler-IoU
在目标检测领域,边界框回归起着至关重要的作用,而目标检测的定位精度很大程度上取决于边界框回归的损失函数。现有研究通过利用边界框之间的几何关系来提高回归性能,而忽略了难以和容易样本分布对边界框回归的影响。在这篇文章中,作者分析了难以和容易样本分布对回归结果的影响,然后提出了Focaler-IoU,通过关注不同的回归样本,该方法可以提高不同检测任务中的检测器性能。最后,作者使用现有的高级检测器和回归方法进行了不同检测任务的比较实验,并使用本文提出的办法进一步提高了检测性能。
这个论文和 Inner-IoU 是同作者,同一系列。
目标检测是计算机视觉的基本任务之一,其目的是在图像中定位并识别物体。根据是否生成 Anchor 点,目标检测方法可以分为Anchor-based和 Anchor-Free两大类。Anchor-based算法包括FasterR-CNN,YOLO系列,SSD和 RetinaNet。Anchor-Free的检测算法包括CornerNet,CenterNet 和 FCOS。在这些检测器中,边界框回归损失函数作为定位分支的重要组成部分,起着不可替代的作用。
随着计算机视觉的发展,目标检测任务受到了越来越多研究者的关注。为了评估各种算法在检测任务上的性能,需要引入一个合适的指标。在提出IoU之前,Ln-范数损失被用作早期边界框回归问题的评估指标,但是,由于Ln-范数损失对异常值非常敏感,这导致异常值对损失有更大的影响,使模型在存在异常值时性能不稳定。
为了更好地解决上述问题,提出了一种更合适的指标:IoU。在基于IoU的评估标准下,大多数目标检测任务的检测精度得到了进一步提高,但是IoU损失本身也存在一些缺陷,例如,当GT框和 Anchor 框之间没有重叠时,它们的梯度将消失,无法准确描述两个边界框之间的位置关系。
为了弥补这一缺陷,GIoU提出使用包含GT框和 Anchor 框的最小外接矩形来计算损失,可以提高检测性能。在CIoU和DIoU中,为了加速GIoU的收敛速度,CIoU通过进一步考虑GT框和 Anchor 框的宽高比来加速收敛,而DIoU通过归一化两个边界框的中心之间的距离来加速收敛。EIoU在CIoU的基础上进一步考虑形状损失,通过最小化GT框和 Anchor 框的宽高差来加速收敛。SIoU进一步考虑连接两个边界框中心线的线的角度,并根据角度重新定义距离损失和形状损失,并将它们作为新的损失项添加到损失函数中,以实现最佳检测效果。
在边缘回归的过程中,不平衡训练样本的问题依然存在。训练样本可以根据是否包含目标类别分为正样本和负样本。一些传统的解决样本不平衡问题的方法是在训练过程中,在采样和重新加权困难样本,但是这种方法的效果并不显著。
在Focal Loss中,提出了一种方法,即容易识别的负样本占总损失的大部分,并且主导梯度。Focal Loss通过调整正样本和负样本的权重,使模型更关注难以分类的正样本,从而减少相对容易分类的负样本的权重,从而提高模型识别罕见目标类别的能力。在Libra R-CNN中,提出了一种简单而有效的平衡学习框架,其中在目标层面使用Balanced L1损失将训练样本分为异常值和内值。异常值被视为困难样本,与内值相比,它们可以产生更大的梯度,这对训练过程是有害的。
因此,Libra R-CNN使用梯度回归来促进内值,并剪切那些异常值产生的较大梯度,以获得更好的分类结果。在EIoU中,将训练样本分为高质量样本( Anchor 点)和低质量样本(异常值),并基于L1损失提出Focal L1损失来增加高质量样本对训练过程的梯度贡献。同时,将EIoU损失作为FocalL1损失的一个变量,使模型能够更关注高质量样本,从而进一步提高检测效果。
这篇文章的主要贡献如下:
近年来,随着检测器的不断发展,边缘回归损失也得到了迅速发展。最初,IoU被提出用于评估边缘回归的状态,然后基于IoU等新的约束条件GIoU, DIoU, CIoU, EIoU, SIoU等相继提出。
IoU是最流行的目标检测评估指标,其定义如下: 其中, B表示预测的边界框, 表示真实目标框。
由于在边界框回归中,GT框和 Anchor 框之间没有重叠,因此IoU损失出现了梯度消失的问题。为了解决这个问题,提出了GIoU,其定义如下:
其中,C表示 GT框和 Anchor 框之间的最小外接矩形。
与GIoU相比,DIoU考虑了边界框之间的距离约束,并在IoU的基础上,通过添加中心点归一化距离损失项,使得回归结果更加准确。它定义如下:
在这里, b表示 Anchor 框的中心点, 表示 GT 框的中心点, 表示欧几里得距离,其中C是 b和 之间的最小外接矩形的对角线距离。
CIoU 进一步考虑了 GT 和 Anchor 框之间的形状相似性,通过在 DIoU 的基础上添加一个新的形状损失项来减少 Anchor 框和 GT 框之间的宽高比差异。它定义如下:
在这里, 和 分别表示 GT 框的宽度和高度,w和h分别表示 Anchor 框的宽度和高度。
EIoU 根据 CIoU 重新定义了形状损失,并通过直接减少 GT 框和 Anchor 框之间的宽高比差异进一步提高了检测精度。它定义如下:
在这里, 和 分别表示最小检测框覆盖 GT 框和 Anchor 框的宽度和高度。
在前人研究的基础上,SIoU 进一步考虑了边界框之间的角度对边界框回归的影响,旨在通过减小 Anchor 框和 GT 框之间的角度差异来加速收敛过程。它的定义如下:
/
角度损失表示GT框和Anchor框中心点连接之间的最小角度:
这一项旨在将Anchor框移动到最近的坐标轴,并根据角度变化优先考虑接近X轴或Y轴。当角度值为45°时,Λ=1。当中心点沿X轴或Y轴对齐时,Λ=0。
在考虑角度成本后,重新定义距离损失如下:
形状损失主要描述GT框和Anchor框之间的大小差异,定义如下:
θ的值决定了形状成本的重要性。这个参数的范围从2到6。
///
各种目标检测任务中存在样本不平衡问题,可以根据目标检测的难度将其分为难以检测的样本和易于检测的样本。从目标尺度分析的角度来看,一般的检测目标可以被视为简单样本,而非常小的目标由于在精确定位方面的难度,可以被视为难以检测的样本。对于以简单样本为主的检测任务,在边界框回归过程中关注简单样本有助于提高检测性能。对于以难以检测的样本为主的检测任务,相比之下,则需要关注难以检测样本的边界框回归。
为了在不同的检测任务中关注不同的回归样本,作者使用线性区间映射方法重构 IoU 损失,从而提高边缘回归。公式如下:
在这里, 表示重构的 Focaler-IoU,IoU 表示原始的 IoU 值,。通过调整d 和 u的值,作者可以使 关注不同的回归样本。它的损失定义如下:
PASCAL VOC 数据集是目标检测领域中最流行的数据集之一。在本篇文章中,作者使用 VOC2007 和 VOC2012 的训练集和测试集,包括 16,551 张图像,以及 VOC2007 的测试集,包含 4,952 张图像。
在本实验中,作者选择最新的单阶段检测器 YOLOv8 和 YOLOv7-tiny 在 VOC 数据集上进行比较实验,并选择 SIoU 作为实验的比较方法。实验结果如下表1 所示:
AI-TOD 是一个遥感图像数据集,与一般的图像数据集不同,因为它包含大量微小的目标,且平均目标大小为 12.8 像素。在本实验中,作者选择 YOLOv5s 作为检测器,并使用 SIoU 作为比较方法。实验结果如下表2 所示:
在这篇文章中,作者分析了困难样本和容易样本分布对目标检测的影响。当困难样本占主导地位时,需要关注困难样本以提高检测性能。当简单样本的比例较大时,相反的情况是正确的。
接下来,提出 Focaler-IoU 方法,通过线性区间映射重构原始 IoU 损失,以实现关注困难样本和容易样本的目标。最后,比较实验证明了所提出的方法可以有效地提高检测性能。
参考
[1].Focaler-IoU: More Focused Intersection over Union Loss.