Generalized Focal Loss: Learning Qualified and Distributed BBoxes for Dense Object Detection论文翻译阅读

2023-05-16

Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection论文翻译阅读

论文下载地址:点击此链接跳转.
这是博主自己在github整理的目标检测方向论文的合集,应该算比较全,目前已更新至2020ECCV,即将更新:2020IJCAI合集,欢迎下载…

部分内容参考于:大白话 Generalized Focal Loss。这是GFL作者写的一个简要的解析,简单易懂,推荐阅读。

文章部分内容可能表达得不是太准确,若有错误欢迎指出。

目录

  • Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection论文翻译阅读
    • 一、Abstract
    • 二、Introduction
    • 三、Method
      • 3.1 Focal Loss (FL).
      • 3.2 Quality Focal Loss (QFL).
      • 3.3 Distribution Focal Loss (DFL).
      • 3.4 Generalized Focal Loss (GFL).
        • 3.4.1 Properties of GFL.
        • 3.4.2 Training Dense Detectors with GFL.
    • 四、Experiment

一、Abstract

       One-stage目标检测器通过密集分类和定位来进行目标检测,通常在分类中使用的是Focal loss,而边界框的回归定位通常是在狄拉克δ分布下学习的。one-stage检测器的一个发展趋势是引入一条预测分支来评估回归框的质量,有效改善了检测性能。本文主要是针对边界框质量估计、分类、定位这三个基本要素的表示做了研究。在现有的实践中发现了两个问题: (1) 质量估计和在训练和推理时使用不一致 (2) 存在模糊性和不确定性的复杂场景中,用于定位的Dirac delta分布是不灵活的。为解决这些问题,作者设计了新的表示,将质量估计合并到分类预测向量中,形成定位质量和分类的联合表示,并用一个向量来表示bbox位置的任意分布。这种改进的表示方法消除了训练和推理时的不一致,并准确地描述了真实数据的弹性分布,但其标签是连续的,超出了Focal loss的范围(离散标签)。因此作者提出了Generalized Focal Loss(GFL),将Focal loss从离散版本推广到连续版本。在coco test-dev上,以resnet101达到了45.0% ap。最优可达48.2%。

二、Introduction

       近年来,密集检测器逐渐开始变得火热,对bbox表示及其定位质量估计也取得了一定进展。过去几年中,边界框表示通常是以狄拉克delta分布进行建模,从FCOS开始加入了预测一个额外的定位质量(如IoU评分或centerness评分),当将质量估计与分类置信度相结合后(通常是相乘)作为inference时NMS分数排序的依据,会带来检测精度的提高。但我们发现这种方法存在以下问题:
(1)训练和推理对定位质量估计和分类分数的使用不一致:
        ① 在密集检测器中,定位质量估计和分类分数通常是在训练时独立训练,但推理时又是乘在一起结合使用,
        ② 定位质量估计的监督只针对于正样本,但在使用Focal loss时,分类分支会使少量正样本与大量负样本一起训练,在做NMS分数排序时,所有样本会将分类分数和质量预测分数进行相乘后再用于排序,对于大量负样本,它们的质量预测并没有定义,所以可能会存在一个分类分数较低的负样本,由于预测了一个不可信的高质量分数,导致其相乘后排在了获得了较低预测质量分数的正样本前面。
         以上两个因素会导致训练和测试之间的差距,可能会降低检测性能。
