深度学习论文: Generalized Focal Loss V1及其PyTorch实现

深度学习论文: Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection及其PyTorch实现
PDF: https://arxiv.org/pdf/2006.04388.pdf
PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks
PyTorch: https://github.com/shanglianlm0525/CvPytorch

1 概述

现阶段的大部分one-stage anchor-free的检测器(以FCOS,ATSS为代表)基本会包含3个表示:

  1. classification representations
  2. localization representations
  3. quality estimation representations(在FCOS/ATSS中,目前采用centerness; 还有一些采用IoU,这些score基本都在0~1之间)

2 Generalized Focal Loss

2-1 Existed problems

问题一:classification score 和 IoU/centerness score 训练测试不一致。

在这里插入图片描述
此外,训练的过程中,localization representations只在正样本上训练,负样本上没有约束限制。

问题二:bbox regression 采用的表示不够灵活,没有办法建模复杂场景下的uncertainty。

在这里插入图片描述
在复杂场景中,基于Dirac delta distribution (Faster r-cnn, Mask R-CNN等)和高斯分布(Gaussian yolov3)的假设对目标框的位置建模表示具有很强的不确定性。尤其在有遮挡或者模糊的情况下。

2-2 解决方法

解决方案一:Classification-IoU Joint Representation

将bounding boxes localization quality和classification score合并到一起形成一个联合表示,即保留分类的向量,但是对应类别位置的置信度表示质量预测的score。

但是,之前的Focal Loss是为one-stage的检测器的分类分支服务的,它只支持0或者1这样的离散类别label。然而,对于我们的分类-质量联合表示,label却变成了0~1之间的连续值。因此,我们需要在保证Focal Loss此前的平衡正负、难易样本的特性的同时,又能支持连续数值。因此,作者泛化原始的Focal Loss

在这里插入图片描述
提出了Quality Focal Loss (QFL)
在这里插入图片描述
注意QFL的全局最小解即是 σ = y \sigma = y σ=y

解决方案二:General Distribution of Bounding Box Representation

对于任意分布来建模框的表示,它可以用积分形式嵌入到任意已有的和框回归相关的损失函数上,但是如果分布过于任意,网络学习的效率可能会不高,因此额外加了个loss,希望网络能够快速地聚焦到标注位置附近的数值,使得他们概率尽可能大, 即有
在这里插入图片描述

Generalized Focal Loss (GFL)

最后,QFL和DFL其实可以统一地表示为GFL
在这里插入图片描述
目标检测中用到的GFL形式为:
在这里插入图片描述

3 Experiment

3-1 QFL

在这里插入图片描述

3-2 DFL

在这里插入图片描述

3-3 GFL

在这里插入图片描述

4 附录

4-1 Distributions

作者讨论了Dirac delta, Gaussian, 和提出的 General distributions三种分布,得出下面一些结论

  • 从Dirac delta --> Gaussian --> General distributions, 假设越来越泛化。
  • Gaussian assumption 和 IoU-based Loss 比较难整合到一起。
  • Dirac delta对特征的扰动比较敏感
    在这里插入图片描述

4-2 FL, QFL and DFL are special cases of GFL

在这里插入图片描述

4-3 Why is IoU-branch always superior than centerness-branch?

1) IoU本身就是最终metric的衡量标准,所以用来做质量估计和排序是非常自然的。
2) centerness有一些不可避免的缺陷,比如对于stride=8的FPN的特征层(也就是P3),会存在一些小物体他们的centerness label极度小甚至接近于0,如下图所示:
在这里插入图片描述
较小的centerness label会导致后续的NMS中被过滤掉。
Coco数据集中两者的分布:
在这里插入图片描述
明显可以看出,IoU的label相对都较大,而centerness的label相对都较小,同时还有非常非常小的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mingo_敏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值