Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%

简介: Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%

在目标检测领域,边界框回归起着至关重要的作用,而目标检测的定位精度很大程度上取决于边界框回归的损失函数。现有研究通过利用边界框之间的几何关系来提高回归性能,而忽略了难以和容易样本分布对边界框回归的影响。在这篇文章中,作者分析了难以和容易样本分布对回归结果的影响,然后提出了Focaler-IoU,通过关注不同的回归样本,该方法可以提高不同检测任务中的检测器性能。最后,作者使用现有的高级检测器和回归方法进行了不同检测任务的比较实验,并使用本文提出的办法进一步提高了检测性能。

代码:https://github.com/malagoutou/Focaler-IoU

I Introduction

目标检测是计算机视觉的基本任务之一,其目的是在图像中定位并识别物体。根据是否生成 Anchor 点,目标检测方法可以分为Anchor-based和 Anchor-Free两大类。Anchor-based算法包括FasterR-CNN,YOLO系列,SSD和 RetinaNet。 Anchor-Free的检测算法包括CornerNet,CenterNet 和 FCOS。在这些检测器中,边界框回归损失函数作为定位分支的重要组成部分,起着不可替代的作用。

Bounding Box Regression Losses

随着计算机视觉的发展,目标检测任务受到了越来越多研究者的关注。为了评估各种算法在检测任务上的性能,需要引入一个合适的指标。在提出IoU之前,-范数损失被用作早期边界框回归问题的评估指标,但是,由于-范数损失对异常值非常敏感,这导致异常值对损失有更大的影响,使模型在存在异常值时性能不稳定。

为了更好地解决上述问题,提出了一种更合适的指标:IoU。在基于IoU的评估标准下,大多数目标检测任务的检测精度得到了进一步提高,但是IoU损失本身也存在一些缺陷,例如,当GT框和 Anchor 框之间没有重叠时,它们的梯度将消失,无法准确描述两个边界框之间的位置关系。

为了弥补这一缺陷,GIoU提出使用包含GT框和 Anchor 框的最小外接矩形来计算损失,可以提高检测性能。在CIoU和DIoU中,为了加速GIoU的收敛速度,CIoU通过进一步考虑GT框和 Anchor 框的宽高比来加速收敛,而DIoU通过归一化两个边界框的中心之间的距离来加速收敛。EIoU在CIoU的基础上进一步考虑形状损失,通过最小化GT框和 Anchor 框的宽高差来加速收敛。SIoU进一步考虑连接两个边界框中心线的线的角度,并根据角度重新定义距离损失和形状损失,并将它们作为新的损失项添加到损失函数中,以实现最佳检测效果。

Focal Loss

在边缘回归的过程中,不平衡训练样本的问题依然存在。训练样本可以根据是否包含目标类别分为正样本和负样本。一些传统的解决样本不平衡问题的方法是在训练过程中,在采样和重新加权困难样本,但是这种方法的效果并不显著。

在Focal Loss中,提出了一种方法,即容易识别的负样本占总损失的大部分,并且主导梯度。Focal Loss通过调整正样本和负样本的权重,使模型更关注难以分类的正样本,从而减少相对容易分类的负样本的权重,从而提高模型识别罕见目标类别的能力。在Libra R-CNN中,提出了一种简单而有效的平衡学习框架,其中在目标层面使用Balanced L1损失将训练样本分为异常值和内值。异常值被视为困难样本,与内值相比,它们可以产生更大的梯度,这对训练过程是有害的。

因此,Libra R-CNN使用梯度回归来促进内值,并剪切那些异常值产生的较大梯度,以获得更好的分类结果。在EIoU中,将训练样本分为高质量样本( Anchor 点)和低质量样本(异常值),并基于L1损失提出FocalL1损失来增加高质量样本对训练过程的梯度贡献。同时,将EIoU损失作为FocalL1损失的一个变量,使模型能够更关注高质量样本,从而进一步提高检测效果。

这篇文章的主要贡献如下:

  1. 分析了困难样本和容易样本分布对边界框回归的影响。基于现有的边界框回归方法,提出了Focaler-IoU,通过线性区间映射关注不同的回归样本。
  2. 使用先进的单阶段检测器进行了实验,以验证作者的方法可以有效提高检测性能并弥补现有方法的不足。

II Related work

近年来,随着检测器的不断发展,边缘回归损失也得到了迅速发展。最初,IoU被提出用于评估边缘回归的状态,然后基于IoU等新的约束条件GIoU, DIoU, CIoU, EIoU, SIoU等相继提出。

IoU Metric

IoU是最流行的目标检测评估指标,其定义如下:

其中, 表示预测的边界框, 表示真实目标框。

GIoU Metric

由于在边界框回归中,GT框和 Anchor 框之间没有重叠,因此IoU损失出现了梯度消失的问题。为了解决这个问题,提出了GIoU,其定义如下:

其中, 表示 GT框和 Anchor 框之间的最小外接矩形。

DIoU Metric

与GIoU相比,DIoU考虑了边界框之间的距离约束,并在IoU的基础上,通过添加中心点归一化距离损失项,使得回归结果更加准确。它定义如下:

在这里, 表示 Anchor 框的中心点, 表示 GT 框的中心点, 表示欧几里得距离,其中  是  和  之间的最小外接矩形的对角线距离。

CIoU 进一步考虑了 GT 和 Anchor 框之间的形状相似性,通过在 DIoU 的基础上添加一个新的形状损失项来减少 Anchor 框和 GT 框之间的宽高比差异。它定义如下:

