YOLOv8改进 | 损失函数篇 | QualityFocalLoss质量焦点损失(含代码 + 详细修改教程)

简介: YOLOv8改进 | 损失函数篇 | QualityFocalLoss质量焦点损失(含代码 + 详细修改教程)

一、本文介绍

本文给大家带来的改进机制是QualityFocalLoss,其是一种CLS分类损失函数,它的主要创新是将目标的定位质量(如边界框与真实对象的重叠度量,例如IoU得分)直接融合到分类损失中,形成一个联合表示。这种方法能够解决传统目标检测中分类与定位任务之间存在的不一致性问题。QFL通过为每个类别的得分赋予根据定位质量调整的权重,使得检测模型在训练过程中能够更加关注那些难以定位或分类的样本。

在开始之前给大家推荐一下我的专栏,本专栏每周更新3-10篇最新前沿机制 | 包括二次创新全网无重复,以及融合改进(大家拿到之后添加另外一个改进机制在你的数据集上实现涨点即可撰写论文),还有各种前沿顶会改进机制 |,更有包含我所有附赠的文件(文件内集成我所有的改进机制全部注册完毕可以直接运行)和交流群和视频讲解提供给大家。

欢迎大家订阅我的专栏一起学习YOLO!

image.png


专栏目录:YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制
专栏回顾:YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备

二、Quality Focal Loss原理


image.png

2.1 Quality Focal Loss的基本原理

Quality Focal Loss (QFL) 是一种用于目标检测的改进损失函数。它的主要创新是将目标的定位质量(如边界框与真实对象的重叠度量,例如IoU得分)直接融合到分类损失中,形成一个联合表示。这种方法能够解决传统目标检测中分类与定位任务之间存在的不一致性问题。QFL通过为每个类别的得分赋予根据定位质量调整的权重,使得检测模型在训练过程中能够更加关注那些难以定位或分类的样本。

Quality Focal Loss(QFL)的基本原理可以分为以下几个要点:

1. 联合表示法: QFL将定位质量(如IoU分数)与分类得分融合为一个联合表示,这种表示在训练和推理过程中保持一致性,有助于解决在训练和测试阶段对质量估计和分类得分使用不一致的问题。

2. 连续标签支持: 传统的Focal Loss仅支持离散的{0, 1}标签,而QFL扩展了这一概念,支持连续的标签(如IoU分数),从0到1的浮点数,更好地反映了实际数据中的情况。

3. 动态调整难度: QFL通过动态调整损失函数,使得模型在训练过程中更多地关注难以分类或定位的样本,从而提高模型的整体性能。

2.2 联合表示法

联合表示法是Quality Focal Loss中的核心概念,它将分类得分和定位质量(例如IoU得分)整合到单一的预测向量中。这种表示方法解决了传统目标检测方法中训练和推理阶段质量估计与分类评分分离使用的不一致性问题。具体来说,它允许模型在预测分类的同时,估计每个检测框的定位质量,从而在非最大抑制(NMS)处理中提供更准确的排序得分,改善检测性能。

下图展示了传统方法(Existing Work)和我们的方法之间在分类和定位质量估计方面的不同表示形式的对比:

image.png

图(a)中,即现有工作,训练和测试阶段分别独立处理分类得分、边界框回归和IoU/centerness得分,这导致了训练和推理之间的不一致性。

而在图(b)中,我们的方法则将分类得分和IoU得分结合为一个联合表示,即在训练和测试时都使用的分类与IoU联合得分。这种联合表示提高了训练和推理之间的一致性,与Quality Focal Loss的基本原理中提到的“联合表示法”紧密相关。在Quality Focal Loss中,通过这种方式,模型能够在训练过程中考虑到每个样本的定位质量,使得损失函数能够更加关注那些定位或分类困难的样本。

2.3 连续标签支持

连续标签支持是指在质量焦点损失(Quality Focal Loss, QFL)中,分类的输出标签不再是传统的0或1(如在one-hot编码中),而是可以取任意在0到1之间的连续值。这些连续值代表了目标定位的质量,通常是指与真实边界框的交并比(IoU)。通过这种方式,QFL可以直接在损失函数中整合定位质量,使得损失函数能够对定位不准确的样本施加更大的权重,从而激励模型学习更准确地预测边界框。

