FCOS:全卷积单目标检测算法
本文为对此文章的大致翻译。
0.摘要
我们提出了一种全卷积的单目标检测算法(FCOS)以逐像素预测的方式来解决目标探测问题,模拟语义分割。目前水平最进的目标探测器RetinaNet,SSD,YOLOv3,和基于预定义anchor boxes(锚框)的 R-CNN.
我们提出的探测器FCOS不需要锚盒,使其避免了由锚盒带来的复杂计算比如重叠率,超参数,而后者对探测结果的影响往往重要.因为只有后处理非极大抑制(NMS),以ResNeXt-64x4d-101实现的FCOS在单尺度、单模型测试中达到了44.7%的平均精确度(AP),比以前的one-stage探测器更简单。我们演示了一个更简单灵活的检测框架,提升了检测精度。我们希望FCOS对那些实例型的任务可以作为一个简单而有力的选择。代码在:tinyurl.com/FCOSv1
1.介绍
当前主流的探测器比如:快速R-CNN,SSD,YOLOv2,v3都基于预定的锚框。缺点:(1)带锚框的,探测结果对锚框大小、高宽比、数量很敏感。(2)锚框规模和宽高比保持固定,难以处理候选目标形状的变化。妨碍检测器的泛化能力(每次新任务要重新调整以适应新的高宽比和大小)。(3)大量负样本(4)复杂计算如IoU(交并比)
为了消除低质量的边界框而提出了center-ness分支,以预测一个像素对其对应边界框中心的偏差,在NMS(网络管理系统?)中对检测到的低质量边界框进行称重并合并检测结果。
我们提出的探测器的优点:(1)与其他FCN任务统一,可重用其想法。(2)避免了启发性调整、减少了设计元素的数量(3)避免了锚框涉及的复杂计算如IoU.(4)FCOS可以当作RPN用在two-stage(两阶段目标检测)中.(5)可以修改去解决其他的视觉任务。
2.相关工作
基于锚框探测器 继承自快速R-CNN和滑动窗口。锚框可以看作是预定义的滑动窗口或proposal,被看作使用偏移回归改进边界框位置预测的正或负补丁。锚框在此被看作训练样本。之前的探测器在每一个滑动窗口/proposal 重复计算图像特征。
但是锚框产生大量超参数,需要小心地微调。除了描述锚框形状的超参数,还要标记每个锚框为正、可忽略、负样本的超参数。之前用锚框和真实框的交并比来描述。超参数对最终精确度影响巨大并需要启发式的优调。特殊、偏离用于其他密集预测任务(如语义分割)的简洁的全卷积网络架构。
无锚框探测 YOLOv1,最受欢迎的无锚框探测器。在靠近物体中心的点预测边界框,为了高质量探测只有物体中心的点被使用,因此也遭受着低召回率的困扰。FCOS用真实值边界的点预测并用“center-ness"分支抑制低质量的探测边界,故能提供与基于锚框相当水平的召回率。
CornerNet检测边界框的一对角,并将其分组,形成最终检测到的边界框,需要复杂的后处理将属于同一实例的角对分组。为了分组学习一个额外的距离度量。
由于边界框处理复杂、召回率低以及无锚探测器不适合于通用目标跟踪。这些问题可以被多层次的红外系统预测极大地缓解,以及展示了center-ness分支。
3.我们的方法
我们首先以逐像素预测的方式重新制定目标检测,其次展示如何利用多层次预测提升召回率解决重复边界框所产生的二义性,最后,提供“center ness"分支,它可以抑制低质量边界框以及整体性能有很大的优势。
3.1全卷积单级目标检测器
设Fi∈RH×W×C为CNN第i层的特征图, s为直到该层的总步长。对于一张图片的真实值定义为 {Bi},Bi={x0(i),y90(i),x1(i)y1(i),c(i)}∈R4× {1, 2 … C}。在这里 (x0(i),y0(i))和(x1(i)y1(i))表示边框的左上角和右下角的坐标,c(i)是边界框中的物体所属的种类,C是种类的数量,MS-COCO数据集的种类是80.
对于特征图Fi中的每个坐标(x,y),我们可以把它映射到输入图像中作为 (|s/2| + xs, |s/2| + ys),它靠近接受野的中心位置(x, y)。与其他基于锚框的探测器不同,它们会把输入图像的位置作为锚框的中心,以这些锚框作为参考来回归目标边界框。我们直接在位置回归目标边界框。换句话说,我们的探测器直接把位置看作训练样本,而不是把锚框看作训练样本。
特别地,位置(x,y)被看作正样本,如果它落在真实值的框里并且位置所属的类c是真实框的类标签。否则它就是一个负样本而且c=0。处了用于分类的标签,我们也还有一个4D实向量, t∗ = (l*,t*,r*,b*)代表回归的目标位置。 l*,t*,r* 和b*是从location到边界框四个边的距离。如果一个location落到多个边界框中,它会被视作一个二义性的样本,我们选择最小面积的边界框作为它的回归目标。在下一节中,我们将展示多层预测,二义性样本的数量将会极大地减少,不会影响到探测的表现。如果位置(x,y)与边界框Bi是相关,那么位置的训练回归目标可以被以公式表示为
值得注意的是FCOS可以利用尽可能多的前景数据训练回归。不同于基于锚框的探测器,只考虑IoU足够高的锚框和真实值的边界框作为正样本。FCOS的表现要优于它基于锚框的同行。
网络输出与训练目标相对,我们网络的最终层预测分类标签的80维向量p,一个四维向量t = (l, t, r, b)边界框坐标。我们以C二元分类器代替多域分类器。与[15]相同,我们在骨干网络特征图后加了4个卷积层用于分类和回归分支。由于回归目标往往都是正样本,我们在回归的顶端使用exp(x)将所有的实数映射到0至正无穷大,值得注意的是,FCOS的网络输出变量要比基于锚框的少九倍。
损失函数损失函数如下:
Lcls属于focal损失而Lreg属于IoU损失