在这里, 和  分别表示 GT 框的宽度和高度, 和  分别表示 Anchor 框的宽度和高度。

EIoU Metric

EIoU 根据 CIoU 重新定义了形状损失,并通过直接减少 GT 框和 Anchor 框之间的宽高比差异进一步提高了检测精度。它定义如下:

在这里, 和  分别表示最小检测框覆盖 GT 框和 Anchor 框的宽度和高度。

SIoU Metric

在前人研究的基础上,SIoU 进一步考虑了边界框之间的角度对边界框回归的影响,旨在通过减小 Anchor 框和 GT 框之间的角度差异来加速收敛过程。它的定义如下:

III Methods

Analysis

各种目标检测任务中存在样本不平衡问题,可以根据目标检测的难度将其分为难以检测的样本和易于检测的样本。从目标尺度分析的角度来看,一般的检测目标可以被视为简单样本,而非常小的目标由于在精确定位方面的难度,可以被视为难以检测的样本。对于以简单样本为主的检测任务,在边界框回归过程中关注简单样本有助于提高检测性能。对于以难以检测的样本为主的检测任务,相比之下,则需要关注难以检测样本的边界框回归。

Focaler-IoU

为了在不同的检测任务中关注不同的回归样本,作者使用线性区间映射方法重构 IoU 损失,从而提高边缘回归。公式如下:

$IoU^{focaler}=\begin{cases}0,&IoUu\end{cases} \tag{14}$

在这里, 表示重构的 Focaler-IoU,IoU 表示原始的 IoU 值,。通过调整  和  的值,作者可以使  关注不同的回归样本。它的损失定义如下:

将 Focaler-IoU 损失应用到基于 IoU 的边界框回归损失函数中,, , ,  和  分别为:

IV Experiments

PASCAL VOC on YOLOv8

PASCAL VOC 数据集是目标检测领域中最流行的数据集之一。在本篇文章中,作者使用 VOC2007 和 VOC2012 的训练集和测试集,包括 16,551 张图像,以及 VOC2007 的测试集,包含 4,952 张图像。

在本实验中,作者选择最新的单阶段检测器 YOLOv8 和 YOLOv7-tiny 在 VOC 数据集上进行比较实验,并选择 SIoU 作为实验的比较方法。实验结果如下表1 所示:

AI-TOD on YOLOv5

AI-TOD 是一个遥感图像数据集,与一般的图像数据集不同,因为它包含大量微小的目标,且平均目标大小为 12.8 像素。在本实验中,作者选择 YOLOv5s 作为检测器,并使用 SIoU 作为比较方法。实验结果如下表2 所示:

V Conclusion

在这篇文章中,作者分析了困难样本和容易样本分布对目标检测的影响。当困难样本占主导地位时,需要关注困难样本以提高检测性能。当简单样本的比例较大时,相反的情况是正确的。

接下来,提出 Focaler-IoU 方法,通过线性区间映射重构原始 IoU 损失,以实现关注困难样本和容易样本的目标。最后,比较实验证明了所提出的方法可以有效地提高检测性能。

参考

[1].Focaler-IoU: More Focused Intersection over Union Loss.

相关文章
|
7月前
|
算法 计算机视觉
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
433 2
|
7月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv5改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
YOLOv5改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
326 1
|
2月前
|
机器学习/深度学习 算法 PyTorch
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
这篇文章详细介绍了多种用于目标检测任务中的边界框回归损失函数,包括IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU和WIOU,并提供了它们的Pytorch实现代码。
310 1
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
|
7月前
|
数据挖掘 计算机视觉
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
533 1
|
7月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
738 0
|
6月前
|
机器学习/深度学习 算法 计算机视觉
【YOLOv8改进-损失函数】SlideLoss损失函数,解决样本不平衡问题
YOLO-FaceV2是基于YOLOv5的实时人脸检测模型,采用RFE模块增强小人脸检测,NWD损失处理定位偏差,SEAM注意力模块应对遮挡,Slide Loss解决样本不平衡,提升对难样本的关注。在WiderFace数据集上超越YOLO系列。论文和代码已公开。Slide Loss通过IoU加权,优化边界样本,提高模型性能。
|
7月前
|
算法 数据可视化 图形学
超越GIoU/DIoU/CIoU/EIoU | MPDIoU让YOLOv7/YOLACT双双涨点,速度不减!
超越GIoU/DIoU/CIoU/EIoU | MPDIoU让YOLOv7/YOLACT双双涨点,速度不减!
138 0
|
7月前
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 损失函数篇 | SlideLoss、VFLoss分类损失函数助力细节涨点(全网最全)
YOLOv5改进 | 损失函数篇 | SlideLoss、VFLoss分类损失函数助力细节涨点(全网最全)
514 0
|
机器学习/深度学习 算法 计算机视觉
YOLO涨点Trick | 超越CIOU/SIOU,Wise-IOU让Yolov7再涨1.5个点!
YOLO涨点Trick | 超越CIOU/SIOU,Wise-IOU让Yolov7再涨1.5个点!
4807 1
YOLO涨点Trick | 超越CIOU/SIOU,Wise-IOU让Yolov7再涨1.5个点!
|
算法 数据可视化 计算机视觉
再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能(二)
再战IOU | 总结分析IOU/GIOU/CIOU局限,提出Focal EIOU进一步提升目标检测性能(二)
362 0
下一篇
DataWorks