Generalized Focal Loss Learning Qualified and Distributed Bounding Boxes for Dense Object Detection

针对单阶段目标检测器,提出GeneralizedFocalLoss(GFL),包括QualityFocalLoss(QFL)和DistributionFocalLoss(DFL)两部分,旨在解决定位质量和分类表示不一致及边界框表示灵活性不足的问题。实验表明GFL能有效提升检测性能。

(一)Title

GFL可以应用于任何单级检测器

前言:这篇文章在GFL和DFL上的数学表示干净漂亮,充分展示了数学之美(主要是咱能看懂一些了),除了合并classfication score和Localization Quality Estimation的工作之外,作者这里对于深度学习中标注的label提出了质疑,同时给出了解决质疑的方法,利用一个通用分布来表示回归的标注。真的是理论很完整的文章。非常推荐大家仔细阅读下


(二)Summary

One-stage检测器将目标检测形式化为dense classificationlocalization。分类通常通过Focal Loss进行优化,bounding box的定位通常利用狄拉克δ分布进行学习。One-stage检测器的最新趋势是引入an individual prediction branch(单独的预测分支)来帮助分类,从而提升检测性能。

作者在实践过程中发现了两个问题:

  • 在训练和推断阶段,质量评估和分类使用的不一致(即,单独训练但在测试中复合使用)
  • 用于定位的狄拉克δ分布在存在模糊性以及不确定性时存在着不够灵活的特征,而这种模糊性以及不确定性在复杂场景中常常会这样。

为了解决上述的两个问题,作者将quality estimation合并到 class prediction vector 中从而形成一个定位质量和分类的联合表示,此外使用一个vector来表示box位置的任意分布。作者的改进消除了不一致性风险,并准确地描述了真实数据中的灵活分布,但是存在的问题是出现了连续标签,使得Focal Loss无法使用,因此作者将离散形式的Focal Loss 推广到连续形式的Generalized Focal Loss(GFL)上,并能够成功的进行优化。

性能表现

在 COCO test-dev上,45.0% AP using ResNet-101 backbone,同时在速度上具有较大优势, single-scale AP of 48.2%, at 10 FPS on a single 2080Ti GPU


(三)Research Object

本文主要的3个研究对象是:

  • localization quality representation(定位质量估计)

我们联合了classification score以及IoU score得到了一个联合的单个变量(文中称之为classification-IoU joint representation),能够进行端到端训练,在推理阶段可以直接使用
在这里插入图片描述
消除了classfication score和IoU score之间的不相关性,下图的散点图表示,随机抽样的实例及其预测分数,蓝色表示是之前网络,classification score 和 IoU score 之间相关性较差,作者采用联合分布的形式迫使两者相关,这里我觉得绿点有点夸张,完全等比例关系的话,我们直接使用classification score来做NMS排序不就好了
在这里插入图片描述
同时拿负样本训练IoU score分数为0,使得整体的预测更加的可靠,作者提出这对于dense Object detection尤其有利,因为能够得到更加正确的排序,从而保证NMS结果的正确性(我们在inference阶段,使用的预测结果是经过NMS之后的来计算mAP、AR等指标)。

  • bounding box representation(边界框的表示)

本文中不引入更强的先验,通过直接学习其连续空间上的离散化概率分布来表示boxes location的任意分布(文中称之为General distribution),从而使得能够获得更可靠和准确的包围盒估计,同时也可以知道bounding box的各种潜在的分布,这里说的分布应该指的是下图中右图的分布(博主个人理解)。
在这里插入图片描述

经过上面作者的联合classfication score和IoU score,带来了一个问题,就是我们现在使用连续的IoU label(0~1)作为监督,而类别损失Focal Loss中仅仅支持离散的类别标签{0,1}.因此,作者在这里将FL离散形式进行调整。

  • Generalized Focal Loss(GFL)
    Generalized Focal Loss(GFL).更具体的来说,GFL可以分成Quality Focal Loss(QFL)以及Distribution Focal Loss(DFL)

QFL专注于a sparse set of hard examples,同时在相应的类别上产生它们的连续0~1之间的localization quality estimation;
DFL使网络能够在任意和灵活的分布下,学习bounding boxes在连续位置上的概率值。


(四)Problem Statement

本文提出了两个问题:

  1. 由于当前研究关于localization quality estimation在训练和测试阶段不一致,导致的在测试阶段,一些类别置信度较低的目标具有较高的localization quality分数,两者乘积后进行排序,造成一些差样本被NMS挑选了出来作为预测结果,作者提出将localization quality estimation和classification score联合起来。怎么进行联合成为了本文的一个问题。

  2. 接着作者指出当前bounding boxes表示几乎全是狄拉克 δ \delta δ分布,作者在前面分析了使用 δ \delta δ分布存在的一系列问题,同时指出高斯分布约束过强的问题,如何得到使用一个灵活、并且接近实际的分类来进行bounding boxes的表示成为本文的第二个问题。


(五)Method

作者的核心工作

5.1 作者基于原始Focal Loss的改动