下面这张图比较了传统目标检测方法和提出的广义焦点损失(GFL)方法之间的差异:

image.png

在传统方法(Existing Work)中,分类分支使用one-hot标签进行正类和负类的区分,而回归分支则采用Dirac delta分布进行边界框的预测。相比之下,GFL方法引入了质量焦点损失(QFL)和分布焦点损失(DFL)。QFL通过软one-hot标签(IoU标签)进行学习,这些标签反映了边界框的定位质量。同时,DFL使用一般分布

image.png

来模拟边界框位置的概率分布。


2.4 动态调整难度

动态调整难度是质量焦点损失(Quality Focal Loss, QFL)的一个特点,它允许模型在训练过程中更多地关注那些难以分类或定位的样本。这是通过调整损失函数中的一个参数来实现的,该参数会增加对模型预测不确定性较高的样本的损失值,使得模型更加集中于这些难以预测的样本上。这种方法旨在提高模型对困难样本的敏感性,帮助模型更加精确地进行分类和定位,尤其是在面对复杂或模糊的检测场景时。

下面这张图展示了Quality Focal Loss (QFL)在不同β参数下的损失曲线,以及不同分布对于相同积分目标的表示和实际边界框回归目标的分布直方图:

image.png


图(a)展示的QFL损失曲线与基本原理中的“动态调整难度”相关,因为它展示了如何通过调整β参数来调节模型对于难以预测样本的关注度。

图(b)展示了不同的概率分布如何针对相同的积分目标(即回归目标)进行调整,这与“表示任意分布的边界框位置”的原理有关。

图(c)则是实际数据集中回归目标的分布,这有助于我们理解和验证QFL在实际应用中的效果。

目录
相关文章
|
算法 计算机视觉
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
790 2
|
计算机视觉
如何理解focal loss/GIOU(yolo改进损失函数)
如何理解focal loss/GIOU(yolo改进损失函数)
|
机器学习/深度学习 计算机视觉 网络架构
改进YOLOv8:添加CBAM注意力机制(涨点明显)
改进YOLOv8:添加CBAM注意力机制(涨点明显)
7242 1
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
1315 0
|
机器学习/深度学习
YOLOv8改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU、InnerFocalerIoU(二次创新)
YOLOv8改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU、InnerFocalerIoU(二次创新)
1456 0
|
12月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
18824 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
12月前
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
18259 0
|
机器学习/深度学习 算法 计算机视觉
【YOLOv8改进-损失函数】SlideLoss损失函数,解决样本不平衡问题
YOLO-FaceV2是基于YOLOv5的实时人脸检测模型,采用RFE模块增强小人脸检测,NWD损失处理定位偏差,SEAM注意力模块应对遮挡,Slide Loss解决样本不平衡,提升对难样本的关注。在WiderFace数据集上超越YOLO系列。论文和代码已公开。Slide Loss通过IoU加权,优化边界样本,提高模型性能。
|
机器学习/深度学习 编解码 算法
YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】
YOLOv8在小目标检测上存在挑战,因卷积导致信息丢失。本文教程将原网络结构替换为更适合小目标检测的backbone,并提供结构图。通过讲解原理和手把手教学,指导如何修改代码,提供完整代码实现,适合新手实践。文章探讨了大特征图对小目标检测的重要性,如细节保留、定位精度、特征丰富度和上下文信息,并介绍了FPN等方法。YOLOv8流程包括预处理、特征提取、融合和检测。修改后的网络结构增加了上采样和concatenate步骤,以利用更大特征图检测小目标。完整代码和修改后的结构图可在文中链接获取。
|
机器学习/深度学习 编解码 测试技术
【YOLOv8改进-SPPF】 Focal Modulation :使用焦点调制模块替代SPPF
YOLOv8专栏介绍了FocalNets,一种取代自注意力的新型模块,提升模型在图像分类、检测和分割任务中的性能。Focal Modulation包括局部聚焦、全局调制和多尺度处理,通过融合CNN和自注意力优点。代码展示了FocalModulation模块的实现。论文和代码已开源。在多个基准测试中,FocalNets超越了Swin等先进模型。