FCOS-学习记录

FCOS是一种创新的目标检测算法,它摒弃了传统的锚框机制,转而将检测任务转化为特征图上的像素分类问题,简化了计算过程并提高了效率。FCOS通过学习位置的中心度来抑制低质量预测,优化了检测性能,尤其在处理形状变化大和小目标时表现优越。
摘要由CSDN通过智能技术生成

引入:本次学习内容基本来自于Zhi Tian,Chunhua Shen编写的的《FCOS: Fully Convolutional One-Stage Object Detection》,以及部分讲解视频,本学习记录仅为个人学习收获,部分内容存在纰漏烦请各位大佬批评指正。
(一)摘要:传统的物体检测方法通常分为两个阶段:锚框生成和目标分类与定位。然而,这些方法需要在不同尺度上生成大量的候选框,导致复杂和耗时的计算过程。相比之下,FCOS通过将检测任务转化为特征图上的像素分类问题,实现了真正的全卷积端到端检测。

(二)发表时间:2019

(三)关键词:目标检测,全卷积神经网络,单阶段检测,无锚框训练

(四)学习记录:

目前许多目标检测网络,例如SSD,YOLO,FasterRCNN等都是依赖于预先设置好的目标框(“anchor boxes”)。但是,作者提出的FCOS检测器是无锚框(anchor box free)和无提议(proposal free)的。这种设计避免了与锚框相关的复杂计算,并且超过了以往的单阶段检测器,并具有更简单的优势。

尽管预先设置边界框在许多目标检测网络上已经成功运用,但是仍然存在一些问题。

1)在RetinaNet中所示,检测性能对于锚框的大小、长宽比和数量非常敏感。例如,在COCO基准测试上,调整这些超参数会对性能产生高达4%的影响。因此,在基于锚框的检测器中需要仔细调整这些超参数;

2)即使经过精心设计,由于锚框的尺度和长宽比保持固定,检测器在处理具有形状变化较大的目标候选对象时会遇到困难,特别是对于小目标而言。预定义的锚框也限制了检测器的泛化能力,因为它们需要根据不同的目标大小或长宽比重新设计;

3)为了达到较高的召回率,基于锚框的检测器需要在输入图像上密集地放置锚框(例如,对于较短边为800的图像,在特征金字塔网络(FPN)中需要超过180K个锚框)。其中大部分锚框在训练过程中被标记为负样本。过多的负样本加剧了训练中正负样本不平衡的问题;

4)锚框还涉及复杂的计算,如计算与真实边界框之间的交并比(IoU)得分。

FCOS的基本网络结构如下图所示。

其实可以简单的看出,FCOS也是呈现FPN结构,也使用了横向连接,并且也最终分为两个支路,一个处理类别概率,一个处理边界框的回归。FCOS一共使用了5个特征图层,{P3, P4, P5, P6, P7}。其中,P3、P4和P5是由主干CNN的特征图C3、C4和C5经过一个1×1的卷积层和[14]中的自顶向下连接生成的。P6和P7通过对P5和P6应用步长为2的卷积层生成。因此,特征层P3、P4、P5、P6和P7的步长分别为8、16、32、64和128。

因为FCOS不设置anchor boxes,而是将位置作为训练样本,如果一个位置落在了GT内,则是正样本,它的类别就是框的类别,反之是负样本,则为0。同时,他们直接限制了每个特征层的边界框回归范围,而不是为不同的特征层分配不同大小的锚点框。这点与基于锚点的检测器不同。作者设定了一些条件,如果回归目标(坐标点)满足,则被认为是负样本。同时,如果一个位置仍然被分配给多个真实边界框,我们只选择面积最小的真实边界框作为它的目标。

如果仔细观察,并且了解过RetinaNet之类的单目标检测网络结构你就会发现,FCOS的分类支路的终点多了条支路“Center-ness”。

之所以设置这样一层,是因为远离物体中心的位置产生了大量低质量的预测边界框。添加这条支路的目的就是预测位置的中心度。通过引入中心度分支,FCOS就可以通过学习判断每个位置对应的边界框是否接近物体中心。这样就可以抑制那些远离物体中心的低质量检测边界框,从而提高检测性能。公式如下。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值