原始Focal Loss的表现形式为:
F L ( p ) = − ( 1 − p t ) γ log ⁡ ( p t ) , p t = { p ,  when  y = 1 1 − p ,  when  y = 0 \mathbf{F L}(p)=-\left(1-p_{t}\right)^{\gamma} \log \left(p_{t}\right), p_{t}=\left\{\begin{aligned} p, & \text { when } y=1 \\ 1-p, & \text { when } y=0 \end{aligned}\right. FL(p)=(1pt)γlog(pt),pt={ p,1p, when y=1 when y=0
从上面可以看出,当我们的类别标签 y = 1 y=1 y=1时,我们预测 y = 1 y=1 y=1的概率为 p p p,当 p p p接近1时,我们在交叉熵项上乘的数相比于 p p p接近0时,要小得多,也就是在这里更加看重错误分类的样本。

Focal Loss变换到Quality Focal Loss (QFL)

作者提出的IoU score 和 classification score的联合表示classification-IoU,此时的类别标签对于正例来说不再是0和1了,比如我们在Faster RCNN中iou超过多少时,我们标记当前样本为正样本。这里正样本的标签不再是1,而是a soft one-hot label 软化的独热编码这个软化的值是什么呢?正样本的目标值就是预测bounding boxes和真实Ground Truth之间的IoU

作者在软化Ground Truth之后,遇到了一个问题,就是原来的Focal Loss 没有办法再进行使用,作者这里的做的两个调整为:

  • 将交叉熵部分展开来写: − log ⁡ ( p t ) -\log \left(p_{t}\right) log(pt)写成 − ( ( 1 − y ) log ⁡ ( 1 − σ ) + y log ⁡ ( σ ) ) -((1-y) \log (1-\sigma)+y \log (\sigma)) ((1y)log(1σ)+ylog(σ))
  • 将Focal Loss的 ( 1 − p t ) γ \left(1-p_{t}\right)^{\gamma} (1pt)γ项增加绝对值符号变成 ∣ y − σ ∣ β ( β ≥ 0 ) |y-\sigma|^{\beta}(\beta \geq 0) yσβ(β0),这里使用绝对值是为了保证值非负。

最终得到的Quality Focal Loss(QFL)的表现形式为:
Q F L ( σ ) = − ∣ y − σ ∣ β ( ( 1 − y ) log ⁡ ( 1 − σ ) + y log ⁡ ( σ ) ) \mathbf{Q F L}(\sigma)=-|y-\sigma|^{\beta}((1-y) \log (1-\sigma)+y \log (\sigma)) QFL(σ)=yσβ((1y)log(1σ)+ylog(σ))
从式中可以看出,当 σ = y \sigma = y σ=y时,达到了全局最小值,哎,有了式子之后,我们再给他画张图,解释个一段就更清楚了
在这里插入图片描述
接着我们再变换到Distribution Focal Loss上

NOTES:这段在说明上是基于博主个人理解来解释的,一些符号用的也就博主自己定义的,跟论文中有一些出入

假定我们需要回归的目标值为 Y Y Y(比如说就是我们的y轴坐标值),为一随机变量
我们y轴坐标的Ground Truth有一个标注(人为标注上去的),这个标注值我们计作 y y y
我们这里将回归目标值 Y Y Y看成一个随机变量的原因是:我们对标注 y y y持有质疑态度,我们认为这个标注结果可能不是正确的。
但是目前大多数回归的做法是, Y Y Y ~ p ( x ) p(x) p(x) = δ ( x − y ) \delta(x-y) δ(xy),其中 x x x表示目标值 Y Y Y的取值,这个是可以变化的,从分布角度来看,表示的是Y的取值范围。
因为 Y Y Y ~ p ( x ) p(x) p(x)为一分布,其满足 ∫ − ∞ + ∞ p ( x ) d x = ∫ − ∞ + ∞ δ ( x − y ) d x = 1 \int_{-\infty}^{+\infty}p(x) \mathrm{d} x=\int_{-\infty}^{+\infty} \delta(x-y) \mathrm{d} x=1 +p(x)dx=+δ(xy)dx=1,

接着作者在文中提出使用积分形式去恢复 y y y的叙述我没有理解
这里我是觉得下面的积分式是在对随机变量 Y Y Y取一个期望,也就是我们预测目标的期望 E [ Y ] E[Y] E[Y],这里的这个 p ( x ) p(x) p(x)就相当于我们对于真实目标的一个估计。我们当然希望我们定义的随机变量 Y Y Y的某个属性(期望)是我们标注的结果 y y y。因此这个地方我的理解是这样的。
y = E [ Y ] = ∫ − ∞ + ∞ δ ( x − y ) x   d x y=E[Y]=\int_{-\infty}^{+\infty} \delta(x-y) x \mathrm{~d} x y=E[Y]=+δ(xy)x dx
再接着作者提出

由于狄拉克 δ \delta δ分布以及高斯分布并不能够很好地反应真实情况,作者直接提出学习一个通用的分布General distribution P ( x ) P(x)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值