Anchor free Detector:FCOS

【FCOS】FCOS理论知识讲解 文章目录1 FCOS是什么1.1 核心思想1.2 Anchor-Based缺点1.3 FCOS优点2 FCOS 网络结构介绍2.1 FCOS 初始版本2.2 FCOS 分支改进版本3 正样本、负样本、模糊样本的定义4 特征图上的点映射回原图5 锚点回归目标值6 模糊样本的处理7 Center-ness分支8 后续改进8.1 center sampling8.2 centerness 分支的 centerness计算8.3 regression分支的loss8.4 bbox loss weight8.5 n 阅读详情

文章链接:FCOS: Fully Convolutional One-Stage Object Detection

github地址:https://github.com/tianzhi0549/FCOS

1.网络整体介绍

本文提出了一种全卷积one-stage目标检测算法(FCOS),以逐像素预测的方式解决目标检测问题,类似于语义分割。目前最流行的不论是one-stage目标检测算法,如RetinaNet,SSD,YOLOv3,还是two-stage目标检测算法,如Faster R-CNN。这两类算法大都依赖于预定义的锚框(anchor boxes)。相比之下,本文提出的目标检测算法FCOS不需要锚框。通过消除预定义的锚框,FCOS避免了与锚框相关的复杂计算,例如在训练期间计算重叠等,并且显著减少了训练内存。更重要的是,FCOS还避免了设定与锚框相关的所有超参数,这些参数通常对最终检测性能非常敏感。FCOS算法凭借唯一的后处理:非极大值抑制(NMS),实现了优于以前基于锚框的one-stage检测算法的效果。

其实最著名的无anchor的目标检测网络是YOLOv1算法,YOLOv1算法纯粹是为了告诉大家,回归网络也可以进行目标检测,该网络由于其召回率过低而使其并无太多实用价值,因此YOLO作者在其基础上提出了基于anchor的YOLOv2算法。而本文提出的FCOS算法相当于保留了无anchor机制,并且引入了逐像素回归预测,多尺度特征以及center-ness三种策略,主要流程框架如下图所示,最终实现了在无anchor的情况下效果能够比肩各类主流基于anchor的目标检测算法。

2.逐像素回归预测

YOLOv1中也使用了无anchor策略,但基于YOLOv1在预测边界框的过程中,提出的cell概念,导致YOLOv1只预测了目标物体中心点附近的点的边界框。这很显然预测的框少,召回率自然也就低了。基于此,本文提出的FCOS算法为了提升召回率,则对目标物体框中的所有点都进行边界框预测。当然这种逐像素的边界框预测肯定会导致最终预测得到的边界框质量不高,因此作者在后续还会提出弥补策略。
FCOS目标检测算法在边界框预测中使用的策略和YOLOv1有所不同,本文提出的预测策略如下:

如上两张图所示,FCOS算法在对目标物体框中所有的点进行目标框回归时,是用的距离各个边的长度的(left,top,right,bottom)。之所以使用这种策略,而不使用主流目标检测算法的策略,其主要原因是为了后续使用center-ness做准备的。

由于FCOS算法是基于目标物体框中的点进行逐像素回归的,因此执行回归的目标都是正样本,所以作者使用了exp()函数将回归目标进行拉伸,我个人认为此操作是为了最终的特征空间更大,辨识度更强。

最后,逐像素回归预测除了能够带来更多的框以外,更重要的是利用了尽可能多的前景样本来训练回归器,而传统的基于anchor的检测器,只考虑具有足够高的IOU的anchor box作为正样本。作者认为,这可能是FCOS优于基于anchor的同类检测器的原因之一。

3. 多尺度策略

对于基于anchor的检测算法,由于较大的降采样操作而导致的低召回率可以通过降低正anchor所需的IOU阈值做一定程度上的补偿,进行召回率的提升。然而对于FCOS算法,如果降采样的尺度过大,那么网络不可能回忆起一个在最终特征图上没有位置编码的对象的初始框的,基于此作者提出了基于FPN的多尺度策略。(虽然作者在文中说,即使没有FPN策略,逐像素检测网络在召回率上表现的也不逊色基于anchor的网络。)

