Feature Selective Anchor-Free Module for Single-Shot Object Detection

本文提出了一种anchor-free的物体检测策略,其在设计思路上和FCOS网络很相似,只是在实现细节上有所不同,阅读论文的时候就能感觉出来。此外,论文中还介绍了自动选择特征模块,其实就是对比不同level下预测得到的损失,选择损失最小的level进行优化,这样每次在优化的过程中都是优化的“底线”,实验证明文章中提出的anchor-free策略具有不错的预测效果。本文重点为自动选择特征,anchor-free只是其实现方式。

  1. 如何为网络创建anchor-free模块
    FSAF模块理论上可以应用到任何物体检测框架中。文章主要介绍了如何将FSAF模块插入到RetinaNet中,如下图所示:

    上图中,使用特征金字塔提取特征,然后在每个level上进行类别预测与框回归。RetinaNet中,feature map中每个点预测A个anchor,每个anchor对应K个分类,所以得到的分类向量为(W,H,AK);回归向量为(W,H,4A)。
    对于FSAF模块,对每个level的feature map,使用(3 × 3×K)和(3×3×4)的卷积核进行卷积,得到(W×H×K)和(W×H×4)两个向量,分别对应对应feature map中每个点的分类与4个回归向量。

  2. 如何为anchor-free branch制作label
    对与每一个instance:b,映射到特征金字塔l层上为b(p,l),同时文章中定义b(e)=0.2b(p,l),b(i)=0.5b(p,l)。b(e),b(i)分别表示映射框的有效区域和无效区域。如下图所示:

    对于classification的输出(W,H,K),对应这个instance类别的mask使用如下方法打标:

    (1)有效区域(上图中白色)使用1填充,为positive sample
    (2)无效区域(上图中灰色)直接忽视,不参与反向传播
    (3)不同层级之间的无效区域也相互影响(不理解)
    (4)灰色区域以外的直接填充0,为negative sample

    对于区域的坐标回归,首先坐标区域是类不可知的,也就是只负责回归类坐标,但是不知道具体的是什么类。对于有效区域中每个点,预测四个向量,四个向量分别代表,feature map中每个点距离instance在本feature map的投影框的上,左,下,右四个框的距离。如下图所示:

在测试阶段,直接使用每个feature map每个点预测的四个点得到预测框的上左坐标,下右坐标,然后映射到原图中得到最后的预测框。

  1. 如何动态的为实例选择特征级别
    我们希望使用每个instance对应的最佳feature level来进行预测,对比以前将instance映射到固定level的方式,本文采用动态映射的方式,这种方式通过每次选择最低的loss来进行优化。首先,对于一个instance的loss,其由两部分组成:分类损失和回归损失,对于分类损失采用Focal Loss,对于回归损失使用IOU loss。计算每一层对于这个instance的损失,然后选择最小的一层进行反向传播,公式如下所示:
  1. anchor-based和anchor-free如何一同训练
    FSAF模块可以和anchor-based模块一同训练,如(1)中所示那样,实验证明确实可以得到不错的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值