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

目标检测:Generalized Focal Loss(NIPS2020) 论文要解决单阶段目标检测中的两个问题: 1. 训练和推理时定位质量评估与分类分数是非一致的。2. 边界框的表征是不够灵活的 阅读详情

点击上方“机器学习算法那些事”,选择加"星标"或“置顶”

重磅干货,第一时间送达

作者丨李翔

来源丨https://zhuanlan.zhihu.com/p/147691786

编辑丨AIstudy

导读

 

效果:良心技术,别问,问就是无cost涨点

一句话总结:基于任意one-stage 检测器上,调整框本身与框质量估计的表示,同时用泛化版本的GFocal Loss训练该改进的表示,无cost涨点(一般1个点出头)AP

论文:https://arxiv.org/pdf/2006.04388.pdf

代码:https://github.com/implus/GFocal

MMDetection官方收录地址:https://github.com/open-mmlab/mmdetection/blob/master/configs/gfl/README.md

这个工作核心是围绕“表示”的改进来的,也就是大家所熟知的“representation”这个词。这里的表示具体是指检测器最终的输出,也就是head末端的物理对象,目前比较强力的one-stage anchor-free的检测器(以FCOS,ATSS为代表)基本会包含3个表示:

1. 分类表示

2. 检测框表示

3. 检测框的质量估计(在FCOS/ATSS中,目前采用centerness,当然也有一些其他类似的工作会采用IoU,这些score基本都在0~1之间)

三个表示一般情况下如图所示:

那么要改进表示一定意味着现有的表示或多或少有那么一些问题。事实上,我们具体观察到了下面两个主要的问题:

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

这个不一致主要体现在两个方面:

1) 用法不一致。训练的时候,分类和质量估计各自训记几个儿的,但测试的时候却又是乘在一起作为NMS score排序的依据,这个操作显然没有end-to-end,必然存在一定的gap。

2) 对象不一致。借助Focal Loss的力量,分类分支能够使得少量的正样本和大量的负样本一起成功训练,但是质量估计通常就只针对正样本训练。那么,对于one-stage的检测器而言,在做NMS score排序的时候,所有的样本都会将分类score和质量预测score相乘用于排序,那么必然会存在一部分分数较低的“负样本”的质量预测是没有在训练过程中有监督信号的,有就是说对于大量可能的负样本,他们的质量预测是一个未定义行为。这就很有可能引发这么一个情况:一个分类score相对低的真正的负样本,由于预测了一个不可信的极高的质量score,而导致它可能排到一个真正的正样本(分类score不够高且质量score相对低)的前面。问题一如图所示:

不一致啊不一致, End-to-end 表示很难受

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

问题二比较好理解,在复杂场景中,边界框的表示具有很强的不确定性,而现有的框回归本质都是建模了非常单一的狄拉克分布,非常不flexible。我们希望用一种general的分布去建模边界框的表示。问题二如图所示(比如被水模糊掉的滑板,以及严重遮挡的大象):

模糊及界定不清晰的边界

那么有了这些问题,我们自然可以提出一些方案来一定程度上解决他们:

1) 对于第一个问题,为了保证training和test一致,同时还能够兼顾分类score和质量预测score都能够训练到所有的正负样本,那么一个方案呼之欲出:就是将两者的表示进行联合。这个合并也非常有意思,从物理上来讲,我们依然还是保留分类的向量,但是对应类别位置的置信度的物理含义不再是分类的score,而是改为质量预测的score。这样就做到了两者的联合表示,同时,暂时不考虑优化的问题,我们就有可能完美地解决掉第一个问题。

2) 对于第二个问题,我们选择直接回归一个任意分布来建模框的表示。当然,在连续域上回归是不可能的,所以可以用离散化的方式,通过softmax来实现即可。这里面涉及到如何从狄拉克分布的积分形式推导到一般分布的积分形式来表示框,详情可以参考原论文。

Ok,方案都出来了还算比较靠谱,但是问题又来了:怎么优化他们呢?

