小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点


小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点
本文插图
作者 | 李翔
编辑 | 陈大鑫
在ICCV 2017上 , Kaiming大神所在的FAIR团队“随手”发了一篇名为《Focal Loss for Dense Object Detection》的论文 。
小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点
本文插图
没曾想一石激起千层浪 , 这篇论文在解决目标检测中正负样本不平衡的问题上做出了很大的贡献 , 也为后人在此问题上开拓了新的思路 。
Focal Loss是为one-stage的检测器的分类分支服务的 , 它支持0或者1这样的离散类别label 。
那么 , 如果对于label是0~1之间的连续值呢?
我们既要保证Focal Loss此前的平衡正负、难易样本的特性 , 又需要让其支持连续数值的监督 , 这该如何实现呢?
今天要介绍的这篇论文就是在解决这个问题 , 且凭借出色的工作 , 论文刚刚被NeurIPS 2020 接收 。
【小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点】
小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点
本文插图
论文链接:
源码和预训练模型地址:https://github.com/implus/GFocal
GFocal目前已被MMDetection官方收录:
论文第一作者:李翔博士 , 师从长江学者杨健教授 。 曾获阿里巴巴天池和滴滴研究院大数据竞赛冠军 。 在cvpr , neurips , ijcai , aaai等顶会发表10+篇一作或共一论文 , Google Citation 650+ 。
小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点
本文插图
个人主页:
接下来是作者本人对论文的随手解读:
1
方法
小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点
本文插图
本论文工作达到的效果:良心技术 , 别问 , 问就是无cost涨点 。
一句话总结:基于任意one-stage检测器上 , 调整框本身与框质量估计的表示 , 同时用泛化版本的GFocal Loss训练该改进的表示 , 无cost涨点(一般1个点出头)AP 。
这个工作核心是围绕“表示”的改进来的 , 也就是大家所熟知的“representation”这个词 。 这里的表示具体是指检测器最终的输出 , 也就是head末端的物理对象 , 目前比较强力的one-stage anchor-free的检测器(以FCOS , ATSS为代表)基本会包含3个表示:
1、类表示;
2、 检测框表示;
3、检测框的质量估计(在FCOS/ATSS中 , 目前采用centerness , 当然也有一些其他类似的工作会采用IoU , 这些score基本都在0~1之间) 。
三个表示一般情况下如图所示:
小镇的夕阳何恺明Focal Loss改进版!GFocal Loss:良心技术,无cost涨点
本文插图
三个表示
那么要改进表示一定意味着现有的表示或多或少有那么一些问题 。 事实上 , 我们具体观察到了下面两个主要的问题:
问题一:classification score 和 IoU/centerness score 训练测试不一致 。
这个不一致主要体现在两个方面:
1、用法不一致 。
训练的时候 , 分类和质量估计各自训记几个儿的 , 但测试的时候却又是乘在一起作为NMS score排序的依据 , 这个操作显然没有end-to-end , 必然存在一定的gap 。
2、对象不一致 。
借助Focal Loss的力量 , 分类分支能够使得少量的正样本和大量的负样本一起成功训练 , 但是质量估计通常就只针对正样本训练 。
那么 , 对于one-stage的检测器而言 , 在做NMS score排序的时候 , 所有的样本都会将分类score和质量预测score相乘用于排序 , 那么必然会存在一部分分数较低的“负样本”的质量预测是没有在训练过程中有监督信号的 , 有就是说对于大量可能的负样本 , 他们的质量预测是一个未定义行为 。


推荐阅读