在这里插入图片描述
(2)不灵活的边界框表示:
       现在广泛使用的边界框表示都是建模的狄拉克δ分布,没有考虑到数据集存在的模糊性和不确定性。最近一些工作使用高斯分布来建模,但它对于捕捉边界框位置的真实分布来说过于简单,因为真实分布可以更加任意灵活,并不像高斯分布总是对称的。
       对于第一个问题,作者设计了新的定位质量表示方法,将其与分类分数合并为一个统一的分类向量表示,分类向量在GT类别索引上的值表示相应的定位质量(通常是预测框与相应的GT框之间的IoU分数),这样将分类得分和IOU得分统一为一个单个变量(称为“分类-loU联合表示”),也就是看下图,右图是以前的分类分支,采用one-hot标签,positives中的标签为1表示其属于此类别,negatives的标签为0,而在这篇文章中,作者保留了分类向量,但是对应类别置信度的物理含义不再是分类分数,而是质量预测分数。它可以以端到端的方式训练,并在推理时直接使用,消除了训练和测试时的不一致,增强了分类和定位质量之间的相关性。此外,负样本的质量分数为0,这样整体的质量预测会变得更加可靠,尤其有利于密集物体检测,因为它们需要对整张图像中采样的所有候选框进行排序。
在这里插入图片描述

       对于边界框表示,作者通过直接学习在连续空间上的离散概率分布来表示边界框位置的任意分布(“一般分布”),这样无需引入其他先验即可获得更加可靠精准的边界框估计,同时能够了解他们的基础分布。
       改进后的表示给优化带来了挑战。对于密集目标检测器,传统的分类分支是通过Focal loss优化的,FL通过重构了标准的交叉熵损失来处理类别不平衡问题,它支持0,1这种离散类别标签。但作者提出的分类-IOU联合表示,除了不平衡的风险,IOU值为0-1之间的一个连续值。因此,作者将focal loss扩展为一个连续版本,记为Generalized Focal Loss (GFL)。不同于focal loss,GFL考虑的是全局最小解能以任意期望的连续值作为目标,而不是离散值。GFL可以分为Quality Focal Loss (QFL) 和 Distribution Focal Loss (DFL),分别对改进的两种表示进行优化,QFL主要针对hard examples的稀疏集,产生这些hard examples对应类别的0-1质量估计,DFL使网络能够在目标框任意分布的情况下快速聚焦于学习目标bbox周围的数值,使它们的概率值尽可能的大,因为考虑到真实分布通常不会距标注的位置太远。

Contributions:
       (1) GFL消除了训练和测试间的不一致,当one-stage检测器有使用额外的质量估计时,采用一种简单有效的分类和定位质量的联合表示;
       (2) 很好地建模了边界框的灵活分布,提供了更准确的定位;
       (3) 在不增加额外开销的情况下,可以持续提高one-stage探测器的性能。在COCO test-dev上,使用ResNet-101主干,GFL达到45.0% AP

三、Method

3.1 Focal Loss (FL).

       Focal loss主要用于解决one-stage检测器训练时存在的前景背景极端不平衡问题。其典型形式如下:
在这里插入图片描述
       这里为简单起见,没有列αt这个平衡变量,y∈{0,1},p∈[0, 1],表示类别标签为1的类别概率 ,γ是可调的聚焦参数。FL包含了一个标准交叉熵部分-log(pt)和一个动态缩放因子部分(1-pt)^γ,缩放因子在训练过程中会自动降低easy example的权重,快速将模型聚焦hard examples上。

3.2 Quality Focal Loss (QFL).

       为解决训练和测试阶段的不一致问题,作者提出了定位质量和分类分数的联合表示,定位质量标签就是预测框与对应GT框的Iou值,是一种动态的soft label。y=0表示定位质量分数为0的负样本,正样本的soft lable y取值范围0<y≤1。并且使用sigmoid实现多类别多重二元分类,输出记为σ。
       由于提出的分类-iou的联合表示需要对整个图像进行密集监督,并且仍存在类不平衡问题,因此我们需要继承FL的思想。但是FL只支持{0,1}这种离散标签,但我们的标签是连续的,包含小数,因此,作者试着去扩增FL,以便在联合表示的情况下成功进行训练(y表示0-1的质量分数,σ表示分类分数):
       (1) 交叉熵损失部分,将log(pt)扩展为完整版本:
