3.Center-ness
通过多级预测之后发现FCOS和基于锚框的检测器之间仍然存在着一定的距离,主要原因是距离目标中心较远的位置产生很多低质量的预测边框。
在FCOS中提出了一种简单而有效的策略来抑制这些低质量的预测边界框,而且不引入任何超参数。具体来说,FCOS添加单层分支,与分类分支并行,以预测"Center-ness"位置。
center-ness(可以理解为一种具有度量作用的概念,在这里称之为"中心度"),中心度取值为0,1之间,使用交叉熵损失进行训练。并把损失加入前面提到的损失函数中。测试时,将预测的中心度与相应的分类分数相乘,计算最终得分(用于对检测到的边界框进行排序)。因此,中心度可以降低远离对象中心的边界框的权重。因此,这些低质量边界框很可能被最终的非最大抑制(NMS)过程滤除,从而显着提高了检测性能。
实验结果
1.召回率
在召回率方便表现接近目前最先进的基于锚框的检测器。
2. 有无Center-ness的结果对比
3.与先进的一阶、二阶检测器效果对比
与目前最主流的一些一阶、二阶检测器对比,在检测效率方面FCOS优于Faster R-CNN、YOLO、SSD这些经典算法。
开源代码
目前FCOS算法代码已经开源,
1https://github.com/tianzhi0549/FCOS
FCOS的实现基于Mask R-CNN,因此它的安装与原始的Mask R-CNN相同。安装的主要依赖如下:
- Pytorch 1.0
- torchvision
- cocoapi
- yacs
- matplotlib
- GCC >= 4.9
- OpenCV(可选)
安装方式有两种:
- 通过pip、conda、编译等一步一步安装
- 通过docker镜像安装