笔记五:CVPR2019目标检测论文阅读 Feature Selective Anchor-Free Module for Single-Shot Object Detection

效果对比:

一.背景介绍

首先anchor的设计是为了将所有可能的实例框的连续空间离散成具有预定义位置、比例和方向的有限个anchor框。实例框与anchor框的匹配基于IOU重叠。

为了实现尺寸不变性,又因为以下特点:上层feature map有更多的语义信息适合于检测大位置,而下层feature map有更多的细粒度细节适合于检测小实例。所以当前,当与特征金字塔集成时,大anchor通常与上部feature map相关联,而小anchor则与下部feature map相关联,基于anchor多尺度特征金字塔一般为以下结构:

        问题:但这种传统的基于锚的检测带来的两个限制:1)启发式引导的特征选择;2)基于IOU重叠的锚采样

         1)的意思是:一个anchor box通过人为预先定义的尺寸被安排到特征层的feature map上,因此,挑选的特征完全基于临时启发所得。比如:60*60,50*50和40*40的小车分别被分配到large,medium,small效果更好,但由于人为预定义,被分到了如上图的层,50*50和40*40被分到了相同的层,特征选择时不能兼顾两个不同大小,效果不好。

二.提出方法

对于以上限制有的人走向了优化anchor特征选择的道路,本文作者直接选择anchor-free(无锚)机制进行特征选择。

作者提出一种简单有效的单阶段目标检测模块FSAF,它可以插入具有金字塔结构的单阶段检测器。

该模型主要是让实例选择最合适的特征层次进而来优化网络,从而来解决以上问题。

FSAF模块的一般概念是在线特征选择,用于多级无锚分支的训练。具体地说,无锚分支连接到特征金字塔的每个级别,允许在任意级别以无锚方式进行box编码和解码。在训练过程中,动态地将每个实例分配到最合适的特征级别。

在引用时,FSAF模块可以独立工作,也可以与基于锚的分支联合工作。

FSAF模块如上图,在每层feature map 都会构建一个无锚分支,独立于基于锚的分支。与基于锚的分支结构类似,因此这种结构成本代价很小。实例可以分配给任意级别的无锚分支。在训练过程中,我们根据实例内容动态地为每个实例选择最适合的特征级别,而不是仅仅根据实例框的大小。

三.FSAF

1)如何在网络中创建无锚分支(2)如何为无锚分支生成监控信号  (3)如何为每个实例动态选择特征级别4)如何联合训练和测试无锚和基于锚的分支。

<1>网络结构

RetinaNet由一个骨干网(图中未显示)和两个特定于任务的子网组成。特征金字塔是由骨干网构建的,其级别从P3到P7,其中l(就是)是金字塔层次,Pl是输入图像的分辨率。为了简单起见,只显示了三个级别。金字塔的每一层都用来检测不同尺度的物体。为此,一个分类子网和一个回归子网(两个完全卷积的小网络)连接到每层feature map。分类子网预测A个anchor和K个类别的概率值。回归子网预测每个anchor到实例的偏移量。
在RetinaNet之上,FSAF模块只为每个金字塔级别引入两个额外的conv层,如图4中的虚线特征图所示。这两层分别负责无锚分支的分类和回归预测。更具体地说,在分类子网的feature map上附加一个3*3*K 的conv层,然后是sigmoid函数,与基于锚的分支的特征映射并行。它为K个类别预测概率。类似地,在回归子网的feature map上附加一个3*3*4的conv层,然后是ReLU函数。它负责预测box偏移量。为此,无锚分支和基于锚的分支以多任务样式共同工作,共享每个金字塔级别的功能。

<2>GroundTruth and Loss

已知一实例,类别数:k个,边界框:,在训练时,该实例可被放到任一层中。

定义b在Pl层上的映射为,比如Pl是输入图像的分辨率

同时定义有效区域和忽略区域作为的比例区域,其通过比例系数进行成比例的缩放。如下,本文分别设置为0.2及0.5.一个小车的groundtruth生成例子如下:

分类的输出:

由Figure 4,可以看到分类输出为K个maps,对k个类别。

白色区域为有效区域,正样本,通过这个区域判断实例是否存在。

灰色区域为忽略区域,该区域内的像素在进行网络的反向传播时不参与贡献,相邻区域也被忽略。

黑色区域为负样本,表示没有对象。

应用了Focal loss,anchor free分支的总损失是图像中所有非忽略区域的focal loss的和,同时通过有效区域内的像素个数来进行正则化处理。

如果同一层中有两个实例发生重叠,则小区域的优先级较高。

框回归的输出:

由Figure 4,可以看到狂回归输出为4个maps,对应四个偏移量。

对于有效区域内的每个像素,用一个四维向量表示映射框,分别代表该像素点到框的上,左,下,右的距离。该向量做了一个正则化处理,分别作用于四个offset maps中的每一个,其中,S根据经验设置为4.0,超出有效框的位置为忽略区域,该区域的梯度值被忽略。anchor-free回归分支的总损失为所有有效框区域IOU损失的平均值。

解码:

某个位置(i,j),预测偏移量为,则预测得到距离为

同时预测得到的映射框的左上角及右下角的位置为

最后通过进行缩放得到最终的预测框。

某个位置的分数及类别选取最大值。

<3>在线特征选择

由Figure 6,每层有效区域的loss为focal loss和IOU loss,即:

然后(arg min()取最小值时,未知量的值),然后进行反向回代,动态的调整选择的特征。

<4>联合training 及 inference:

没太看懂,待续。。。

<5>实验

COCO上的实验结果表明,我们的FSAF模块性能优于锚定模式,同时速度更快。当与基于锚的分支联合工作时,FSAF模块在各种设置下都能大幅度地改善RetinaNet,同时花费代价非常小。获得了44.6%的mAP,超过了当前存在的单阶段检测网络。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值