这个时候就要派上Generalized Focal Loss出马了。我们知道之前Focal Loss是为one-stage的检测器的分类分支服务的,它支持0或者1这样的离散类别label。然而,对于我们的分类-质量联合表示,label却变成了0~1之间的连续值。我们既要保证Focal Loss此前的平衡正负、难易样本的特性,又需要让其支持连续数值的监督,自然而然就引出了我们对Focal Loss在连续label上的拓展形式之一,我们称为Quality Focal Loss (QFL),具体地,它将原来的Focal Loss从:

魔改为:

其中y为0~1的质量标签,\sigma为预测。注意QFL的全局最小解即是\sigma = y。这样交叉熵部分变为完整的交叉熵,同时调节因子变为距离绝对值的幂次函数。和Focal Loss类似,我们实验中发现一般取\beta = 2为最优。

对于任意分布来建模框的表示,它可以用积分形式嵌入到任意已有的和框回归相关的损失函数上,例如最近比较流行的GIoU Loss。这个实际上也就够了,不过涨点不是很明显,我们又仔细分析了一下,发现如果分布过于任意,网络学习的效率可能会不高,原因是一个积分目标可能对应了无穷多种分布模式。如下图所示:

各种各样的表示
考虑到真实的分布通常不会距离标注的位置太远,所以我们又额外加了个loss,希望网络能够快速地聚焦到标注位置附近的数值,使得他们概率尽可能大。基于此,我们取了个名字叫Distribution Focal Loss (DFL):

其形式上与QFL的右半部分很类似,含义是以类似交叉熵的形式去优化与标签y最接近的一左一右两个位置的概率,从而让网络快速地聚焦到目标位置的邻近区域的分布中去。

最后,QFL和DFL其实可以统一地表示为GFL,我们将其称之为Generalized Focal Loss,同时也是为了方便指代,其具体形式如下:

我们在附录中也给出了:Focal Loss,包括本文提出的QFL和DFL都可以看做为GFL中的变量取到特定值的特例。

最后是实验。Ablation Study就不展开了,重点的结论即是:

1. 这两个方法,即QFL和DFL的作用是正交的,他们的增益互不影响,所以结合使用更香(我们统一称之为GFL)。我们在基于Resnet50的backbone的ATSS(CVPR20)的baseline上1x训练无multi-scale直接基本无cost地提升了一个点,在COCO validation上从39.2 提到了40.2 AP。实际上QFL还省掉了原来ATSS的centerness那个分支,不过DFL因为引入分布表示需要多回归一些变量,所以一来一去inference的时间基本上也没什么变化。

2. 在2x + multi-scale的训练模式下,在COCO test-dev上,Resnet50 backbone用GFL一把干到了43.1 AP,这是一个非常可观的性能。同时,基于ResNeXt-101-32x4d-DCN backbone,能够有48.2的AP且在2080Ti单GPU上有10FPS的测速,还是相当不错的speed-accuracy trade-off了。

放一些重点的实验插图:

最后,附录里面其实有不少彩蛋。

第一个彩蛋是关于IoU和centerness的讨论。在对比实验中,我们发现IoU作为框预测质量的度量会始终比centerness更优。于是我们又具体深入分析了一些原因,发现的确从原理上来讲,IoU可能作为质量的估计更加合适。具体原因如下:

1) IoU本身就是最终metric的衡量标准,所以用来做质量估计和排序是非常自然的。

2) centerness有一些不可避免的缺陷,比如对于stride=8的FPN的特征层(也就是P3),会存在一些小物体他们的centerness label极度小甚至接近于0,如下图所示:

而IoU就会相对好很多。我们也统计了一下两者作为label的分布情况,如图:

这意味着IoU的label相对都较大,而centerness的label相对都较小,同时还有非常非常小的。可以想见,如果有一些正样本的centerness的label本身就很小,那么他们最后在做NMS排序的时候,乘上一个很小的数(假设网络学到位了),那么就很容易排到很后面,那自然性能就不容易上去了。所以,综合各种实验以及上述的分析,个人认为centerness可能只是一个中间产物(当然,其在FCOS中提出时的创新性还是比较valuable的),最终历史的发展轨迹还是要收敛到IoU来。