如上图所示,FCOS算法那使用了{P3, P4, P5, P6, P7}这五个尺度的特征映射。其中P3、P4、P5由主干CNNs网络的特征层 C3、C4、C5经过一个1*1的卷积得到的,而,P6、P7则是接着P5进行了步长为2的卷积操作得到的(相当于降采样,看注解)。最终对这五个尺度都做逐像素回归。
当然,本文为了能够更好的利用这种多尺度特征,在每一个尺度的特征层都限定了边界框回归的范围,不让其野蛮生长。(基于anchor的检测网络也有类似策略,比如YOLOv3中将不同大小的anchor分配到不同特征层级中作回归)更具体地说,作者首先计算所有特征层上每个位置的回归目标

第一:计算当前层级中的回归目标:l、t、r、b。
第二:判断max(l, t, r, b) > mi 或者 max(l, t, r, b) < mi -1是否满足。
第三:若满足,则不对此边界框进行回归预测。
第四:mi是作为当前尺度特征层的最大回归距离。

而且这种约束带来的额外的效果在于,由于不同尺寸的物体被分配到不同的特征层进行回归,又由于大部分重叠发生在尺寸相差较大的物体之间,因此多尺度预测可以在很大程度上缓解目标框重叠情况下的预测性能。

Note: 由于作者认为,不同的特征层需要回归不同的尺寸范围(例如,P3的尺寸范围为[0,64],P4的尺寸范围为[64,128],因此在不同的特征层使用相同的输出激活是不合理的。因此,作者没有使用标准的exp(x)函数,而是使用exp(si,x)其中si是一个可训练的标量si,能够通过si来自动调整不同层级特征的指数函数的基数,这从经验上提高了检测性能。

4.center-ness

由于FCOS算法使用了逐像素回归策略,在提升召回率的同时,会产生许多低质量的中心点偏移较多的预测边界框。基于此,作者提出了一个简单而有效的策略center-ness来抑制这些低质量检测到的边界框,且该策略不引入任何超参数。

在这里插入图片描述

如上图所示,center-ness策略在每一个层级预测中添加了一个分支,该分支与分类并行,相当于给网络添加了一个损失,而该损失保证了预测的边界框尽可能的靠近中心。该损失的公式如下,其中l,r,t,b表示的为如下图左图中所示的预测值。
在这里插入图片描述
红色、蓝色和其他颜色分别表示1,0和它们之间的值。center-ness由上式计算,当位置偏离物体中心时,中心度从1衰减到0。在测试时,将网络预测的中心度与分类分数相乘,这样就可以降低远离物体中心位置预测的低质量边界框的权重。
在这里插入图片描述
而该策略之所以能够有效,主要是在训练的过程中我们会约束上述公式中的值,使得其接近于0,这就导致如下图右图中的蓝色框中的短边能够向黄边靠近,使得分布在目标位置边缘的低质量框能够尽可能的靠近中心。这样的话,在最终使用该网络的过程中,非极大值抑制(NMS)就可以滤除这些低质量的边界框,提高检测性能。

5.网络效果

FCOS与其他最先进的two-stage或one-stage目标检测算法的比较。在相同主干网络的情况下,FCOS的性能比基于anchor的RetinaNet高出1.9%。FCOS的性能也优于最近推出的无anchor的one-stage检测网络CornerNet,且设计复杂度大大降低。
在这里插入图片描述
原文地址:https://blog.youkuaiyun.com/qiu931110/article/details/89073244

目标检测: 一文读懂 FCOS (CVPR 2019) 论文:FCOS: Fully Convolutional One-Stage Object Detection 代码:https://github.com/tianzhi0549/FCOS 1 前言 现在主流的目标检测网络如 RetinaNet, SSD, YOLOv3 和 Faster R-CNN 都是基于anchor-based,存在如下缺点: (1) 检测性能对 anchor boxes的数量和宽高比(aspect ratio)敏感; (2) 由于anchor boxes 的宽高比是固定的,难以处理尺 阅读详情

相关推荐

目标检测模型FCOS代码详细解析

train_net.py文件中 定义了main()函数,定义了train()函数,定义了test()函数在main()函数中对传入的参数进行解析,对分布式训练进行判断。再判断是进行测试还是训练。如果是测试,则进入tain()函数。main()函数中通过语句实现train()函数的调用。model = train(cfg, args.local_rank, args.distributed)train()函数中首先使用**model = build_detection_model(cfg),**这句话是调用b

weixin_43238909的博客 1954

FCOS长文详解

FCOS是一种one-stage、全卷积(Fully Convolutional)结构的目标检测模型,发表于2019年ICCV。什么是one-stage?作者的源码有些复杂,我找了一个简单的版本,作为本文的详解代码。FCOS不同于在此之前热门的anchor based方法(比如R-CNN系列),没有设置anchor boxes来作为目标的候选区域,而是使用全卷积网络,结合FPN,直接拿去做检测,实现了anchor free,并达到了当时的state-of-art。

a1367666195的博客 3843

深度学习05 - 一阶全卷积目标检测实例(FCOS)

Fully-Convolutional One-Stage Object Detection 参考:EECS 498-007/598-005 Assignment 4-1: One-Stage Object Detector论文地址v1论文v2 不同于使用Anchor去确定目标,FCOS是使用全卷积网络通过确定特征图上的每个位置来预测该点距离目标的距离(左上右下 LTRB),如下图:该流程与第一版的网络的不同点在于最后将regression 和centre-ness分支放在一起。该文中使用的是第二版的网络

weixin_43399179的博客 1216

FCOS要点解析

FCOS是Fully Convlutional One-Stage的缩写。最初版论文在2019年提出,2020年做了修改。正如它的名字,这是一个在目标检测领域重要的模型

上个大学哪有不疯的?硬撑罢了! 3561

anchor free 目标检测_Anchor Free的目标检测方法--FCOS

前 言全卷积的 one-stage目标检测器(FCOS),对每个像素进行预测的方式来解决目标检测问题,类似于语义分割。FCOS 不需要 anchor box,同时也不需要 proposals,由于消除了对预定义 anchor 的依赖,因此避免了与 anchor box相关的复杂计算,同时还避免了与 anchor相关的所有超参数,例如:尺寸、宽高比、数量等,通常这些参数对最终检测性能非常敏感。FC...

weixin_39852491的博客 304

Anchor-free Object Detector综述(不定时更新)

DenseBox (2015) (https://arxiv.org/abs/1509.04874) densebox最早提出来是用来检测人脸的, 其有两个主要贡献, 第一是提出使用一个完整的FCN来预测box而不需要预先的proposal, 而且是end2end的训练过程; 第二是提出了用目标上已有的关键点信息来辅助box的定位. 为了节省训练时间, densebox没有直接把一整张图片都丢进...

Matthew技术小站 5035

Anchor-Free系列之FCOS:A Simple and Strong Anchor-free Object Detector

开源代码:https://github.com/tianzhi0549/FCOS Anchor-based目标检测算法的缺点: anchor的大小、宽高比以及anchor的数量这些超参数对算法性能影响较大,在使用anchor box的时候,涉及的超参数如下: anchor的大小 anchor的宽高比 anchor的数量 anchor box与ground truth的IoU阈值,用来确定anchor是否为positive anchor box与ground truth的IoU阈值,

胖胖大海的博客 2498

FCOS检测算法训练模型

FCOS检测算法在VOC数据集上的训练模型,直接下载可进行inference。配合代码https://github.com/leviome/fcos_pure 使用。具体教程看README.

FCOS: A Simple and Strong Anchor-free Object Detector

一.anchor-base缺点          1.anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大. 2.anchor太过密集,其中很多是负样本,引入了不平衡. 3.anchor的计算涉及IOU增加计算复杂度. 二.回归方式 anchor-based回归方式在于回归anchor与gt框之间的偏移量,而fcos回归的是上下左右距离. ...

智障变智能 1458

通过FlinkCDC将MySQL中变更的数据写入到kafka(DataStream方式)

文章目录前言一、CDC的种类?二、通过FlinkCDC将数据从MySQL导入到Kafka1.核心代码2.工具类3.可能会出现的错误及解决解决: 前言 CDC的Change Data Capture(变更数据捕获)的缩写 FlinkCDC的核心思想是监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。 一、CDC的种类? CDC 主要分为基于查询和基于 Binlog 两种方式,简述两者的区别:

不会打球的摄影师不是好程序员 9622

使用3sigma原则去除数据表中的极端值

本文使用3sigma解决数据表中出现的极端值问题,其中包括基本原理、使用原则(检验方法)、代码展示这3个部分

qq_51397866的博客 4380

阅读笔记——FCOS:A Simple and Strong Anchor-free Object Detector

概述 在目标检测领域,早期已经发展出非常多的 anchor based 检测方法,包括 FasterRCNN、RetinaNet、SSD、YOLO v3 等,但是 这类 anchor based 方法,存在一些比较显著的问题: anchor 的大小、宽高比、以及数目都对检测性能有很大有影响; 尽管可以针对数据集对 anchor 做精心设计,但是小目标检测效果仍然不够好,而且这也大大降低了泛化性能; 为了检测精度,需要布置大量的 anchor,而其中绝大部分是负样本,造成了正负样本不均衡; anchor b

哇哇的博客 1304

Ansys Zemax实战:5步搞定衍射光学元件(DOE)设计,附赠超透镜(metalens)避坑指南

本文详细介绍了使用Ansys Zemax进行衍射光学元件(DOE)和超透镜(metalens)设计的5步实战流程。从基础光学系统搭建到相位面设计验证,再到制造准备与实测对比,全面解析了OpticStudio中的关键技巧和常见避坑指南,帮助工程师高效完成复杂光学元件设计。

orange的博客 619

论文翻译 | FCOSv2:《FCOS: A Simple and Strong Anchor-free Object Detector》

目标检测是计算机视觉中最重要的任务之一,它为一些实例级的识别任务和许多下游的应用打下了基础。近年来,单阶段目标检测方法由于设计简单、性能优越,比双阶段目标检测方法受到更广泛的关注。在此,我们提出了一个全卷积的单阶段目标检测器(FCOS),**以逐像素预测的方式解决目标检测问题,类似于语义分割这样的密集预测问题。**几乎所有的state-of-the-art目标检测器,如RetinaNet、SSD、YOLOv3和Faster R-CNN,都依赖于预定义的锚点框。相比之下,我们提出的检测器**FCOS是anch

qq_44866009的博客 2164

ansys命令流力磁耦合仿真

文章目录前言一、力磁耦合仿真流程二、静力学仿真三、力磁耦合模型构建四、静磁学仿真总结 前言 一、力磁耦合仿真流程 力磁耦合有限元仿真流程中,首先进行静力学仿真,经过前处理模块、分析计算模块和后处理模块提取三维模型单元应力,然后根据力磁耦合方程中,通过matlab将单元应力导入到磁导率与应力的关系式中,得到单元的相对磁导率。最后采用载荷传递耦合方式,进行静磁学模拟仿真,分析计算得到该载荷下试件的磁场分布。,如下图所示为力磁耦合仿真流程图: 二、静力学仿真 下图为中心预制条形缺陷的Q235钢板试..

wsfwsf128的博客 2662

基于紫光展锐平台的音频调用到hal层逻辑

基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA

weixin_55053963的博客 1355

【论文解析】基于Anchor-free的一阶段经典目标检测算法FCOS

作者提出了一种基于anchor-free的one-stage全卷积目标检测网络FCOS,以逐像素预测的方式解决对象检测,类似于其他密集预测问题,如语义分割。与我们常见的基于anchor-based的目标检测网络RetinaNet、SSD、YOLOv3和Faster R-CNN等架构相比,FCOS模型消除了预先设定的锚框(anchor box),也就避免了与锚盒相关的复杂计算(设定的超参数,训练过程中IOU的计算)。

weixin_43937010的博客 2213

C++面向对象编程-继承与派生练习题

2、共同派生类 3、人员类Person的派生(虚基类的使用)

编程小鹏的博客 1191

[纯理论] FCOS

FCOS理论讲解

Le0v1n 的博客 1442

[系统安全] 三十二.恶意代码检测(2)常用技术详解及总结

前文从产业界和学术界分别详细讲解恶意代码攻击溯源的相关知识,在学术界方面,用类似于综述来介绍攻击追踪溯源的不同方法;在产业界方面,主要参考李东宏老师从企业恶意样本分析的角度介绍溯源工作。这篇文章将详细总结恶意代码检测技术,包括恶意代码检测的对象和策略、特征值检测技术、校验和检测技术、启发式扫描技术、虚拟机检测技术和主动防御技术。希望这篇文章对您有所帮助,如果文章中存在错误、理解不到位或侵权的地方,还请告知作者与海涵。且看且珍惜,加油~

杨秀璋的专栏 1万+

C++怎么学?零基础也可以,一份完整学习路线图助你搞定!

提供一条清晰、系统且实践导向的C++学习路径。从基础语法、面向对象、泛型编程、异常处理,逐步深入STL、智能指针、并发编程等现代C++高级特性。无论是新手还是希望提升,通过系统学习与项目实践,助您将理论知识转化为实际解决问题的能力。

Lion_Long的博客 4024

anchor free 目标检测_FCOS : anchor-free的one-stage目标检测也可以很准 | ICCV 2019

论文提出anchor-free和proposal-free的one-stage的目标检测算法FCOS,不再需要anchor相关的的超参数,在目前流行的逐像素(per-pixel)预测方法上进行目标检测,根据实验结果来看,FCOS能够与主流的检测算法相比较,达到SOTA,为后面的大热的anchor-free方法提供了很好的参考   来源:【晓飞的算法工程笔记】 公众号论文: FCOS: Fully ...

weixin_36338808的博客 200

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文献翻译3:FCOSR: A Simple Anchor-free Rotated Detector for Aerial Object Detection

本文旨在提出一种简单且易于部署的遥感图像检测算法。本文作者提出了一种基于FCOS的one-stage的anchor-free算法FCOSR。FCOSR是简单的全卷积结构。本文的重点工作在于训练阶段的标签分配策略。本文中使用了一种椭圆中心采样方法为OBB定义一个合适的正样本区域。针对目标重叠问题则提出了一种模糊样本分配策略。针对采样不足问题则设计了一种多级采样模块。结合上述的三种方案为训练分配更合适的样本。

qq_37444533的博客 1436

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

《FCOS:Fully Convolutional One-Stage Object Detection》论文笔记

代码地址:FCOS 1. 概述 导读:这篇文章使用类似语义分割的方法提出了一个全卷积一阶段检测器(FCOS),该检测器是anchor-free的,因而就避免了那些经典anchor检测器需要的复杂计算与内存资源(IoU计算)以及对应的参数,最后的检测结果只需要经过NMS即可输出检测结果。该网络结构通过每个前景像素上在预测一个4维的向量(l,t,r,b)(l,t,r,b)(l,t,r,b)来确定检测...

m_buddy的博客 993

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

FCOSR: A Simple Anchor-free Rotated Detector for Aerial Object Detection阅读笔记

(一) Title 论文地址:https://arxiv.org/abs/2111.10780 项目地址:https://github.com/lzh420202/FCOSR (二) Summary 研究背景: 现有的基于anchor-based方法的旋转框检测算法需要手动设置预设框,引入了额外的超参数和计算。基于anchor-free的方法通常具有复杂的体系结构,不容易部署。 本文方法: 本文提出了一个一阶段的带有角度旋转的检测框架FCOSR,一看就是基于FCOS架构,并且将二维高斯分布也引入进来

风行 6207

[目标检测]--CVPR2020-ATSS:Bridging the Gap Between Anchor-based and Anchor-free Detection

论文详细解释了anchor-free与anchor-based的本质区别,此外,使用ATSS去尝试解决label assignment的问题 摘要: 近年来,anchor-based检测器一直主导着目标检测。近年来,anchor-free检测器由于FPN和Focal Loss的引入而受到广泛关注。本文首先指出anchor-based检测与anchor-free检测的本质区别是在于如何定义正、...

weixin_42096202的博客 3427
上一篇: 入门-动态规划
下一篇: StatisticalOutlierRemoval:离群点移除
君只见独不见
博客等级 码龄12年 99粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值