FCOS

参考1 参考2 参考3

Introduction:

以逐像素预测的方式解决目标检测问题,类似于语义分割。

  1. 检测器实现了proposal free和anchor free,显著的减少了设计参数的数目。设计参数通常需要启发式调整,并且设计许多技巧。另外,通过消除锚框,新探测器完全避免了复杂的IOU计算以及训练期间锚框和真实边框之间的匹配,并将总训练内存占用空间减少了2倍左右。
  2. FCOS可以作为二阶检测器的区域建议网络(RPN),其性能明显优于基于锚点的RPN算法。
  3. FCOS可以经过最小的修改便可扩展到其他的视觉任务,包括实例分割、关键点检测。
  4. FCOS算法凭借唯一的后处理:非极大值抑制(NMS),实现了优于以前基于锚框的one-stage检测算法的效果。

较多的重叠框造成了模糊,无法确定重叠区域应该对哪个框进行回归。本文证明通过FPN结构可以消除这种模糊。

FCOS利用GT边界框中的所有点来预测边界框,而低质量检测到的边界框被所提出的“center-ness”分支所抑制。因此,FCOS能够提供类似于锚定探测器的召回。

Method:

onestage检测
FCOS算法feature map中位置与原图对应的关系,如果feature map中位置为(x,y) ,映射到输入图像的位置是
大致为与(x,y)感受野中心的附近,其中 s 是步长stride。
位置回归公式:

基于anchor的方法是将输入图片的位置作为anchor的中心,并将边框进行回归,而FCOS直接对图片的每个位置进行目标边框的回归,直接在feature_map上的每一点进行回归操作。具体的实施思路如下所示:

  • 首先,我们可以将feature_map中的每一个点(x,y)映射回原始的输入图片中;
  • 然后,如果这个映射回原始输入的点在相应的GT的BB范围之内,而且类别标签对应,我们将其作为训练的正样本块。否则负样本,并且c=0(类标签为背景)
  • 接着,我们回归的目标是4D的向量(l,t,r,b),即中心点做BB的left、top、right和bottom之间的距离,也就是中心点到四个边的距离。

如果一个位置属于多个边界框,则它被认为是一个模糊的示例。我们只需选择具有最小面积的边界框作为其回归目标。
FCOS可以利用尽可能多的前景样本(框内为前景,框外为背景)来训练回归变量。
输出

  • 80D向量的分类标签 和 4D向量t=(l、t、r、b)边界框坐标。
  • 遵循Focal Loss for Dense Object Detection,本文的类别训练并不是基于多任务训练,而是训练C个binary(二元) 分类器
  • 我们分别在backbone的feature map后分别添加四个卷积层,用于分类和回归分支。
  • 通常,回归目标是positive,本文应用exp(x)在回归分支的顶部将任意实数映射到(0,OO)。

损失函数基于Focal Loss
与anchor-based算法的相似之处是FCOS算法训练的目标同样包括两个部分:位置和类别。
L({px,y},{tx,y})=1Npos ∑x,yLcls (px,y,cx,y∗)+λNpos ∑x,y1{cx,y>0}Lreg⁡(tx,y,tx,y∗)\begin{aligned} L\left(\left\{\boldsymbol{p}_{x, y}\right\},\left\{\boldsymbol{t}_{x, y}\right\}\right) &=\frac{1}{N_{\text { pos }}} \sum_{x, y} L_{\text { cls }}\left(\boldsymbol{p}_{x, y}, c_{x, y}^{*}\right) \\ &+\frac{\lambda}{N_{\text { pos }}} \sum_{x, y} \mathbb{1}_{\left\{c_{x, y}>0\right\}} L_{\operatorname{reg}}\left(\boldsymbol{t}_{x, y}, \boldsymbol{t}_{x, y}^{*}\right) \end{aligned} L({px,y​},{tx,y​})​=N pos ​1​x,y∑​L cls ​(px,y​,cx,y∗​)+N pos ​λ​x,y∑​1{cx,y​>0}​Lreg​(tx,y​,tx,y∗​)​
其中LclsL_{cls}Lcls​是类别损失(是focal loss), LregL_{reg}Lreg​是回归的损失(是 IOU loss),NposN_{pos}Npos​ 是正样本数量,λλλ是1,这个总和计算在特征图FiF_iFi​上的所有位置上进行的(Fi∈RH×W×CF_i∈R^{H×W×C}Fi​∈RH×W×C是主干CNN第i层的特征图),1(cx,y∗>0){1}_{(c^*_{x, y}>0)}1(cx,y∗​>0)​ 表示类别>0为1,否则是0。

推断
把照片输入网络,获取p,当px,y>0.05的看作是正样本,并翻转位置回归公式来获取预测的BB。

基于FPN进行多层次预测
最佳召回率(best possible recall,BPR),这里BPR被定义为detector最多能recall的gt数除以所有gt的比率。在训练期间,如果gt被分配给至少一个样本(即FCOS中的一个位置或锚基检测器中的锚盒),则认为该box被召回。
CNN中经过加大的stride得到的feature map可能会产生较低的最可能召回率(BPR)。对于基于anchor的方法,可以通过调整IoU的阈值来补偿较大stride导致的较低召回率,对于FCOS来说,由于较大stride后的feature map上没有位置编码信息,因此,FCOS得到的BPR可能会更低,然而,通过FCN仍可以得到较满意的BPR。因此,BPR对于FCOS来说并不是一个问题。此外,通过much-level FPN预测,BPR可以得到进一步的提高可以达到RetinaNet最好的高度。