第二个彩蛋是分布式表示的一些有趣的观察。我们发现有一些分布式表示学到了多个峰。比如伞这个物体,它的伞柄被椅子严重遮挡。如果我们不看伞柄,那么可以按照白色框(gt)来定位伞,但如果我们算上伞柄,我们又可以用绿色框(预测)来定位伞。在分布上,它也的确呈现一个双峰的模式(bottom),它的两个峰的概率会集中在底部的绿线和白线的两个位置。这个观察还是相当有趣的。这可能带来一个妙用,就是我们可以通过分布shape的情况去找哪些图片可能有界定很模糊的边界,从而再进行一些标注的refine或一致性的检查等等。颇有一种Learn From Data,再反哺Data的感觉。

最后谈谈检测这块的两个可能的大趋势。太明显了,一个是kaiming引领的unsupervised learning,妥妥撸起袖子干一个检测友好的unsupervised pretrain model especially for object detection;还有一个是FAIR最近火爆的DETR,其实去掉NMS这个事情今年也一直在弄,搞的思路一直不太对,也没搞出啥名堂,还是DETR花500个epoch引领了一下这个潮流,指了个门道,当然方向有了,具体走成啥样,还是八仙过海,各显神通啦~

目标检测之Generalized Focal Loss介绍 目标检测从年初的ATSS到PAA,通过优化对正负样本选取的手段将onestage在COCO的AP刷到了46,本文主角GFL在ATSS的基础之上,对focal loss进行改进,提出了GFL,通过大量对比试验证明了有效性,基本上可以说是无损涨点了。 阅读详情

相关推荐

Focal Loss改进版 GFocal Loss

https://github.com/implus/GFocal 最小的模型,247m Model Multi-scale training AP (minival) AP (test-dev) FPS Link GFL_R_50_FPN_1x No 40.2 40.3 19.4 Google GFL_R_50_FPN_2x Yes 42.8 43.1 19.4 Google GFL_R_101_...

jacke121的专栏 9122

【论文阅读】Generalized Focal Loss的解读。交叉熵、Focal Loss、Quality Focal Loss、Distribution Focal Loss

最后,我们将QFL和DFL的公式总结为一个统一的视角,称为 Generalized Focal Loss(GFL),作为FL的一个灵活的扩展,以促进未来进一步的推广和普遍的理解。专注于一组稀疏的困难样本的同时,对相应的类别进行连续的0∼1质量估计。举例子:5分类的任务,第1类别的分类标签onehot应为 [0,1,0,0,0],当前训练时检测框和对应标签框的iou为0.65,则此时分类的标签不再使用 [0,1,0,0,0],而是使用分类-iou联合表示:[0,0.65,0,0,0]。

magic_ll的博客 5473

基于YOLOv9的医学影像CT结节检测系统设计与实现

深度学习目标检测技术正从通用视觉场景向医学影像分析领域深度渗透。YOLOv9作为新一代单阶段检测器,通过可编程梯度信息(PGI)与高效层聚合网络(GELAN)解决了深层网络梯度衰减与特征融合效率问题,在小目标、复杂背景任务中表现出色。在肺部CT结节自动筛查场景中,YOLOv9在保证召回率的同时兼顾推理速度,配合医学影像特有的DICOM解析、HU值转换、切片重叠推理及数据增强策略,可构建一套稳定可靠的AI辅助初筛系统。本文从技术选型、网络原理、数据预处理、训练调参到服务化部署全链路展开,结合真实项目踩坑记录,

weixin_29041767的博客 233

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

点击上方“AI遇见机器学习”,选择“星标”公众号重磅干货,第一时间送达 论文已上传,文末附下载方式本文作者:李翔https://zhuanlan.zhihu.com/p/14769178...

weixin_36896856的博客 1793

2025软考信息安全工程师真题

2025信息安全工程师软考真题

qq_40424393的博客 1710

labview汽车电子通用测试程序架构,CAN通讯上位机

结合做过的汽车电子测试项目,车身控制器测试,CAN网络模块测试,电机控制器功能测试,汽车仪表盘视觉及功能测试、电气盒功能测试、EOL下线检测、车用空调控制器功能测试等项目,结合实际项目,整理编写的一个汽车电子,通用测试架构,包含项目的讲解等。6、数据保存 、数据处理、 曲线显示 、报警处理等。7、CAN总线故障信息监控及记录保存。2、参数设置(CAN端口及参数)5、CAN通讯+数据解析。

