简要介绍

2 D 目标检测中早期的 anchor-free 方法

全卷积单阶段目标检测器,以逐个像素的方式解决目标检测问题,类似语义分割

该检测器,不需要锚框也不需要候选区域

通过消除预定义的锚框集合,避免了与锚框相关的复杂计算。还避免了与锚框相关的超参数,这些参数对最终检测性能非常敏感

在仅使用非极大值抑制后处理的情况下,该模型通过单模型和单尺度测试,超越了以往的单尺度解决检测器,且有更简单的优势

长期以来,锚框的使用被认为是检测器成功的关键,但也存在缺点:

基于锚框的检测器的缺点

  1. 检测性能对锚框的尺寸、宽高比和数量比较敏感。这些超参数需要精心调整
  2. 锚框的尺度和宽高比固定,检测器在处理形状较大的目标候选框时仍然面临困难,特别是小目标;预定义的锚框会阻碍检测器的泛化能力,因为在不同目标尺寸或宽高比的新检测任务上需要重新设计锚框
  3. 为了提高检测率,基于锚框的检测器需要再输入图像上密集放置锚框; 训练过程中,这些锚框大部分被标记为负样本,过多的负样本加剧了训练中正负样本的不平衡
  4. 锚框设计复杂的计算,如与真实边界框计算交并比 (IoU) 分数

新检测框架的优点

  1. 检测任务与现在速多其他的可通过全卷积网络解决的任务相统一(如语义分割),更容易借鉴其中的思想
  2. 检测过程不需要锚框和候选区域,显著减少了设计参数数量。新提出的新检测器(尤其训练过程)大幅简化
  3. 通过去除锚框,避免了与锚框相关的复杂计算。实现了比基于锚框的检测器更快的训练和测试速度,同时减少了训练内存的占用
  4. 不依赖额外的技巧,新检测器在单阶段检测器中取得了最先进的结果。也可以作为两阶段检测器中的区域候选网络 (RPN)
  5. 新的检测器可以通过最小化修改直接拓展已解决其他视觉任务,如实例分割和关键点检测

相关工作

基于锚框的检测器 基于锚框的检测器继承了传统滑动窗口和基于候选区域的检测器(如Fast-R-CNN)的思想。

在基于锚框的检测器中,锚框可被预定义的滑动窗口或候选区域,这些锚框被分类为正样本或负样本块,并通过额外的偏移回归来优化边界框位置的预测。

这些检测器中的锚框可被视为训练样本。与 Fast-RCNN 等先前的检测器需要为每个滑动窗口/候选区域重复计算图像特征不同,锚框利用卷积神经网络的特征图,避免了重复的特征计算,显著加速了检测过程。

FasterR-CNN 在其区域提议网络(RPNs)、SSD、YOLOv 2 中推广了锚框的设计,使其成为了现代检测器中的常规方法

然而,锚框会产生过多的超参数,通常需要仔细调整这些超参数才能获得良好的性能

无锚框检测器 最流行的无框检测器是 YOLObv 1。其不使用锚框,只使用靠近目标中心的点处理预测边界框。仅使用靠近中心的点,所以这些点被认为能产生更高质量的检测结果。然而,由于只使用靠近中心的点来预测边界框,存在召回率低的问题

FCOS 使用真实边界框中的所有点来预测边界框,通过提出的”中心度”分支一致低质量的检测边界框。FCOS 能够提供与基于锚框的检测器相当的召回率

CornerNet 需要更复杂的后处理来对属于同一实例的角点进行分组,为实现分组目的,需学习一个额外的距离度量

DenseBox, 这里检测器难以处理重叠边界框召回率相对较低,被认为不适用于通用目标检测

FCOS 通过多级 FPN 预测,这两个问题得到大幅缓解。结合提出的中心度分支,这种简单的检测器能够取得比基于锚框的检测器更优的性能

我们的方法

  • 通过多级预测提高召回率,并解决重叠边界导致的歧义问题
  • 提出“中心度”分支,该分支有利于抑制低质量的检测框,并提升整体性能

全卷积单阶段目标检测器

真实边界框的定义

其中 ,代表边界框左上角和右下角的坐标 是边界框中对象的所属类别

image.png

网络会有多个层次的特征图生成,每个特征图中的每个像素位置 ,将其映射回输入图像,直接在该位置回归目标边界框;即直接将该位置视为训练样本,

如果位置 位于真实边界框内, 且该位置的类别标签 与真实边界框的类别标签一致,则视为正样本,否则为负样本

除了分类标签之外, 还有一个 4 D 实向量 作为位置回归目标。 分别代表该位置到四条边的距离

image.png|500

若一个位置落入多个边界框,将其视为模糊样本,简单的选择面积最小的边界框最为其回归目标

这样 FCOS 可以使用尽可能多的前景数据(内部位置的映射点都可用来学习该目标),这和基于锚框的方法,只使用 NMS 之后的锚框作为正样本不同

网络输出 与训练目标相一致,网络的最后一层预测一个 80 维度的向量 的分类标签和一个 4 D 向量 的边界框坐标

不是训练多类分类器,而是训练 C个二值分类器,在骨干网络的特征图之后分别为分类和回归设置 4 个卷积层

预测边界框坐标的回归任务的目标都是正数,将输出的结果使用 exp 映射到 ;和基于锚框的方法相比,输出的变量减少了 9x

损失函数 分类的损失函数使用 focal loss 回归的损失函数使用 UnitBox 中的 IoU loss

基于 FPN 的 FCOS 多级预测

前面提出的两个潜在问题可以通过结合 FPN 的多级预测来解决

  1. CNN 中最终特征图的大步长(如 16 x 的缩放倍率)可能导致现对较低的最佳可能召回率。对于基于锚框的检测器,大步长引起的低召回率可通过降低锚框所需的 IoU 分数,在一定程度上得到补偿。

    对于 FCOS,因为存在大步长,在最终特征图上,一部分的目标可能没有相对应的位置目标,FCOS 没有办法找回。但是实验表明,即使存在大步长,基于 FCN 的 FOS 仍然能产生好的 BFR (最佳召回率)

  2. 真实框的重叠会导致难以处理的歧义,即重叠区域中的某个位置应该回归|对应哪一个边界框?这种歧义会降低基于 FCN 的检测器性能。本研究表明,通过多级别预测可以大幅解决该歧义,基于 FCN 检测器能够获得与基于锚框的检测器相当甚至更优的性能

在多级不同尺度的特征图预测过程中,每个尺度的特征图生成的锚框会有框大小的限制,超过或者过小的锚框会被屏蔽掉

这样可以把不同尺度大小的锚框分层进行预测,可以增加召回率

FCOS 的中心度

使用多级预测之后,FCOS 和基于锚框的检测器之间,仍然有性能差距。观察到是因为远离目标中心的位置产生了大量低质量的预测边界框

为了抑制这些低质量的预测边界框,且不引入多余的超参数,引入一个单层分支和分类分支并行,用来预测位置的”中心度”。中心度描述了该位置与其负责的目标中心之间的归一化距离

给定一个位置的 ,中心度的目标定义为:

使用平方根函数缓冲中心度的衰减。中心度的取值范围为 0-1,因此使用二元交叉熵(BCE)作为损失进行训练。

测试时,最终得分通过预测的中心度与相应的分类得分相乘计算得出

中心度能够降低原理目标中心的边界框的的得分权重。这些即质量的边界框大概率会被最终的非极大值抑制(NMS)过程中被过滤掉,从而提升检测性能