IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> FCOS CVPR2019 -> 正文阅读

[人工智能]FCOS CVPR2019

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 ( { p x , y } , { t x , y } ) = 1 N ?pos? ∑ x , y L ?cls? ( p x , y , c x , y ? ) + λ N ?pos? ∑ x , y 1 { c x , y > 0 } L reg ? ( t x , y , t x , 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??)?
其中 L c l s L_{cls} Lcls?是类别损失(是focal loss), L r e g L_{reg} Lreg?是回归的损失(是 IOU loss), N p o s N_{pos} Npos? 是正样本数量, λ λ λ是1,这个总和计算在特征图 F i F_i Fi?上的所有位置上进行的( F i ∈ R H × W × C F_i∈R^{H×W×C} Fi?RH×W×C是主干CNN第i层的特征图), 1 ( c x , 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( s i x s_ix si?x) 来自动调整feature level P i P_i Pi?

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相同的后处理超参数。我们使用与训练中相同大小的输入图像。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:13:20  更:2022-03-03 16:19:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:30:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码