FCOS-Fully Convolutional One-Stage Object Detection

1、motivation

anchor-base的目标检测存在弊端:anchor超参设置困难、anchor计算量和资源需求大、anchor都是基于场景的,难以迁移、anchor密集采样正负样本更加不均衡。

2、methodology

整体思路:使用one-stage的FCN完成检测,每个点进行分类、距离回归和centerness回归。centerness应该是本文最出彩的idea。

backbone:FPN基本和RetinaNet一样,只有一个小区别:FCOS的P6 feature map由C5产生,RetinaNet是P5。

至于P6和P7为什么没有上采样融合,有位同学分析是《FPN结构在高层的语义特征进行融合效果并不好,所以构建FPN没有必要使用所有的卷积层。但为了尺度的多样性,在其后面加入了P6/P7》,但我更倾向于作者发现不融合的map更高...

head:两个分支,预测三组:分类 + centerness + 长宽距离回归。在后期的改今版本中,centerness放到了距离回归分支。猜测是centerness的定义和长宽距离更相关。

centerness:表示的是(x,y)距目标中心的标准化后的距离,为了制止过多的低质量离目标中心远的检测框而设计。可以帮助筛除低质量的预测,由于小目标的centerness较小,容易被过滤,可以用IOU代替。

目标分配:对FPN每层回归的bbox尺寸范围直接做出限制,不在尺寸范围内的目标不再回归,如果有目标重合,取小的目标,应该是大目标样本较多,小目标少,借此小目标增强。这个强制分配和FSAF的自动分配相反。优势是可以解决目标重叠问题,且对小目标友好。

label分配:GT bbox 内的点,都是正样本。可以改进为FSAF的中心为正,外部为负,之间为忽略;或centernet类似从中心向四周衰减。

loss:分类-focal loss;长宽距离回归IoU loss;centernet用BCE loss。

和FSAF比较:

1、目标在FPN层间的分配:FSAF是学习自动分配;FCOS是强制分配。

2、label分配:FSAF从内向外分为positive、ignore、negative;FCOS只要在GT BBOX内就为positive。

3、FCOS的centerness对回归结果评价好,可以有效去除低质量的预测框。推理阶段,检测框的排序分数=center-ness*分类置信度,可过滤大部分低质量预测框,剩余低质量框NMS后处理(centernet可以NMS-free是由于feature map只有一层,且有局部极值筛选+阈值后处理)。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容