@InProceedings{
author = {Chenchen Zhu, Yihui He, Marios Savvides},
title = {Feature Selective Anchor-Free Module for Single-Shot Object Detection},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2019}
}
Problem
- 基于深度学习的目标检测网络FPN使用了多个feature map来检测目标。深层特征语义信息丰富,适合大目标的检测。浅层特征的细节信息保存较好,适合检测小目标。FPN根据ground true的面积大小,按照l0 = l0 + log2(wh/224)来决定负责预测该ground true所使用的feature map。作者认为这种分配策略是启发式的,不能保证为GT指派最合适的feature map。
- 目前的目标检测网络大多采用anchor机制,即先定义许多先验边框作为初始值,再在此基础上进行优化得到最终结果。Anchor 将所有可能的实例框的连续空间离散化为一些预定义尺寸,及宽高比的有限数量的框,虽然降低了优化难度,但缩小了网络的参数分布的空间。
Solution
作者希望每个instance能根据语义信息来选择feature map,不受anchor的约束。因此,提出anchor-free branch给出量化的标准,将GT指派给更合适的特征层。
先用anchor-free方法在特征图上大概检测一下,看看哪层效果好(损失函数最小),就将instance交给那层特征对应的anchor-based来处理。anchor-free branch预测是基于特征点的,不用anchor。
Feature Selective仅发生训练阶段,inference时所有的anchor based/free branch均做预测,对于anchor-free分支,通过设定阈值0.05来解码每层前1k个位置的box预测,再与anchor based一起NMS(阈值为0.5)。
effective box中像素的感受野尺寸和原图中的instance更接近。ignoring区域对应的语义特征,包括了部分的目标和部分的背景,所以直接用来做分类和回归效果比较差,所以忽略。这样能提高BP的效率。
anchor-based branch与anchor-free branch是联合训练的。损失函数如下
L = Lab +λ(Laf cls+Laf reg) , λ=0.5 (results are robust to the exact value)
实验结论
- online feature selection的选择结果与FPN的策略相似,越大的instance指派给越深的feature map,但是具体的特征层数确实存在差异。
- anchor-based branches没有充分利用backbone networks提取的特征。
Contribution
提出了Online feature selection方法,改善了基于anchor机制和feature pyramids的single-shot检测器的两个潜在问题。FSAF在COCO数据集上达到了state-of-art,mAP为44.6%,超过了所有single-shot检测器。同时额外的计算量很小。
Question
Anchor-free branch计算loss时effecion region和ignoring region的划分比例是手动设计,不知如何得到。