在这里插入图片描述

       (2) 缩放因子部分,(1-pt)γ被推广至预测分类分数σ和其质量分数标签y之间的绝对距离:|y-σ|β,|y-σ|β是调节因子,当样本质量估计不准确,偏离标签y时,调制因子会较大,网络会更费心思地去学习这个困难样本。而随着质量评估变得准确,σ接近y,调节因子则更接近0,随着样本的质量估计变得精确,损失也是递减的,β平滑地控制递减率。
       结合以上两个部分我们就得到了Quality Focal Loss (QFL),这样交叉熵部分变为完整的二元交叉熵,同时调节因子变为距离绝对值的幂次函数(σ=y时是全局最小解):
在这里插入图片描述

3.3 Distribution Focal Loss (DFL).

       作者仍采用的location到边界框四条边的一个相对偏移作为回归目标,传统的边界框回归操作是对回归标签 y 建模一个狄拉克δ分布δ(x-y),满足:
在这里插入图片描述
       通常通过全连接层实现。求出y的积分形式如下:
在这里插入图片描述
       作者想直接去学习一个不需要引入任何先验的,更加灵活的一般分布P(x),所以他想通过积分的形式来学习这个分布,这样给定标签y的最小值y0和最大值yn就可以在整个域上得到估计值y^:
在这里插入图片描述
       得到估计值y^后,再去通过SmoothL1, IoU Loss或GIoU Loss等进行端到端的训练,测试的时候就直接取积分结果,为和CNN一致,作者将连续域上的积分转换为离散表示,通过将[y0, yn]以一个均匀的间隔(作者设的1)划分为{ y0,y1,…,yi,yi+1,… ,yn-1,yn }。因此,给定离散分布属性:
在这里插入图片描述
       P(x)通过一个softmax S(.)实现,为简洁,P(yi)表示为Si,但有无穷多个P(x)值的组合最终的积分结果都为y, 这样去学习会导致很难收敛,降低学习效率。
在这里插入图片描述
       可以看到,相比(1)(2),(3)的分布更加紧凑,对bbox的估计更精确,使我们能够通过提升目标y周围值的概率来优化P(x)的形状。y^可以表示为:
在这里插入图片描述
       通常真实分布不会离粗标签太远,因此作者引入DFL使网络快速关注到标签y周围的值,增大yi和yi+1的概率值(yi≤y≤yi+1)。由于边界框回归只针对正样本,所以不存在类不平衡的风险,因此我们采用类似交叉熵的形式来定义DFL,优化与标签y最接近的一左一右两个位置的概率:
在这里插入图片描述
       DFL的全局最小解可以保证估计的回归目标y^无限接近对应标签y,例如:
在这里插入图片描述
在这里插入图片描述
这也保证了它作为一个损失函数的正确性。

3.4 Generalized Focal Loss (GFL).

       QFL和DFL可以统一为GFL,假设对两个变量yl、yr (yl<yr),模型估计的概率值是pyl、pyr(pyl≥0,pyr≥0,pyl+pyr=1),最终的预测是它们的线性组合:
在这里插入图片描述
       预测y^ 对应的连续标签y也满足:yl≤y≤yr,将绝对距离| y-y^ | β(β≥0)作为调节因子,GFL可表示为:
在这里插入图片描述

3.4.1 Properties of GFL.

       GFL(pyl, pyr)达到全局最小值,这表示估计值y^与连续标签y完全匹配。FL, QFL, DFL都是GFL的一种特殊情况。GFL可以用于任意one-stage检测器,改进后的检测器与原本的检测器有两个不同:首先在推理过程中,我们直接输入分类分数与质量估计的联合表示作为NMS评分,而不需要像FCOS和ATSS那样再去单独乘上质量预测。其次,回归分支用来预测每个边界框的位置的最后一层现在有n+1个输出,这带来的额外计算成本可以忽略不计。

3.4.2 Training Dense Detectors with GFL.

