5

【论文解读】VarifocalNet:如何对候选框排序的最优方案

 3 years ago
source link: https://my.oschina.net/u/1416903/blog/4952115
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”


导读

GFL之后,又来了VarifocalNet,而且效果更好,一起来关注一下。



0ecdd62c-1f2a-40b4-b208-285ca22f0ca4.png

代码:https://github.com/hyz-xmaster/VarifocalNet

论文:https://arxiv.org/abs/2008.13367

现在的物体检测方法中的其中一个问题是,目标的分类得分无法代表对于其位置预测的质量,这导致有些位置预测很准的框的置信度不高,在做NMS的时候会被抑制掉。为了解决这个问题,也提出了很多的方法,比如用一个额外的IoU得分或者centerness的得分来对位置的预测质量进行评估,然后在做NMS的时候,把分类得分和位置质量得分相乘起来使用。但是这种方法并不是最优的,甚至会导致更差的结果,后面会说。如果是用一个小的网络去预测位置评分的话,这种方法不够优雅,需要额外的计算量。

为了克服这些缺点,我们可以思考一个问题:我们能不能将这个位置的质量预测合并到分类得分里面,而不是单独去预测一个定位的质量?也就是说,预测一个和定位相关的分类得分,或者是IoU相关的分类得分,叫做IACS。

我们的贡献如下:

1、我们展示了使用合适的分数对大量的候选框进行准确的排序是提升dense目标检测器表现的关键因素。

2、我们提出了Varifocal Loss来训练dense目标检测器,去回归IACS。

3、我们提出了一种新的星型的目标框的特征表示方式来预测IACS并对框进行优化。

4、我们基于FCOS开发了一种新的目标检测器,叫做VarifocalNet或者VFNet,我们的方法的示意图如下。

8ce443d6-2b52-485c-8cf8-9d5107e8f36d.png

这部分中,我们研究了FCOS+ATSS的performance的上限,展示了将IoU-aware的分类得分作为排序bias的重要性。在研究FCOS+ATSS的上限的时候,在做NMS之前,我们把dense的预测分类得分,距离的offset以及centerness的得分都换成了ground truth值,然后在coco val2017上进行评估。对于分类概率向量,我们有两种选择,一个是直接把对应的类别置为1,另一个方法是置为gt和预测框的gt-IoU的值。对于centerness值,我们也考虑使用其真实值或者是gt-IoU的值。结果如表1,原始的FCOS+ATSS的AP是39.2,当我们在推理的时候对centerness得分使用gt值(gt_ctr)的时候,只提升了2个点,类似的,我们把centerness值替换为gt_IoU(gt_ctr_iou)的值之后,也只是提升到了43.5。这表明用类别概率和centerness相乘并不能得到显著的提升。

b97db9da-1f48-4d60-b513-72809a8c254e.png

相比之下,使用gt包围框的FCOS+ATSS在没有centerness的情况下,达到了56.1的AP。但是,如果将gt_label位置的类别概率(gt_cls)设为1,是否使用centerness就变得很重要了(43.1 AP vs 58.1 AP),因为centerness可以在某种程度上区分开正确和不正确的包围框。

最令人惊讶的是,如果把分类得分替换为gt_IoU(gt_cls_iou),也就是IACS,在推理的时候不需要centerness,可以得到74.7的AP。上面的结果表明,对于大多数的gt目标,在庞大的候选结果的池子里是存在准确定位的包围框的,那么,关键就是如何把这些高质量的检测结果从候选池子里挑选出来,上面的结果显示了,IACS就是选择候选结果的最佳的度量方法。

3.  VarifocalNet

基于上面的发现,我们提出去学习一个IoU-aware的分类得分(IACS)来排序检测结果,然后我们基于FCOS+ATSS,去掉了centerness分支,构建了一个新的dense物体检测器,叫做VarifocalNet或者VFNet。相比于FCOS+ATSS,有3个新东西:varifocal loss,星型包围框以及包围框优化。

3.1 Varifocal Loss

我们设计了Varifocal Loss用来训练IACS,这是从Focal Loss演化而来的。Focal Loss的定义如下:

d6d96b4a-858c-4110-9be8-52317513d07b.png

