Generalized Focal Loss(GFLv1)论文理解与代码分析

GFLv1解决了质量评估与分类不一致的问题,并提出了一种新的定位质量表示方法,改进了回归表示,使得模型能更好地处理复杂场景。该文介绍GFLv1提出的Quality Focal Loss和Distribution Focal Loss的具体实现。

GFLv1是较早提出在训练和推理过程中,质量评估和分类不一致问题的论文。质量与分类往往被独立训练,(yolo输出中,有独立的一个维度用于目标的置信度评估,在训练时与分类解耦;fcos,atss则利用centerness作为质量评估,同样也与分类解耦),但在test过程中却被相乘联合使用。监督只分配给正样本,但有时候负样本可能会提供更高质量的监督,必然会存在一部分分数较低的“负样本”的质量预测是没有在训练过程中有监督信号的,有就是说对于大量可能的负样本,他们的质量预测是一个未定义行为。可能出现的情况就是:一个分类score相对低的真正的负样本,由于预测了一个不可信的极高的质量score,而导致它可能排到一个真正的正样本(分类score不够高且质量score相对低)的前面。

Questions:

总结来说,GFLv1提出两个问题:
1.在训练和推理的过程中,质量评估和分类的方法不一致;
2.在复杂的场景中,回归的表示不够灵活,用狄拉克函数(类似于脉冲函数)来进行定位是不准确的;

Methods:

1.localization quality representation
在这里插入图片描述为了解决上面两个问题,GFLv1提出定位质量估计,论文将其直接与分类分数进行合并,保留类别向量,每个类别的分数的含义变为与GT的IoU。另外,使用这种方式能够同时对正负样本进行训练,不会再有训练和测试的差异。

2.general distribution
在这里插入图片描述

对于预测框的表示方法,使用general的分布进行建模,不再强加任何的约束,不仅能够获得可靠和准确的预测结果,还能感知其潜在的真实分布情况。如上图所示,对于存在歧义或不确定的边界,其分布会表现为较平滑的曲线,否则,其分布会表示为尖锐的曲线。

实际上,使用上述提到的两种策略会面临优化的问题。在常规的one-stage检测算法中,分类分支都使用Focal loss进行优化,而Focal loss主要针对离散的分类标签。在论文将定位质量与分类分数结合后,其输出变为类别相关的连续的IoU分数,不能直接使用Focal loss。所以论文对Focal loss进行拓展,提出了GFL(Generalized Focal Los),能够处理连续值目标的全局优化问题。GFL包含QFL(Quality Focal Los)和DFL( Distribution Focal Los)两种具体形式,QFL用于优化难样本同时预测对应类别的连续值分数,而DFL则通过对预测框位置进行general分布的建模来提供更多的信息以及准确的位置预测。

下面我将结合代码给大家讲解GFL的思想与实现。

Focal loss(FL)

在这里插入图片描述
FL主要用于解决one-stage目标检测算法中的正负样本不平衡问题,包含标准的交叉熵部分−log(pt)-log(p_t)log(pt)以及缩放因子部分(1−pt)γ(1-p_t)^\gamma(1pt)γ,其中缩放因子可以降低简单样本权重,提高困难样本在loss的占比,缓和样本不平衡的问题。

Quality Focal loss(QFL)

在这里插入图片描述由于FL仅支持离散标签,为了将其思想应用到分类与定位质量结合的连续标签,对其进行了扩展。首先将交叉熵部分−log(pt)-log(p_t)log(pt

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值