ali2805486883的博客 2763

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

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

我爱计算机视觉 5138

Vivado新手避坑指南:搞懂Generate Output Products和Create HDL Wrapper到底在干啥

本文深入解析Vivado设计流程中的Generate Output Products和Create HDL Wrapper两大关键步骤,帮助新手理解其核心功能与操作要点。通过详细讲解文件生成类型、关键选项设置及常见问题解决方案,指导开发者正确使用这两个功能,避免设计流程中的常见错误,提高FPGA开发效率。

weixin_29207149的博客 313

《Generalized Focal Loss V1》论文笔记

参考代码:GFocal 这篇文章会探讨将目标检测中边界框的回归问题转换为概率分布的问题,因而需要从传统的边界框范数与IoU回归思想转换到边界框的概率分布上来。对此,对这方面内容不是很理解的朋友可以参考下面这篇文章的内容,从而对加深这篇文章提出GFocal优化方法的理解: REF:一文了解目标检测边界框概率分布 同时,这篇文章的作者也有对这篇文章进行了说明,详见:大白话 Generalized Focal Loss 1. 概述 导读:让目标检测网络实现对检测质量的感知,是之前一些检测算法努力追求的目标。总结

m_buddy的博客 3225

bugku渗透测试4-writeup

三、对这个主机进行全端口的扫描,发现存在22000 ssh端口,那么可以联想到时redis写入公钥来连接主机。又来了一个新的靶场,这个靶场打下来我觉得关键就是信息收集,走了很多的弯路。八、最后一个flag是要去看cms的数据库里面,这个数据库是sqlite。把这个数据库下载下来,登录密码是加密的,就直接用token。一、入口的漏洞是在登录的时候去抓包,修改action的值。六、没想到这个第一台机器的密码,在第二台里面。七、扫描第一台主机、使用之前的密码连接成功。获取最后一台主机的root密码。

vsdfbhsdhsdfh的博客 1304

如何构建智能聊天系统

聊天分为听、思考、读,简单的通过ASR、LLM、TTS三类模型的组合可以实现,最近openai推出支持多模态的GPT-4o模型,可以把三个模型真正融合成在一起。现在市面上的模型百花齐放,各有所长。要实现可落地的方案,需要结合业务,验证模型效果,同时也要考虑方案的可行性,有些模型在国内能用,有些在国内不能用。

xsgnzb的专栏 2110

目标检测 -Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dens

众所周知,单阶段检测器的发展是目标检测领域的重要研究方向,而单阶段方法往往将目标检测视为密集分类和定位任务(其中定位任务值得就是边框回归)。分类任务通常通过Focal Loss进行优化,而边框定位通常按照Dirac delta分布来学习。最近单阶段检测器的研究趋势为引入一个单独的分支来估计定位的质量(centerness或者iou),这个质量预测有助于分类任务的进行从而整体上提高检测的性能。

1391

Xilinx Vivado vitis IDE launch Failed \ Web installer client Obsolete 怎么办

Xilinx vitis_IDE failed Web installer client Obsolete

weixin_44820962的博客 8645

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

文章目录1、论文总述 1、论文总述 本篇论文提出了泛化版的Focal loss(可以同时用于分类和回归分支),既将class 得分和 centerness得分的预测合并为了一个分支,解决了training和test时的gap,而且将边框回归的每个确定值的预测改为了16个离散值的预测,然后将其积分得到最终值。 论文非常值得精度,里面值得学习的地方很多。 原作者在知乎上对本篇论文解读的已经非常好了,可直接去看,本人就不赘述了。 大白话 Generalized Focal Loss 本文大概意思: 背景框也会预

j879159541的博客 1634

SIMULINK开发项目实例 1000 例专栏之第960例--基于电力系统稳定性的建模与仿真场景:-含分布式电源的配电网电压稳定性研究

间歇性与随机性:例如,太阳能依赖于日照强度,风能依赖于风速,这使得它们的输出功率具有不确定性。逆变器接口:大多数分布式电源通过逆变器接入电网,这对电网的动态响应特性产生了影响。位置分散:通常分布在用户侧或靠近负荷中心的位置。本文详细介绍了如何使用Simulink结合Simscape Electrical 构建一个用于研究含分布式电源配电网电压稳定性的模型,并提供了详细的仿真流程说明。