其中,α是用来平衡正负样本的权重, 和 用来调制每个样本的权重,使得困难样本有较高的权重,避免大量的简单的负样本主导了训练时候的loss。我们借用了Focal Loss中的这种加权的思想,我们用Varifocal Loss来训练回归连续的IACS,和Focal Loss不一样的是,Focal Loss对于正负样本的处理是相同的,而我们这里是不对等的,我们的Varifocal Loss定义为:

445302d5-1ebd-439e-be5c-fffb9ae22d80.png

其中p是预测的IACS,q是目标IoU得分,对于正样本,q是预测包围框和gt框之间的IoU,对于负样本,q为0。见上面的图1。

从式子中可以看到,VFL只对负样本进行了 的衰减,这是由于正样本太少了,我们希望充分利用正样本的监督信号。另一方面,受到PISA和IoU-balanced Loss的启发,我们对正样本使用q进行了加权,如果正样本具有很高的gt_iou,那么,loss的贡献就要大一些,这样使得训练可以聚焦在那些质量高的样本上。为了平衡总体的正负样本,我们同样使用了α进行了负样本的加权。

3.2 星型包围框的特征表示

我们还设计了一种高效的星型的包围框的表示方法来预测IACS,使用了固定的9个采样点(图1中的黄色圆圈),通过可变形卷积来表示包围框。这种表示方法可以获取包围框的几何信息以及附近的上下文的信息,这对于预测框和gt框在编码时的不对齐问题很重要。

具体来说,给定一个采样点(x,y),我们首先使用一个3x3的卷积回归一个初始框,和FCOS一样,包围框编码为4D向量(l’, t’, r’, b’),表示采样点到四条边的距离,使用这个距离向量,我们启发式的选择了9个采样点:(x, y), (x-l’, y), (x, y-t’), (x+r’, y), (x, y+b’), (x-l’, y-t’), (x+l’, y-t’), (x-l’, y+b’) 和 (x+r’, y+b’),然后,这9个点被映射到特征图上,使用可变形卷积来表示包围框,由于这些点是手工选取的,不需要额外的预测,所以计算上非常高效。

3.3 包围框优化

我们通过包围框的优化步骤进一步提升了物体的定位准确率。包围框的优化在dense的物体检测中并不常用,但是,使用星型的包围框的表示,我们可以在dense的物体检测器中利用包围框优化而不损失计算效率。

我们将包围框的优化建模为一个残差学习的问题。对于初始的回归框(l’, t’, r’, b’),我们首先提取星型的表示并编码,然后,我们学习4个距离缩放因子,(△l, △t, △r, △b)来缩放这个距离向量,这样优化后的包围框可以表示为(l, t, r, b) = (△l×l’,△t×t’, △r×r’, △b×b’),更加接近gt。

3.4 VarifocalNet

加上上面的三个组件,然后去掉centerness分支,就得到了VarifocalNet,图3显示了VarifocalNet的结构,主干和FCOS一样,区别就在于检测头上。定位子网络需要进行包围框的回归和refine。

b95f5761-5624-4fcd-9e7a-70073e77a2c9.png

3.5 损失函数和推理

损失函数如下:

909144d6-72fc-4014-927d-12f78440fbcf.png

其中,bbox‘和bbox分别表示初始的和refine之后的预测包围框,我们使用训练的target的qi进行加权。

推理:推理就是直接图像的前向传播然后NMS去除冗余框。

训练细节:初始学习率0.01,使用线性warmup策略,warmup比例是0.1,使用了8个V100 GPU,batchsize为16。输入图像的最大尺寸为1333x800,数据增强方面只使用了水平翻转。

4.1 消融实验

4.1.1 Varifocal Loss

不同超参数(α,γ)以及损失加权的效果,如表2,效果最好的是γ=2,α=0.75。

f90df243-b20f-4eb6-b1d5-2b936bd99edb.png

4.1.2 每个组件的贡献

每个组件的影响见表3:

0d2599ae-b772-4e0a-8702-5b19a7909f1f.png

4.2 和其他最先进方法的对比

cf4dea10-97f7-44f1-92f8-6dfc4131374b.png

4.3 通用性和优势

和GFL进行了对比,将VFL用到其他的方法上看是否有效果:

32aec0aa-c8ae-475b-9cae-6646348f9caa.png
0c2770d4-7e6d-4caa-b095-6906fc7b1b1f.png —END—

论文链接:https://arxiv.org/abs/2008.13367

5e3f24ea-f025-422f-ba76-744b3ba88b9b.jpg

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

本文分享自微信公众号 - AI公园(AI_Paradise)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK