本文是对FCOS的小修小改,最终性能达到了50.4AP,堪称相当强劲了,大家在工程上能够参考其中的改良以及晋升办法
起源:晓飞的算法工程笔记 公众号
论文: FCOS: A Simple and Strong Anchor-freeObject Detector
- 论文地址:https://arxiv.org/abs/2006.09214
- 论文代码:https://github.com/aim-uofa/AdelaiDet
Introduction
论文由FCOS原团队从新批改后发表,作者管这篇为FCOS的扩大版本而不是FCOSv2,但为了好分辨,咱们就管他叫FCOSv2吧。FCOSv2的整体思维根本与FCOS统一,但性能杰出很多。比照FCOS,根底骨干ResNet-101-FPN上的性能从41.5AP晋升了43.2AP,而最高版本的性能则是达到了50.4AP。
本文次要探讨FCOSv2其中的一些改良与晋升办法,具体的其它实现可参考之前的FCOS文章。
FCOSv2
FCOS
FCOSv2在思想上与FCOS基本一致,在特色图的每个地位预测指标的类别、尺寸信息以及Center-ness,Center-ness用来示意以后地位与指标中心点的间隔,指标的最终分数由分类分数和Center-ness分数联合所得。尺寸信息跟以往的bbox回归办法不同,预测的是特色地位到指标的四个边界的间隔。
图2为FCOSv2中的骨干网络结构,骨干网络仍然采纳FPN,每层特色应用独特的head预测类别信息、尺寸信息以及Center-ness,具体的能够看看之前的文章。
Change
上面列举了一些FCOSv2绝对于FCOS的批改,因为论文没有与原版进行比照,所以不晓得各局部带来的收益具体是多少:
- 正样本点指定的批改,FCOS要求该特色点位于指标外部,以及该特色点到指标边界的间隔满足所处的FPN层的束缚,而FCOSv2则要求特色点位于指标的核心区域$(c_x-rs, c_y-rs, c_x + rs, c_y+rs)$,$s$为以后层的stride,$r=1.5$为超参数。
- 回归指标批改,FCOS的回归指标间接是特色点到指标边界的间隔,因为Head是共用的,所以在预测时为每个level预设一个可学习的scale因子,而FCOSv2则退出stride,变得更适应FPN的尺寸,可学习的scale因子仍然应用。
- center-ness预测的地位,FCOS的center-ness预测与分类预测放到了一起,而FCOSv2则将其与回归预测放到了一起。
- 回归损失函数批改,FCOS应用IoU损失进行回归的学习,而FCOSv2则采纳了GIoU损失进行回归的学习。
- 最终分数的计算,FCOS采纳分类分数以及center-ness之积,FCOSv2则采纳分类分数以及center-ness之积的平方根:
Improvement
为了取得更好的性能,除了更换更强的骨干网络外,论文还将FCOSv2进行了如下扩大:
- 应用BiFPN代替一般FPN,留神没有采纳深度拆散卷积,这部分能带来约2AP晋升。
- 测试阶段的数据加强,将图片顺次缩放至$[400,1200]$,每次步长为100,每个尺寸应用原图以及垂直翻转图片进行推理,这部分能带来约2.5AP晋升。
- 减少可变形卷积,别离替换骨干网络的第三和第四阶段的卷积,以及Head的两个分支的前四个卷积,这部分带来约1.5AP晋升。
Experiment
与SOTA办法比照。
推理性能比照。
Conclusion
本文是对FCOS的小修小改,最终性能达到了50.4AP,堪称相当强劲了,大家在工程上能够参考其中的改良以及晋升办法。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】