FCOS: Fully Convolutional One-Stage Object Detection
一. 论文简介
Anchor-Free文章
主要做的贡献如下(可能之前有人已提出):
- FPN分阶段回归
- Center-ness Loss
二. 模块详解
2.1 论文思路简介
论文整体比较简单,直接从头读到尾没有什么障碍,好像Anchor-free的文章都比较简单。下面直接以模块介绍。
文章中 \(l^*、b^*、r^*、t^*\) 表示label,\(l、b、r、t\) 表示predict

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}\) 形式进行分配。

最后文章发现一个问题,NMS时候出现很多和最终目标接近的框,我们希望的是:负样本和正样本区分明显,而不是很多接近正样本的框(比如分类,虽然可以正确分类,但是出现很多 \(conf=0.45\) 的目标,我们希望出现\(conf_{pos}=0.99,conf_{neg}=0.11\))。
文章通过设置 \(center\) 进行控制,对于那些中心偏离的目标进行抑制。我们不仅仅要IOU好,也要center好。文章通过新建一个新的分支进行center-ness进行回归。

三. 参考文献
- 原始论文
- FCOS改进