Generalized Focal Loss V2利用分布统计特征估计定位质量

(一)Title

在这里插入图片描述
论文地址:https://arxiv.org/abs/2011.12885
代码地址:https://github.com/implus/GFocalV2

前言:GFLv1文章名:Generalized Focal Loss Learning Qualified and Distributed Bounding Boxes for Dense Object Detection。GFLv1已经很漂亮了,没想到GFLv2能利用分布的统计特征来进行定位质量估计,而且还取得优于卷积特征的效果,感觉作者太强了也。

(二)Summary

目前Localization Quality Estimation(LQE)在目标检测中是很Popular的一种做法,能够产生更加准确的rank scores用于NMS,从而提升性能。

通常的估计Localization Quality 的方法是通过分类分支或者回归分支的共享卷积特征来预测LQE分数(这说的是IoU-aware single-stage object detetor那篇文章,这篇文章在我的博客同样有论文阅读笔记)

本文中作者提出基于学习到的bounding box四个参数的分布来进行LQE(Localization Quality Estimation)

这个bounding box的分布在GFLv1(博客)中提到,并且很好地描述了bounding box的不确定性。

作者提出bounding box的统计分布和它真实的定位质量是高度相关的。

具有sharp peak的边界框分布通常对应于high localization quality
在这里插入图片描述
从上图中可以看出,峰越高表示的定位质量就越好,

因此在本文中作者利用上这个关系,作者提出了一个相当轻量级的Distribution-Guided Quality Predictor(DGQP)进行可靠的定位质量估计。从而产生了GFLv2,这是首个利用高度相关的统计表示方法进行的Localization Quality Estimation

性能表现

GFLV2 (ResNet-101)以14.6FPS取得了46.2的AP值,超过了baseline(43.6AP at 14.6 FPS),在训练和测试阶段都没有损失效率。

文章的主要贡献点

  • 首个将统计分布定位质量估计结合起来的端到端的目标检测框架。
  • GFLv2中的DGQP子网络很轻量级,基本上的cost-free的,但是同时在性能上可以提升AP指标。
  • 使用多尺度测试,使得GFLV2取得了53.3的AP,在COCO数据集上。

(三)Research Object

目前研究者的工作主要集中在如何进行更加准确的LQE(定位质量估计),大多数研究者的工作基于卷积特征进行定位质量的估计,在GFLv1中将定位质量(IoU)和classfication score进行联合表示,但是进行定位质量估计仍然使用的是卷积特征,在本文中,我们受到GFLv1中预测的box分布和Localization Quality之间强相关性的启发,提出利用分布统计来进行定位质量的估计。
在这里插入图片描述

(四)Problem Statement

目前进行定位质量估计(LQE)基本上是基于卷积特征(点,边界或者区域的特征)。我们从GFLv1得到的box分布中得到启发,可以基于box4个边分布的Top-1(峰值)来估计定位质量,两者之间是具有较强的相关性的。受上述box分布和定位质量之间强相关性的启发,作者提出一个非常轻量级的子网络sub-network,只有几十个(例如,64个)隐藏单元,在这些分布统计的基础上产生可靠的LQE分数,显著提高了检测性能。作者称这个轻量级的子网络为Distribution-Guided Quality Predictor(DGQP)

(五)Method

5.1 GFL(Generalized Focal Loss)v1

Quality Focal Loss

