[Paper Read] General Focal Loss

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

Code && Paper

Background && Motivation

不一致性

  • Localization Quality Estimation (LQE) 是许多one-stage或者anchor-free方法改善效果的途径。LQE的常用方法见下图所示。
    1

  • 但是上述的方法会带来一定的不一致性1,它主要包括以下两点

    • 训练和测试两个阶段的,如上图所示,训练的时候单独优化classification score和IoU score,测试的时候将其相乘,然后会导致训练和测试的时候不一致。

    • 测试的时候,进入NMS的是classification score乘IoU score,就会存在一种情况classification score较低,但是IoU score较高,然后使得负样本没有被过滤。这是因为IoU score并没有对负样本做优化,所有负样本的IoU score并不受控制,如下图所示。
      在这里插入图片描述

  • Contribution1 为了解决上述的问题,作者提出使用Joint的方式来联合优化classification score和IoU score。即就是用同一个prediction值即代表classification score又代表IoU score

不灵活性

  • 目前目标检测的标准框有时候会存在标注的不确定性(或噪声),如下图所示。而目前常用的bbox优化方式是优化Dirac分布(具体什么是Dirac分布后续会介绍)。
    在这里插入图片描述

  • 但是Dirac分布过于固定,不能解决uncertain的问题,因此有人提出了Gaussian 分布。

  • 但是作者认为Gaussian分布过于理想,不能适应于复杂的现实情况。

  • Contribution2 因此,作者提出了不依赖于任何先验的潜在分布优化(underlying distribution)

实验

  • Contribution3 作者在多组实验中证明了上述两个contributions的有效性。上述两个contributions在training和inference阶段均不会增加太多耗时,增加的耗时可以忽略不计。

Method

Quality Focal Loss

  • 在上一节,我们介绍了作者使用同一个prediction score来同时表示classification score和IoU score,那么优化该值的时候真值应该是什么呢?作者选择IoU值作为优化的真值,由于IoU是一个[0,1]之间的连续值。而传统的focal loss优化的目标是{0, 1}这样的离散值。因此该loss更加泛化一点(general)

  • Quality Focal Loss就是上述的更加泛化的FocalLoss,其定义如下所示
    Q F L ( δ ) = − ∣ y − δ ∣ β ( ( 1 − y ) l o g ( 1 − δ ) + y l o g ( δ ) ) QFL(\delta) = -|y-\delta|^\beta((1-y)log(1-\delta ) + ylog(\delta )) QFL(δ)=yδβ((1y)log(1δ)+ylog(δ))

  • 上述公式的后部分是展开形式的交叉熵,系数是adaptive的,当预测是和真值接近的时候,系数小,当远的时候系数大。

Distribution Focal Loss

  • 在本节我们主要介绍以下何为Distribution,以及我们的Distribution Focal Loss。

  • 先看为什么是Distribution?传统的BBox regression即就是直接优化两个值,让pred_w接近真值的w。

    • 换个角度看,假设我们预测的值为pred_w, 我们直接优化pred_w接近w,那么我们就相当于让pred_w出现的概率是1.0。这即就是Dirac Distribution,其如下图所示。
      在这里插入图片描述

    • 也就是说我们最终的预测值是对所有y可能出现的值计算积分。也就如下公式所示。
      y ^ = ∫ y 0 y n P ( x ) x d x \hat{y} = \int_{y_0}^{y_n}P(x)xdx y^=y0ynP(x)xdx

  • 接下来在看我们的Distribution Focal Loss, 有上式可知,上式是比Dirac更加泛化的形式。因此本文用上式来计算预测的y^。 预测y^之前我们需要先清楚两点

    • 连续值的积分是不好实现的,我们可以用离散值的求和来代替
    • 我们需要确定预测值的范围。
    • 有了上述两个条件,我们可以得到pred^的计算公式如下所示。
      y ^ = ∑ y 0 y n P ( x ) x d x \hat{y} = \sum_{y_0}^{y_n}P(x)xdx y^=y0ynP(x)xdx
  • 得到上述的y的预测值后,我们如何去优化呢?因为我们知道y^是接近y的,因此我们需要让int(y)和int(y)+1的prob最大。因此就可以对应下面的公式。

在这里插入图片描述

  • 假设我们知道y的取值范围为[Y0, YN],那我们最后预测的纬度是yn-y0+1,而不是1(Dirac distribution)。

总的Loss

  • 如下图所示
    在这里插入图片描述

Experiment

在这里插入图片描述

Discussion

  • GIoU 是否必须?
    • 根据总的Loss定义,我们发现GIoU貌似不是必须,因为通过
      distribution focal loss也可以起到bbox优化的目的。因此我们做了对比实验,发现取消GIoU loss会带来小幅度的指标下降。
  • 别的应用场景
    • 数据分类(带有噪声)。针对每个类,我们将其拆分成N份(0., 0.1, 0.2, …, 1.0),分别预测每一份的概率,然后求和,即为最终该类别的概率。
  • distribution的意义
    • 分布越陡峭,证明越确定,否则越不确定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值