FCOSv2:原作的扩展版本,小修小改,性能高达50.4AP | IEEE T-PAMI 2020
本文是对FCOS的小修小改,最终性能达到了50.4AP,可谓相当强劲了,大家在工程上可以参考其中的改进以及提升方法
来源:晓飞的算法工程笔记 公众号
论文: FCOS: A Simple and Strong Anchor-freeObject Detector

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,可谓相当强劲了,大家在工程上可以参考其中的改进以及提升方法。
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

FCOSv2:原作的扩展版本,小修小改,性能高达50.4AP | IEEE T-PAMI 2020的更多相关文章
- Jaxb对xml报文头的小修小改
前言: 也是在实际工作中, 借助jaxb来实现xml到java对象的映射转换. 在实际应用中, 也遇到了一些有趣好玩的东西, 权当记录下来. 本文主要讲解jaxb如何生成约定的xml报文头的实现思路, ...
- 最近做了一个通达OA的大料:20170905最新版本破解可改单位名称,无限制安装
最近做了一个通达OA的大料:20170905最新版本破解可改单位名称,无限制安装 用户约七十家,总体不错,修改了两次注册授权文件,完美使用中 可联系麦枫http://www.mfsun.com管理员Q ...
- 测试与发布(Alpha版本)——小谷围驻广东某工业719电竞大队
测试与发布(Alpha版本)--小谷围驻广东某工业719电竞大队 一.引言 1.需求规格说明书: https://www.cnblogs.com/TaoTaoLV1/p/9819913.html 2. ...
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg
package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...
- ZanUI-WeApp -- 一个颜值高、好用、易扩展的微信小程序 UI 库
ZanUI-WeApp -- 一个颜值高.好用.易扩展的微信小程序 UI 库:https://cnodejs.org/topic/589d625a5c8036f7019e7a4a 微信小程序之官方UI ...
- 微信小程序性能优化技巧
摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...
- ZR.Admin小改和VUE3版本体验
前言 孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说:"对呀,对呀!......回字有四样写法,你知道么?" 大家好,我是44岁的大龄程序员码农阿峰.阿峰从事编程二十年 ...
- Kuhn-Munkres算法。带权二分图匹配模板 (bin神小改版本)
/****************************************************** 二分图最佳匹配 (kuhn munkras 算法 O(m*m*n)). 邻接矩阵形式 . ...
- 记录近期小改K-Means至MapReduce上的心得
背景: 在所有聚类算法中KMeans算是表面上最简单的一种,没有过多恼人的古希腊符号公式,没有过分繁杂的公式嵌套.对于一个初学矩阵或者仅有向量概念的非专业人士的来说,不可不畏是一把踹门利器.这个世界上 ...
- 干货 | 把Flutter扩展到微信小程序端的探索
Google Flutter是一个非常优秀的跨端框架,不仅可以运行在Android. iOS平台,而且可以支持Web和桌面应用.在国内小程序是非常重要的技术平台,我们也一直思考能否把Flutter扩展 ...
随机推荐
- 【Unity3D】UGUI之布局组件
1 概述 布局组件主要有:水平布局(HorizontalLayoutGroup).垂直布局(VerticalLayoutGroup).网格布局(GridLayoutGroup),用于约束子控件的布 ...
- 建立DNS隧道绕过校园网认证
建立DNS隧道绕过校园网认证 因为之前在本科的时候破解过校园网三次,主要就是利用其业务逻辑上的漏洞.53端口未过滤包.重放攻击的手段,然后就是一个博弈的过程,这三次加起来用了大概有一年的时间就被完全堵 ...
- 《系列一》-- 5、xml配置文件解析之[自定义]命名空间[标签]的解析
阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需要看官自己去源码中验证.全系列文章基于 spring 源码 5.x 版本. Spring源码阅读系列--全局目录.md ...
- 安装MySql失败( Microsoft Visual C++ 2013 Runtime 64bit)
参考资料:下载之家 提示你缺少什么版本就安装什么版本.64位或者32位. 文件下载地址:下载之家 不知道有没有失效,如果失效的话大家直接去下载之家搜索下载.
- 常用 Maven 插件介绍
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- mongo重启、远程连接
1.查看当前mongo启动进程 ps -ef | grep mongo 2.修改mongo启动远程连接配制文件 vi /etc/mongod.conf 将 bind_ip=127.0.0.1 这一行注 ...
- jenkins 上传文件参数
注意:文件参数不支持Jenkins流水线 文件上传以后会上传至 workspace 里对应的project下面,但是文件会被重命名为File location(设置路径)输入库的值, 如果在jenki ...
- koa-generator - koa 脚手架
koa-generator - koa 脚手架 npm install -g koa-generator 创建 koa2 /tmp/foo && cd /tmp/foo 资料: 基于N ...
- pollute 污染 pol=por=pro 向前 lut=释放 结合ps软件里面lut概念记忆
pollute 污染 pol = por = pro = 向前 lut = 释放 (ps里面有lut的概念) e 动词 向前释放 -> 污染 弄脏 简单记忆 poll / ute poll - ...
- C#中的MySqlHelper工具类及使用方法
工具类 工具类转自C# MysqlHelper C#连接mysql数据库类库全,代码如下: using MySql.Data.MySqlClient; using System; using Syst ...