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

https://arxiv.org/abs/2006.04388

Background

one-stage的目标检测任务一般将任务划分为两个方向:classification和localization,在网络训练过程中,这两个方向一般是独立进行优化的,如下图所示。

图1 传统detection任务学习范式

其中,对于classification问题,考虑到目标检测任务中大量背景负样本到影响,一般选用Focal Loss来进行优化。而对于localization问题,一般都是将其作为一个Dirac delta分布问题,通过对GT的box的回归来优化。而最近FCOS提出引入一个定位质量评估的因子localizaiton quality(一般采用 IoU或centerness score),带来了很可观的性能提升。目前来说,这三者的组合便是目前目标检测任务的常用较优组合。

Issue

但是通过对该三者组合的训练范式的研究,作者发现其中存在两个问题:

  • classification与localizaiton quality评估在训练和测试阶段不连续。目前的dense detector工作中,一般都是在训练中对这两者独立进行,但是在测试的时候将他们综合考虑来进行候选框的筛选,这无疑对train和test两阶段带来了较大的gap。同时,目前的localizaiton quality评估一般都只针对正样本,而对于负样本的quality其实是不受监督的。因此在负样本的质量评估是一个不定行为,在预测阶段有可能会产生一个较高的质量评估,这就会导致造成一些不可预期的后果。如下图a 所示,在测试阶段,对于那些分类为背景(classification score较低),但其localizaiton quality评估较高的目标,两者相乘就会获得较大的分数,从而被误检。

图2 cls score 与 IoU不连续所造成的误检

  • Bounding box的表示不够灵活(inflexible representation)。这其实是传统目标检测的一个通病,在复杂场景中,对于目标物体的边框位置的定义其实是无法精确给出的(包括标注人的主观倾向,或是遮挡,模糊等造成的边界歧义及不确定性)。如下图所示,水中的帆板边缘或被遮挡的大象边界,其实都很难去界定一个精确的位置。在这时候,传统的单一Dirac delta分布建模并不符合实际的情况。(对于irac delta分布回归,个人的理解为,传统的方法就是采用L1/L2等方法,向一个离散的确定值(bbox)进行逼近)。对于这种情况,回归一个分布范围相比于逼近一个离散值更符合事实。目前已经有一些工作在针对该问题进行改善,例如假定一个Guassian分布来进行预测等,但现实中的边界分布问题必然是要比简单的高斯模型更加复杂的,同时也可能是不对称的,因此这种假定分布模型的方法也并不是最好的解决方案。

图3 检测框边界分布问题

Motivation and Novelty

针对以上两个问题,文中分别提出了解决方案:

  1. 对于classification score和localization quality在训练和测试阶段不连续的问题,文中选择将这两者结合为统一的一项,从而在训练和测试阶段都能够采用同样的表达。

  2. 对于bbox的边界分布问题,文中选择直接通过回归一个任意分布的方式来解决(而不是预定Gaussian分布等)。采用离散化的方式,通过对多个目标采用softmax来组合的方式预测一个随机分布。

Method

为了实现以上两种方案,文中提出了提出了两个新的损失函数,QFL(Quanlity Focal Loss)和DFL(Distribution Focal Loss),两者结合统称为本文所说的 Generalized Focal Loss。以下分别来看这两种loss.

  • QFL: 将localization quality和Focal loss结合,采用localization quality(例如使用IoU)来作为正样本的label表示。但是传统的Focal loss支持的是one-hot的离散形式类别表示,而IoU给出的却是一个小数。为了将离散情况的优化问题扩展到连续域,文中就提出了QFl,如下所示。这里依然保持了Focal loss的特性,将调节因子转为了预测与质量label的距离,这样对于一些预估不准且偏离标签的hard example, 会赋予更多的关注,从而更好地训练。如图2所示,QFL的加入,强迫classification score和 location quality两者有了更高的相关性,从而避免了之前那种高质量错误类别检测的出现。

  • DFL: 对于对任意分布回归的建模问题,文中没有采用类似于GIoU Loss这样的损失函数,因为发现过于随机的分布建模并不利于学习。文中认为真实分布一般不会距离标注的位置太远,因此设计了DFL,如下所示。它的本质就是放大标签位置y附近的概率。在实际工程中 ,采用了多个离散回归再经过softmax组合的方式来实现。从图3来块,DFL能够使得边缘分布的预测,在清晰的边界位置区域尖锐,而在较模糊的位置处预测出较平缓的分布。

