FCOS: Fully Convolutional One-Stage Object Detection 一. 论文简介 二. 模块详解 三. 参考文献

FCOS: Fully Convolutional One-Stage Object Detection

Anchor-Free文章

主要做的贡献如下(可能之前有人已提出):

  1. FPN分阶段回归
  2. Center-ness Loss

二. 模块详解

2.1 论文思路简介

论文整体比较简单,直接从头读到尾没有什么障碍,好像Anchor-free的文章都比较简单。下面直接以模块介绍。

文章中 (l^*、b^*、r^*、t^*) 表示label,(l、b、r、t) 表示predict

FCOS: Fully Convolutional One-Stage Object Detection
一. 论文简介
二. 模块详解
三. 参考文献

2.2 具体实现

2.2.1 回归形式

文章直接回归 (l、r、b、t、c) 其中 (c) 表示种类,前面四个在上图中有表示。

回归采用正负样本形式:

  • (feature map) 表示回归的特征图(以 (M) 表示)
  • (M_{i,j}) 表示 ((i,j)) 个点的特征值
  • (M_{i,j}) 映射到原图,假设当前特征图的总步长是 (S) (和原图比例),则原图点(P_{i,j} =(frac{S}{2}+M{i}*S,frac{S}{2}+M{j}*S))
  • (P_{i,j}) 落入哪个label区域,就负责回归哪个label,算作正样本。落到外部则算作负样本。
  • 如果落在重复区域,按照上图的形式(哪个面积小,就负责哪个label)

文章采用FPN结构,用于提高召回率和精确度。参考Anchor-based(不同尺度的Anchor负责不同大小的目标),文章对不同的层进行限制目标大小:其中(M_{1}、M_{2}、...M_{6} = 0、64、128、256、 512),按照 (M_{i}<(l^*、b^*、r^*、t^*)<M_{i-1}) 形式进行分配。

FCOS: Fully Convolutional One-Stage Object Detection
一. 论文简介
二. 模块详解
三. 参考文献

最后文章发现一个问题,NMS时候出现很多和最终目标接近的框,我们希望的是:负样本和正样本区分明显,而不是很多接近正样本的框(比如分类,虽然可以正确分类,但是出现很多 (conf=0.45) 的目标,我们希望出现(conf_{pos}=0.99,conf_{neg}=0.11))。

文章通过设置 (center) 进行控制,对于那些中心偏离的目标进行抑制。我们不仅仅要IOU好,也要center好。文章通过新建一个新的分支进行center-ness进行回归。

FCOS: Fully Convolutional One-Stage Object Detection
一. 论文简介
二. 模块详解
三. 参考文献

三. 参考文献