xiaoheshang_123的博客 156

「深度学习之优化算法」笔记(二)优化算法的分类

但是由于生物的局限性,人们所创造出的算法也会有局限性:我们所熟知的生物都生存在三维空间,在这些环境中,影响生物生存的条件比较有限,反应到算法中就是这些算法在解决较低维度的问题时效果很好,当遇到超高维(维度>500)问题时,结果可能不容乐观,没做过实验,我也不敢乱说。当然,他们的目的不是在最佳狩猎位置集合,他们的目的是在过去的途中看是否能发现更加好的狩猎位置,去往已经到过的狩猎地点再次狩猎是没有意义的,因为每个位置获取食物的难易程度是固定的。如果他们的策略是“不跟随最优解”,那么他们的策略是什么呢?

quanzhan_King的博客 1374

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论文翻译

深度检测的博客 1145

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Generalized Focal Loss V2: Learning Reliable Localization Quality Estimation for Dense Object Dete

在之前的文章介绍了GFocalV1这个开创性的工作,它将边界框建模为通用分布表示,这个分布式的表示其实在GFocalV1中对整个模型的贡献并不是非常大(相比于分类-质量联合表示),因此如何充分利用成为GFocalV2的出发点,事实上,既然分布的形状和真实的定位质量高度相关,那么这个边框的分布表示其实可以算出统计量指导定位质量估计,这就是GFocalV2的核心创新点。论文标题论文地址论文源码当前的密集检测器由于其优雅且高效,成为业界比较关注的研究热点之一。

234

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

超轻量目标检测模型NanoDet

华为P30上用NCNN移植跑benchmark,每帧仅需10.23毫秒,比yolov4-tiny快3倍,参数量小6倍,COCO mAP(0.5:0.95)能够达到20.6 。而且模型权重文件只有1.8mb,对比动辄数十兆的模型,可以说是相当友好了~ Android Demo 项目地址(提供训练代码到安卓部署一站式解决方案): RangiLyu/nanodet: ⚡Super fast and lightweight anchor-free object detection model. Onl..

行云 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【目标检测】22、Generalized Focal Loss V1

One-stage 目标检测器基本上是将目标检测建模成了一个密集分类和定位的任务。 分类任务一般使用 Focal Loss 来进行优化,定位任务一般是学习 Dirac delta 分布。 如 FCOS 中就提出了一个估计定位质量的量:IoU score 或 centerness score,然后 NMS 排序的时候,将分类得分和框质量得分相乘。.........

呆呆的猫的博客 3597

Generalized Focal Loss 原理与代码解析

为了方便网络优化,作者将连续区间上的积分转换成了离散的形式,通过将区间 \(\left [ y_{0},y_{n} \right ] \) 转换成一组等间隔 \(\triangle\)(为了方便取\(\triangle=1\))的离散区间 \(\left \{ y_{0},y_{1},...,y_{i},y_{i+1},...,y_{n-1},y_{n} \right \} \),根据离散分布的性质 \(\sum_{i=0}^{n} P(y_{i})=1\),回归估计值可由下式得到。

00000cj的博客 3206

Generalized Focal Loss论文个人理解

Generalized Focal Loss论文个人理解

shilichangtin的博客 1826

Generalized Focal Loss: 学习密集目标检测的高质量和分布式边界框

Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection Generalized Focal Loss: 学习密集目标检测的高质量和分布式边界框

Together_CZ的博客 2635

【论文阅读】Generalized Focal Loss

Generalized Focal Loss

一碗白开水一 473

论文阅读笔记 | 目标检测算法——Generalized Focal Lossv1,v2

如有错误,恳请指出。 文章目录1. Generalized Focal Loss1.1 Problem1.2 SolveQuality Focal Loss (QFL)Distribution Focal Loss (DFL)Generalized Focal Loss (GFL)1.3 Appendabout the DistributionsIoU-branch superior than centerness-branchMore Examples of Distributed Bounding .

Clichong 4153
上一篇: 机器学习自学成才的十条戒律
下一篇: 图像处理之目标检测入门总结
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值