c ∈ { 1 , 2 , … , m } c \in\{1,2, \ldots, m\} c{1,2,,m},其中 m m m表示类别数,GFLv1利用类别分支来产生类别和IoU的联合表示,对应m个类别的输出分别为 J = [ J 1 , J 2 , … , J m ] \mathbf{J}=\left[J_{1}, J_{2}, \ldots, J_{m}\right] J=[J1,J2,,Jm],其中每一项为:
J i = { IoU ⁡ ( b pred , b g t ) ,  if  i = c 0 ,  otherwise  J_{i}=\left\{\begin{array}{ll} \operatorname{IoU}\left(b_{\text {pred}}, b_{g t}\right), & \text { if } i=c \\ 0, & \text { otherwise } \end{array}\right. Ji={IoU(bpred,bgt),0, if i=c otherwise 

也就是利用真实的IoU的值来代替类别标签1.

Distribution Focal Loss

目前目标检测中用于描述bounding box的分布往往是 δ \delta δ分布,或者高斯分布,在GFLv1中提出使用任意分布 P ( x ) P(x) P(x)描述bounding box。对于回归目标我们看成是随机变量 Y Y Y,我们限定Y的取值范围为 [ y 0 , y n ] [y_0,y_n] [y0,yn]之间,那么我们计算分布对应的期望值为:
y ^ = ∫ − ∞ + ∞ P ( x ) x   d x = ∫ y 0 y n P ( x ) x   d x \hat y = \int_{-\infty}^{+\infty} P(x) x \mathrm{~d} x=\int_{y_{0}}^{y_{n}} P(x) x \mathrm{~d} x y^=+P(x)x dx=y0ynP(x)x dx
接着对 [ y 0 , y n ] [y_0,y_n] [y0,yn]范围进行离散化,采用相同大小的间隔 Δ \Delta Δ,得到 [ y 0 , y 1 , … , y i , y i + 1 , … , y n − 1 , y n ] \left[y_{0}, y_{1}, \ldots, y_{i}, y_{i+1}, \ldots, y_{n-1}, y_{n}\right] [y0,y1,,yi,yi+1,,yn1,yn],并且每一个间隔 Δ = y i + 1 − y i , ∀ i ∈ { 0 , 1 , … , n − 1 } \Delta=y_{i+1}-y_{i}, \forall i \in\{0,1, \ldots, n-1\} Δ=yi+1yi,i{0,1,,n1},此时原来的连续概率密度 P ( x ) P(x) P(x)变成了离散的概率值 G ( x ) G(x) G(x),满足 ∑ i = 0 n P ( y i ) = 1 \sum_{i=0}^{n} P\left(y_{i}\right)=1 i=0nP(yi)=1,并且离散情况下计算期望为:
y ^ = ∑ i = 0 n P ( y i ) y i \hat{y}=\sum_{i=0}^{n} P\left(y_{i}\right) y_{i} y^=i=0nP(yi)yi
我们GFLv2的工作就是基于这个分布来估计Localization Quality的。

5.2 Generalized Focal Loss V2

在这里插入图片描述

Localization Quality Estimation

作者提出GFLv1中 仅仅使用classification branch去预测object classification和Quality Estimation联合表示存在着一些限制,这里将这个联合表示进行decompose(解耦合)并进行显示表示,分别使用类别(classification branch) C \mathbf{C} C和回归分支(regression branch) I {I} I
J = C × I \mathbf{J}=\mathbf{C} \times I J=C×I
其中 C = [ C 1 , C 2 , . . . , C m ] \mathbf{C} = [C_1,C_2,...,C_m] C=[C1,C2,...,Cm], C i ∈ [ 0 , 1 ] C_i \in [0,1] Ci[0,1],m个类别的分类表示
I ∈ [ 0 , 1 ] I \in [0,1] I[0,1]是一个标量,表示IoU。

这里将联合表示解耦成两部分的原因在于:

我们的这里 I I I是定位质量估计,是利用regression branch估计出来的分布得到的,而不是我们原来计算predict box和Ground Truth之间的IoU得到的,在网络中需要分开到回归分支和分类分支上,因此这里需要先解耦,但是当我们得到这两部分之后,将两者相乘得到最终的一个Score,再将这个Score使用QFL进行训练,同时在Inference阶段,按照乘起来之后的Score进行排序,做NMS。从思想上是和GFLv1一致,将classification score和Localization Quality进行联合表示。

GFLv2的精髓之处:Distribution-Guided Quality Predictor

利用学习到的分布的统计特征(Top-1 value)输入到a tiny sub-nerwork中,在上面网络架构图的中用红色点框住的部分,得到预测的IoU 标量 I I I,

回归目标这里使用的是from the location 到bounding box四个边的距离 { l , r , t , b } \{l, r, t, b\} {l,r,t,b},这个距离是利用通用分布 P ( x ) P(x) P(x)表示的,我们的通用分布在这里是 P w = [ P w ( y 0 ) , P w ( y 1 ) , … , P w ( y n ) ] \mathbf{P}^w = \left[P^{w}\left(y_{0}\right), P^{w}\left(y_{1}\right), \ldots, P^{w}\left(y_{n}\right)\right] Pw=[Pw(y0),Pw(y1),,Pw(yn)],其中 w ∈ l , r , t , b w \in {l,r,t,b} wl,r,t,b
从之前我们关于网络学习到的bounding box分布越sharp peak,我们的Localization Quality越好的分析中,可以认为和这个General Distribution的平坦度flatness相关的统计特征,这些统计特征和 Localization Quality之间存在着较强的相关性

作者在实际实验中使用每一个分布 P w \mathbf{P}^w Pw的Top-k值以及对应的Top-k的均值concate组成一个向量:
F = Concat ⁡ ( { Top ⁡ km ⁡ ( P w ) ∣ w ∈ { l , r , t , b } } ) \mathbf{F}=\operatorname{Concat}\left(\left\{\operatorname{Top} \operatorname{km}\left(\mathbf{P}^{w}\right) \mid w \in\{l, r, t, b\}\right\}\right) F=Concat({Topkm(Pw)w{l,r,t,b}})
如下图所示:
在这里插入图片描述
其中 F ∈ R 4 ( k + 1 ) \mathbf{F} \in \mathbb{R}^{4(k+1)} FR4(k+1),从表达式上来看,这里应该是将一个bounding box预测的4个边的分布,从每一个分布中分别取出Top-k个以及Top-k个的均值,每一个分布一共(k+1)个值,4个分布再进行Concate得到 4 ( k + 1 ) 4(k+1) 4(k+1)个值
并且作者指出:
由于 ∑ i = 0 n P w ( y i ) = 1 \sum_{i=0}^{n} P^{w}\left(y_{i}\right)=1 i=0nPw(yi)=1,因此,Top-k value以及他们的均值能够反映分布的平坦程度,越大的越sharper,越小的越平坦flatter。
采用Top-k以及其均值的方法对分布具有平移不变性,分布发生位移的话,得到的Top-k值以及对应的均值不发生改变,如上图中所示的情况,虽然分布向右发生了平移,但是我们的Top-k值以及均值mean都没有改变

作者将bounding box分布组成的向量 F \mathbf{F} F经过一个sub-network F ( ⋅ ) \mathcal{F}(\cdot) F()去预测最终的IoU 质量估计,这个子网络有两个全连接层,后面分别跟着ReLu和Sigmoid。最终的IoU scalar I I I可以表示为:
I = F ( F ) = σ ( W 2 δ ( W 1 F ) ) I=\mathcal{F}(\mathbf{F})=\sigma\left(\mathbf{W}_{2} \delta\left(\mathbf{W}_{1} \mathbf{F}\right)\right) I=F(F)=σ(W2δ(W1F))
其中 δ \delta δ表示ReLU函数, σ \sigma σ表示sigmoid 函数, W 1 ∈ R p × 4 ( k + 1 ) \mathbf{W}_{1} \in \mathbb{R}^{p \times 4(k+1)} W1Rp×4(k+1), W 2 ∈ R 1 × p \mathbf{W}_{2} \in \mathbb{R}^{1 \times p} W2R1×p, k k k表示的是Top-k的参数, p p p表示的是隐层的通道维数。

这里需要对DGQP的计算复杂度进行说明:DGQP与整个检测模型的参数数量相比可以忽略不计。例如,对于ResNet-50 [11]和FPN [20]的模型,DGQP模块的额外参数仅占0.003%。第二,DGQP模块由于结构极轻,计算开销也很小。几乎没有降低原始检测器的训练和推理速度。

(六)Experiment

6.1 实验细节设置

  • 使用COCO benchmark,使用trainval35k共115k图像进行训练,使用minival 5K图像进行验证,此外,作者的结果是在test-dev 共20k图像上进行的。使用mmdetection进行的实验,
  • 采用mmdetection中默认的超参数,1x的学习策略(12个epoch)
  • 没有引入多尺度训练
  • backbone使用ResNet-50 backbone

6.2 Ablation Study

在Top-k( k = 4 k=4 k=4)以及DGQP隐层单元为64的设置下,验证Top-k值,mean以及var对AP值的影响
在这里插入图片描述
从上图中可以看出,当取Top-k以及mean时能够得到最佳的结果

DGQP(即k,p)的结构,也就是k和p取不同值对于最终结果的影响
在这里插入图片描述
和使用基于卷积特征进行Quality Estimation 的进行对比
在这里插入图片描述
组合分类score C \mathbf{C} C和质量估计 J \mathbf{J} J的两种形式
在这里插入图片描述
这里 I \mathbf{I} I中的 d d d表示的应该是特征图的厚度。得到了如下的实验结果
在这里插入图片描述
Composed Form 产生的结果在速度和精度上都不如Decomposed Form

将我们的GFLv2框架引入到其他的检测框架中
在这里插入图片描述

6.3 和State-of-art分类器的比较

使用多尺度训练以及2x学习策略(24个epochs)
在这里插入图片描述
在这里插入图片描述

6.4 对于DGQP有效性的分析

分别计算预测的IoU和真实IoU之间的 Pearson Correlation Coefficients(PCC)皮尔森相关系数
在这里插入图片描述
我们的模型预测的IoU和真实的IoU之间具有较大的PCC系数,这也是我们模型为什么能够取得较好效果的原因。

从训练损失上来看
在这里插入图片描述
其中V2 GFL的DGQP成功地加速了训练过程并收敛到更低的损失。

Top-1和IoU之间的相关性
在这里插入图片描述
训练效率和inference效率
在这里插入图片描述
定性的分析结果
在这里插入图片描述
可以看到使用GFLv2经过NMS后能够产生更加显著的分类IoU

(七)Conclusion

作者提出建议使用bounding box的分布的统计来学习到更可靠的定位质量估计,着是不同于之前的文献的,在此基础上,作者设计了DGQPsub-network,在仅仅增加少量计算复杂度的基础上实现了模型性能的提升。

(八)Notes

8.1 GFLv1中得到的bounding box的分布和IoU之间关系的一个探讨

在这里插入图片描述
从上图中可以看到,四个边的Top-1 Value分别指的是4个边分布上的最大概率值,取4个边的最大概率值的均值,得到了右图中的横轴,右图中的纵轴为预测的bounding box和真实的Ground Truth之间的IoU值(这些bounding box取的是COCO验证集的数据),画出散点图就是右图。

8.2 Localization Quality Estimation的发展情况

  • 在早期的研究中,在进行NMS时,排序分数使用的是classification score,很多文献指出classification score和IoU score(Localization Quality)之间的相关性很差,
  • 在FCOS和ATSS中,引入了Centerness:用于描述到Ground Truth 中心点的距离,最近的研究表明,它有一定的局限性,对LQE可能是次优的,SABL中将averaged bucketing confidence作为LQE的形式化表示
  • 在IoU-Net [13], Fitness NMS [34], MS R-CNN [12], IoU-aware [36],中引入单独的分支来预测IoU
  • 在GFLv1中,将classification score和IoU进行一个联合表示。

目前大多数的方法都是基于卷积进行的定位质量估计,而我们的方法则是基于预测的box的分布来进行Localization Quality的估计
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值