训练损失:
在这里插入图片描述
       LQ和LD是QFL和DFL,LB表示GIOU Loss,Npos表示正样本的数量,λ0(默认为2),λ1(默认为1/4,4个方向的平均值)作为LQ和LD的平衡权重。在特征金字塔上所有位置上计算求和。还有一个指标函数,当Cz*>0时为1,否则为0。同时在训练时会利用质量分数对LB和LD进行加权。

       回归损失同时使用DFL和GIOU来计算,DFL主要作用在概率shape上,GIoU主要作用在积分后得到的位置上,二者出发点略有不同,一个是提高学习更合理的概率分布的效率,另一个是直接优化框的结果。

四、Experiment

各种方法图
表1
       首先是验证QFL的有效性,作者将提出的联合表示与单独或隐式的表示进行比较,还加入了两种以IOU和中心度表示定位质量的方法,由表1(a)可以看到,由QFL优化的联合表示有更好的表现,而IOU相比中心度能够更好地作为定位质量的衡量标准。表1(b)显示QFL还可以提高其他流行的one-stage探测器的性能,表1©显示β=2是对QFL的最优设定。并且采用QFL训练的联合表示可以提高质量估计的可靠性,使分类与质量分数之间产生强相关性。实际上,在作者提出的联合表示中,预测的分类分数和估计的质量分数相等。

表二
效果图
       然后是验证DFL的有效性,在表2(a)中,我们比较了对边界框回归不同数据表示的有效性,发现一般分布会比其他方法获得至少是可比较的结果,并且DFL能够加强它的效果,并且一般分布能够提供更加精确的边界框定位结果,特别是在有严重遮挡的情况下。另两个是确定n和△的实验。
       由下图可见,作者提出的一般分布表示可以有效地通过形状来反映边界框形状的不确定性。
一般分布表示
       最后是与一些SOTA的比较,
与SOTA的对比

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Generalized Focal Loss: Learning Qualified and Distributed BBoxes for Dense Object Detection论文翻译阅读 的相关文章

随机推荐

  • 在Windows上使用ROS软件包

    1 二进制安装 如果有ROS软件包的二进制发行版 xff0c 可以使用Chocolatey安装 choco install ros melodic lt package name gt ROS软件包查询 https index ros or
  • EKF扩展卡尔曼滤波器 - CTRV运动模型 及其代码实现

    本文参考了Adam大佬的帖子 https blog csdn net AdamShan article details 78265754 原贴的公式有一点点错误 xff0c 这里已经修正了 xff0c 并给出了代码实现 CTRV模型 我们通
  • 安卓SDK和API是什么意思?

    安卓SDK和API是什么意思 xff1f 一 SDK SDK就是kit xff0c 通俗讲就是工具箱 一系列的工具组合在一起 xff0c 能实现补全代码 自动错误检查之类的功能 xff0c 比如点一下run xff0c 会调用编译器来自动编
  • 3D视觉(五):对极几何和三角测量

    3D视觉 五 xff1a 对极几何和三角测量 对极几何 xff08 Epipolar Geometry xff09 描述的是两幅视图之间的内在射影关系 xff0c 与外部场景无关 xff0c 只依赖于摄像机内参数和这两幅试图之间的的相对姿态
  • 关于产品的一些思考——写在前面的话

    自己是一个十足的Geek xff0c 喜欢使用各种新奇的东西 xff0c 包括软件 硬件 技术 xff0c 又因为自己一点点轻微的强迫症和完美主义 xff0c 在这个过程中总会有自己的一些思考 xff0c 又因为技术出身 xff0c 总会考
  • mybatis映射文件mapper.xml的写法。

    在学习mybatis的时候我们通常会在映射文件这样写 xff1a lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt lt DOCTYPE mapper PUBLIC 34 myba
  • layer的弹出层的简单的例子

    如果不了级的基本的清楚官网查看api网址为 http layer layui com 我用的是iframe 如果是iframe层 layer open type 2 content 39 http sentsin com 39 这里cont
  • 左链接Column 'id' in field list is ambiguous

    如题错误如左链接Column 39 id 39 in field list is ambiguous 今天在写sm的时候 xff0c 用到两个表的联合查询出现的如下的错误 xff0c 仔细查找才发现原来两个表的id重复了 xff0c use
  • 我所理解的人工智能

    很多人容易把人工智能理解为机器人 机器人是人工智能的一个实际体现 人工智能应用很广泛 下面我来谈谈我的理解 人工智能可分开理解为 人工 和 智能 xff0c 即人类创造出来的智能 xff0c 从广义上来讲只要人类创造出来 xff0c 能为人
  • maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...

    1 我的项目结构是一个父项目 xff0c 多个子项目目录如下 xff1a 2 我这里就举个例子 xff0c 所以应用的也就是core和domain这两个项目 3 两个项目都继承父项目 4 在模块中domain依赖于core xff0c 在c
  • 有关Shiro中Principal的使用

    1 定义 principal代表什么那 xff1f 如果阅读官方文档或者源码你会得到如下的定义 xff1a 解释 xff1a 1 xff09 可以是uuid 2 xff09 数据库中的主键 3 xff09 LDAP UUID或静态DN 4
  • 关于shiro的 subject.getPrincipal()方法

    1 说明 上一篇文章说明了 principal xff0c 而subject getPrincipal 是用来干嘛的 xff0c 他就是来获取你存储的principal xff0c 内部是怎么获取的那 xff0c 多个principal怎么
  • CentOS7 64位安装solr7.2.0

    声明 xff1a 本人为学习solr的新手 xff0c 如编写过程中有部队的地方还请各位大佬指正 本文为原创 xff0c 如要转载请注明出处 你能学到 xff1a 1 linux上solr的安装部署 xff0c 官方给出的运行方式 2 添加
  • 阿里巴巴20121009 研发/算法工程师 笔试试题【修正】

    第19题 a i 在排序后的位置是 i k i 43 k xff0c a i 43 2k 在排序后的位置是 i 43 k i 43 3k xff0c 必然有a i lt 61 a i 43 2k 所以数组a里实际上有2k个各自有序的 交错的
  • printf() % lf出错

    printf 函数中不存在 lf xff0c 输入 double 用 lf 输出用 f
  • 奔腾系列的CPU 和酷睿系列的CPU

    以后奔腾要沦为中下层产品 奔腾D是接替奔腾4的型号 也是INTEL的第一代双核处理器 技术还比较粗糙 发热量控制的也不够好 至于酷睿系列 这可是INTEL的最新力作 性能上有绝对的优势 技术上也对老对手AMD保持了领先 而且功耗控制的也非常
  • 为什么神经网络被称为黑匣子

    数学层面 xff1a 由于网络参数与近似的数学函数之间缺乏明确的连接 xff0c 人工神经网络通常被称为 黑匣子
  • 第八弹 ROS发布者Publisher的编程实现

    1 话题模型 xff08 发布与订阅 xff09 2 创建功能包 catkin create pkg learning topic roscpp rospy std msgs geometry msgs turtlesim 建立一个名为le
  • TRIZ创新思维方法_简要复习

    一 TRIZ介绍 TRIZ理论成功地揭示了创造发明的内在规律和原理 xff0c 着力于澄清和强调系统中存在的矛盾 xff0c 其目标是完全解决矛盾 xff0c 获得最终的理想解 它不是采取折中或者妥协的做法 xff0c 而且它是基于技术的发
  • Generalized Focal Loss: Learning Qualified and Distributed BBoxes for Dense Object Detection论文翻译阅读

    Generalized Focal Loss Learning Qualified and Distributed Bounding Boxes for Dense Object Detection论文翻译阅读 论文下载地址 xff1a 点