Experiments

实验结果当然是非常的优秀,给一张主要的对比图,可以看到还是能够非常稳定的涨点,同时在速度上也是非常亮眼。对于QFL和DFL两种loss,消融实验证明了两者的有效性,可以学习在自己的工程中使用。

Thoughts

可以说这是非常亮眼的一篇文章,从现有技术的分析入手,发现问题然后提出解决方案,最后实现可预期的提升,有理有据令人叹服。。。可以遇见GFL可能会在未来的工程中被较为广泛的使用

Generalized Focal Loss相关推荐

  1. 无痛涨点!大白话讲解 Generalized Focal Loss

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨李翔 来源丨https://zhuanlan.zhihu.c ...

  2. 目标检测无痛涨点:大白话 Generalized Focal Loss

    本文转载自知乎,已获作者授权转载. 链接:https://zhuanlan.zhihu.com/p/147691786 解读论文:Generalized Focal Loss: Learning Qu ...

  3. 【NIPS 2020】Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for...译读笔记

    论文名称 Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Dete ...

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

    论文地址:https://arxiv.org/abs/2006.04388 论文代码:https://github.com/implus/GFocal 一阶段检测器基本将目标检测定义为密集的分类和定位 ...

  5. [GFL]Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Dete

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

  6. 论文阅读:Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Dete

    文章目录 1.论文总述 1.论文总述 本篇论文提出了泛化版的Focal loss(可以同时用于分类和回归分支),既将class 得分和 centerness得分的预测合并为了一个分支,解决了train ...

  7. 《Generalized Focal Loss V1》论文笔记

    参考代码:GFocal 这篇文章会探讨将目标检测中边界框的回归问题转换为概率分布的问题,因而需要从传统的边界框范数与IoU回归思想转换到边界框的概率分布上来.对此,对这方面内容不是很理解的朋友可以参考 ...

  8. Generalized Focal Loss 原理与代码解析

    Paper:Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Det ...

  9. 目标检测无痛涨点之 Generalized Focal Loss V2

    本文转载自知乎,已获作者授权转载,请勿二次转载. 链接:https://zhuanlan.zhihu.com/p/313684358? 老规矩,还是一句话总结: 本文应该是检测领域首次引入用边界框的不 ...

  10. NeurIPS 2020 | Focal Loss改进版来了!GFocal Loss:良心技术,无Cost涨点!

    本文作者:李翔 https://zhuanlan.zhihu.com/p/147691786 本文仅供学习参考,如有侵权,请联系删除! 论文地址:https://arxiv.org/abs/2006. ...

最新文章

  1. nodejs windows 安装过程
  2. memset函数源码实现
  3. 零起点学算法82——数组中查找数
  4. python中开关_pyq中的开关按钮
  5. uva 12442 . Forwarding Emails
  6. kb3042553显示不适用计算机,KB3042553补丁打不上,怎么办?
  7. 报告:中国人对AI的乐观程度远超其他国家
  8. hduoj 6000 2016CCPC-final B. Wash(贪心)
  9. XPath 简单语法
  10. LDA算法原理及LDA与PCA的比较
  11. engineercms整合mindoc
  12. Microsoft Internet Explorer浏览器包含最新版本的内置Adobe Flash Player的解决办法
  13. 我国高等教育财政投入效率分析与对策
  14. arcgis 地下管线三维建模
  15. python利用opencv去除图片logo_用python+OpenCV去除图片水印
  16. 花1分钟用Word手动绘制流程图,看完我学会了!
  17. java 获取指定时间的前一个小时
  18. GWAS相关名词解释及基础知识储备[长期更新]
  19. html生成闪电特效
  20. 这些用 Python 写的牛逼程序/脚本,你玩过吗?

热门文章

  1. ssms mysql_SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法...
  2. MATLAB实现语音信号的读取
  3. python怎么算积分_蒙特卡洛方法求定积分及python实现(转)
  4. 分享一款统计手机使用时间的APP,帮助集中注意力,拒绝手机上瘾,支持双端
  5. 敏捷迭代管理 --需求变更规范
  6. vue项目使用 Recorder.js 实现录音功能
  7. Postman的下载及安装
  8. 大四学年软件公司实习感悟
  9. 说说DBA职责和目标
  10. c语言父进程创建孙进程,进程的创建与并发的执行-带答案版.doc