《Generalized Focal Loss V2》论文笔记

Posted m_buddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Generalized Focal Loss V2》论文笔记相关的知识,希望对你有一定的参考价值。

参考代码:GFocalV2

1. 概述

导读:这篇文章是在之前V1版本的基础上增强了目标检测中定位质量估计能力。在之前的一些网络中会在分类分支和检测分支的特征图基础上实现定位质量的估计(如IoUNet、FCOS),但是会存在training和infer阶段的gap。对此在GFocal V1的版本中提出了质量感知的预测头,从而弥补了training和infer的gap。而这篇文章更进一步使用4个边界框的概率分布作为额外信息输入,使得质量感知分支能够获取检测框边界的信息,从而进一步提升质量感知分支的准确度。

在之前的一些工作中使用分类或是边界框回归分支特征图作为输入组合,并在此基础上实现对检测框质量的感知,其结构见下图左图所示:

但是上图的左图却存在回归分支是否能准确表达检测框的问题,对此这里考虑了GFocal V1版本中4条边的概率分布与实际检测框边界质量的关系,通过文章的分析若边界框的概率分布呈现尖峰分布情况则表明该检测框边界的定位质量是较高的,反之亦然。因而可以利用GFocal V1生成的检测框边界分布去描述实际的检测质量,因而对上图左图中回归分支部分进行修改,便得到了右图的模式,既是使用检测边界框的概率分布来生成更好的检测质量评估。

2. 方法设计

2.1 pipeline

文章的pipeline见下图所示,其主要的改进点在检测质量评估分支上,也就是显式使用了检测框的概率分布特征,也就是下图中红色虚线部分展示的部分(DGQP:Distribution-Guided Quality Predictor)。

2.2 DGQP运算过程

使用GFocal中描述到的检测边界框的概率分布描述,可以将目标检测涉及到的4条边界的分布描述为: P w = [ P w ( y 0 ) , … , P w ( y n ) ] , ∀ w ∈ [ l , r , b , t ] P^w=[P^w(y_0),\\dots,P^w(y_n)],\\forallw\\in[l,r,b,t] Pw=[Pw(y0),,Pw(yn)],w[l,r,b,t]。则可以生成最大距离为 n n n的特征图,那么如何选择其中最具代表行的特征输入到后面的网络呢?文章给出的方法是使用top-k的方法,也就是在数量为 n n n的分布上选择概率值top-k的特征图,之后再concat上这些特征图的mean,从而筛选出对应的特征图,其筛选过程可以参考下图:

对于其中concat是mean还是var文章做了实验,其实验结果见下表所示:

那么接下来就是4个方向的抽取出来的特征图concat起来组成特征 F ∈ R 4 ( k + 1 ) F\\in R^4(k+1) FR4(k+1),描述为:
F = C o n c a t ( T o p k m ( P w ) ∣ w ∈ l , r , b , t ) F=Concat(\\Topkm(P^w)|w\\in\\l,r,b,t\\\\) F=Concat(Topkm(Pw)wl,r,b,t)
在上面的过程中会涉及到 k , p k,p k,p值的选择,其选择也是有对应的实验的,其实验结果见下表所示:

接下来经过几个全连接实现特征编码与维度匹配,得到文章中提到的IoU scalar描述 I ∈ R H ∗ W ∗ 1 I\\in R^H*W*1 IRHW1
I = F = σ ( W 2 δ ( W 1 F ) ) I=\\mathcalF=\\sigma(W_2\\delta(W_1F)) I=F=σ(W2δ(W1F))
之后与分类的特征 C ∈ R H ∗ W ∗ C m C\\in R^H*W*C_m CRHWCm,之后进行element-wise mul得到感知特征描述 J J J。其实对于特征的融合策略是有两种的,见下图:

那么它们分别对性能的影响见下表所示:

3. 实验结果

文章提出的方法对于检测网络的性能影响见下表:

以上是关于《Generalized Focal Loss V2》论文笔记的主要内容,如果未能解决你的问题,请参考以下文章

《Generalized Focal Loss V1》论文笔记

Keras 自定义loss函数 focal loss + triplet loss

交叉熵损失函数和focal loss

focal loss 之 pytorch 实现

处理样本不平衡的LOSS—Focal Loss

focal loss小结