FASF(CVPR2019)

本篇文章是CVPR2019的一篇Anchor-Free的文章,是一篇很好的Anchor Free的目标检测的文章,目前基于anchor的目标检测方法,大多采用不同的level预测不同尺度的instance,而分配规则往往是人为设计的,这导致anchor的匹配策略可能不是最优的。那有没有更优的匹配方法?文章从level选取的点进行切入,利用FASF实现不同的instance在不同level的动态分配,实现了level的动态选择,并且anchor free方法取得了较好的mAP,另外作者设计了anchor free跟anchor-based相结合的方法,进一步提升模型效果,取得了可观的结果。


论文名称:Feature Selective Anchor-Free Module for Single-Shot Object Detection

作者:Chenchen Zhu & Yihui He & Marios Savvides

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


Back Ground

目标检测的一个挑战在于尺度的变化,目前解决问题的方法包括:特征金字塔、multi-level、anchor boxes等。特征金字塔以及anchor-based已经取得了不错的效果。但是存在一定的限制:

  1. 启发式的特征选择。
  2. 重叠的anchor的选择。

目前基于anchor的目标检测方法,大多采用不同的level预测不同尺度的instance,而分配规则往往是人为设计的,这导致anchor的匹配策略可能不是最优的。本文提出了feature selective anchor-free module来解决这个限制。并且FASF可以与anchor-based 分支协同并行工作,提高模型效果。在COCO上,可以达到44.6%的mAP

Feature Selective Anchor Free

Network Architecture

FSAF的结构展示如下图,作者的实验是以RetinaNet为基础,所以下图的主干部分代表的是RetinaNet的FPN结构,同样的从P3-P7引出subnets进行分类与预测,如下图所示,P3-P7对应的分辨率 1 / 2 l 1/2^l 1/2l

在这里插入图片描述

FSAF重点是下图中引出来的Anchor-Free branch,分类的分支,通过一个3x3的卷积以及sigmoid得到WxHxK的特征图,用于预测K个类别,至于回归分支,通过一个3x3的卷积以及ReLU得到WxHx4的特征图,用于预测每个实例的坐标框。

Ground Truth and Loss

首先,如何定义正负样本呢?如下图所示,Groud Truth是汽车的蓝框,正样本便是中间图中白色的部分,当然除了正样本也不全是负样本,在正负样本之间还有一部分忽略样本,论文中正样本占比为宽度的0.2,忽略部分界限占比为宽度的0.5,所以每个level在宽度比例0.2-0.5的一圈是不加入训练,另外,不同level的界限间的像素也同样不加入训练,用公式表示是: ( b e i − b e l ) ; ( b i l − 1 , b i l + 1 ) (b^{i}_{e}-b^{l}_{e});(b_{i}^{l-1},b_{i}^{l+1}) (beibel);(bil1,bil+1)(其实不加入训练这里,论文描述的挺复杂,其实计算后发现,就是每层的Ground Truth往外扩一圈),其余的就为负样本。并且如果两个实例在同一个level重合了,以小的那个为主。

训练的时候分类采用的是Focal loss,box回归的是边界的上下左右,这里使用的是IOU Loss

在这里插入图片描述

Online Feature Selection

这部分是本篇文章的精髓所在,如果自动去给不同的instance分配合适的level进行预测呢?
其实答案也很简单,就如下图所示,作者分别对不同的level的分支结果求loss,然后选择loss最小的那个作为该实例的分支。

在这里插入图片描述

Joint Inference and Training

这部分将介绍,如何将anchor-based与anchor-free方法结合起来,如上面图Figure 4所示。

首先,在训练的时候,保持anchor-based的分支超参数不变。然后anchor-based与anchor-free的loss进行求和,如下: L = L a b + λ ( L c l s a f + L r e g a f ) L=L^{ab}+\lambda(L_{cls}^{af}+L_{reg}^{af}) L=Lab+λ(Lclsaf+Lregaf),其中, λ = 0.5 \lambda=0.5 λ=0.5

在inference的时候,将anchor based得到的box以及anchor free得到的box一起用非极大值一致的方法,得到最终的结果。

实验

FASF 模块的效果以及online feature selection的重要性。

下图是在RetinaNet上使用FASF模块的效果,可以看出,其实只使用FASF的效果已经要好于RetinaNet了,并且在实验中可以看出,如果不使用online feature selection 效果也不错的,但是没有使用online feature selection效果好,相差了大约10个点。

在这里插入图片描述

FASF选择的level到底怎么样?

实验表明,大部分的检测框还是遵循原来的设计的,前面的level检测小目标,后面的level检测大目标,但是也有特例,就是下图中红色框框住的那些就是,level发生了变化。

在这里插入图片描述

FASF与SOTA相比较

在这里插入图片描述

总结

这篇文章同样是一篇很好的Anchor Free的目标检测的文章,文章从level选取的点进行切入,利用Anchor实现不同的instance在不同level的动态分配,设计了FASF方法进行level的动态选择,并且设计了anchor free跟anchor-based相结合,提升模型效果,取得了可观的结果。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值