一、简介
FCOS提出了一种Anchor Free的detector head,在保证精度的同时降低了计算量,同时也减少了对Anchor超参的依赖。
Anchor Based的缺点
- 检测效果易受Anchor大小、比例、数目的影响。
- 难以处理形状变化较大的待检测对象。
- 为了提高召回率,Anchor based的模型通常会设置大量anchor box,在训练过程中大部分anchor box都是负样本,会加重训练过程中的正负样本不均衡问题。
- 引入了复杂计算,如IoU
主要思想
FCOS采用了的基于点的box回归预测,如Fig.1左所示,对feature map上的所有点所属的框进行预测,每个点预测4个量,到左边的距离(l),到上边的距离(t),到右边的距离(r),到下边的距离(b)。其实这种方法并不新鲜,但存在对于box重叠区域存在歧义,及如图Fig.1右所示,无法缺点这个点应该回归橙色框还是蓝色框,FCOS采用FPN的方法大大消除了这种歧义性。在远离box中心点的位置会产生许多低质量的预测框,为了降低这些低质量的预测框,FCOS引入了一个“center-ness”的分支来预测点到它所属box中心的距离,这个结果会降低低质量预测框的权重,并在NMS时融合过滤。
二、方法
1、基于点的框回归预测
FCOS将每个位置作为训练样本。具体来说,对于落在任意ground truth box的位置(x,y),都被视为正样本,并根据box的标签设置class label,否则的话视为负样本,class label设为0。除此之外,每个位置还有一个4D vector作为回归目标,分别代表该位置到左、上、右、下边界的距离。对于落在多个ground truth box中的歧义位置,FCOS简单的采用面积小的box作为回归目标。
由于使用每个位置作为训练样本,相比只用与ground truth box IoU大的Anchor box作为样本的Anchor based的方法,FCOS在训练回归器时,对前景样本的利用更加的充分。
2、使用FPN进行多尺度预测
使用FPN解决了两个问题:
- 在深层feature map上做预测best possible recall(BPR)较低的问题
- 多个ground truth box重叠的情况。
FCOS限制了每层FPN回归目标的尺度,如果或者则这个位置被认为负样本,不进行box回归。
通常FPN的detector是参数共享,但FCOS在不同尺度进行回归的范围是不同的,所以FCOS在不同level进行回归时又引入了一个可学习的系数。
3、Center-ness
由于在远离目标中心 的位置会产生许多低质量的预测框,FCOS引入了center-ness分支来压缩这些低质量的预测框。如图Fig.2所示,center-ness branch 与classification branch并行。
center-ness分支用来预测每个位置到目标中心的距离,如图Fig.3。在预测阶段,classification score 会乘上center-ness的输出,从而降低远离目标中心预测框的影响。center-ness target定义如下
三、实验
Center-ness 消融实验
有意思的时,把center-ness合并到regression里(第二行)没有任何提升。