首先计算回归目标的l,t,r,b,如果满足max(l*,t*,r*,b*)>mi或者max(l*,t*,r*,b*)<mi-1,认定为负样本,不进行回归。mi是feature level需要回归的最大距离。m2,m3,m4,m5,m6,m7分别设置为0,64,128,256,512及∞\infty∞。
将不同层的feature levels进行共享,不仅使参数有效,而且提高了检测性能。
观察到需要不同的feature level来回归不同的大小范围(例如,P3的大小范围为[0,64],P4的[64,128]),因此对不同的feature level使用相同的head是不合理的。因此,我们没有使用标准的exp(x),而是使用具有可训练标量si,基于exp(sixs_ixsi​x) 来自动调整feature levelPiP_iPi​。

Center-ness
发现在远离中心点会产生低质量的预测框。提出一个策略来抑制这些低质量的框,而不引入超参数。
我们add a single-layer branch和分类分支并行,
给定一个位置的回归目标l∗、t∗、r∗和b∗,sqrt来减缓centerness的衰减。

center-ness的取值范围为0至1,因此使用binary 交叉熵损失(BCE)进行训练
在测试时,最终的分数(用于对检测到的边界框进行排名)是通过将预测的centerness乘以相应的分类分数classification score 来计算的。
center-ness可以降低远离物体中心的边界框的分数,这些低质量的边界框很有可能会被最终的非最大抑制(NMS)过程过滤掉。
另一种centerness的方案是仅使用gt边界框的中心部分作为正样本,代价是有一个额外的超参数。

红色、蓝色和其他颜色分别表示1、0和它们之间的值。当位置偏离物体的中心时,从1衰减到0。当测试时,网络预测的中心度乘以分类分数,因此可以降低由远离对象中心的位置预测的低质量边界框的权重

训练细节
ResNet-50,使用与RetinaNet[15]相同的超参数,随机梯度下降(SGD)训练90K迭代,学习率设为0.01。在迭代60K和80K时,学习率分别降低了10倍。
在ImageNet[4]上预先训练的权值来初始化backbone。
输入图像被调整为较短的边为800,较长的边小于或等于1333。

推断细节
直接使用RetinaNet相同的后处理超参数。我们使用与训练中相同大小的输入图像。

FCOS CVPR2019相关推荐

  1. fcos:fully convolutional one-stage object detection

    mmdetection最小复刻版(六):FCOS深入可视化分析 - 知乎0 概要论文名称: FCOS: A simple and strong anchor-free object detector ...

  2. 全卷积目标检测:FCOS

    全卷积目标检测:FCOS FCOS: Fully Convolutional One-Stage Object Detection 原文链接:https://arxiv.org/abs/1904.01 ...

  3. 多目标跟踪:CVPR2019论文阅读

    多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...

  4. 快速人体姿态估计:CVPR2019论文阅读

    快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...

  5. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  6. 将视频插入视频:CVPR2019论文解析

    将视频插入视频:CVPR2019论文解析 Inserting Videos into Videos 论文链接: http://openaccess.thecvf.com/content_CVPR_20 ...

  7. 全景分割:CVPR2019论文解析

    全景分割:CVPR2019论文解析 Panoptic Segmentation 论文链接: http://openaccess.thecvf.com/content_CVPR_2019/papers/ ...

  8. CVPR2019论文看点:自学习Anchor原理

    CVPR2019论文看点:自学习Anchor原理 原论文链接:https://arxiv.org/pdf/1901.03278.pdf CVPR2019的一篇对anchor进行优化的论文,主要将原来需 ...

  9. CVPR2019论文解读:单眼提升2D检测到6D姿势和度量形状

    CVPR2019论文解读:单眼提升2D检测到6D姿势和度量形状 ROI-10D: Monocular Lifting of 2D Detection to 6D Pose and Metric Sha ...

最新文章

  1. 服务器邮箱群发,独立IP独立账号日发万封的邮件群发服务器
  2. Day03 javascript详解
  3. TYVJ P1062 合并傻子 Label:环状dp
  4. 服务器机房新风系统,某机房新风系统设计方案参考
  5. linux下无法删除文件夹,linux服务器下完美解决无法删除虚拟主机文件或文件夹...
  6. HTML5与CSS3权威指南.pdf7
  7. layui表格取消横向滚动条_layui表格固定表头统一处理方案
  8. 用MSAgent实现web托盘程序!
  9. 中科院阿里云联合发布11比特云接入超导量子计算服务
  10. (CentOS7)IP地址的配置与主机名和hosts映射
  11. react 组件 进阶之 ref (ts 版本)
  12. 【杜教BM模板】焦作网赛L
  13. 两年工作经验的后端开发的工作方法小结
  14. websocket 服务器外网访问
  15. C++ Reference: Standard C++ Library reference: C Library: cstdio: stdout
  16. SRE重案调查组 第三集 | 探秘HTTP异步请求的“潘多拉魔盒”
  17. iOS程序员眼中的首次使用产品体验
  18. 先科n612打不开但是充电还是会亮红灯
  19. 对测试驱动开发的一些理解
  20. 夸奖对方代码写的好_不仅会写代码,「得到」程序员还研发了一套“钢铁直男夸人公式”...

热门文章

  1. 面试题:Doctype作用!
  2. 【Web前端基础】实验2 列表的定义和应用
  3. npm 安装 webpack
  4. 京东慧采平台让企业享受消费端的购物既视感
  5. 风控模型中特征重要度的两种筛选方法
  6. 衡水商企联合会庆典 全国工商联·万祥军:商协社团谋定发展
  7. TCP/IP 协议体系结构模型
  8. nginx配置域名,不要端口
  9. 【智能物流】看老板电器如何打造智能仓储物流中心
  10. 自主AI能力加速企业智能化转型 | 爱分析报告