CVPR2020oral: Bridging the Gap Between Anchor-based and Anchor-free Detection 论文翻译

摘要

目标检测任务已经被anchor-based(基于锚点)的方法主宰了许多年。随着近期FPN(特征金字塔)和Focal Loss(焦点损失,RetinaNet)的提出,anchor-free(不基于锚点)检测器开始进入主流视野。在本文中,我们首先指出基于锚点检测与无锚点检测方法的本质区别在于如何定义正、负训练样本,正是正、负训练样本的定义不同,导致了两者之间的性能差距。如果anchor-based方法和anchor-free方法在训练中对正样本和负样本采用相同的定义,无论是边界框回归(anchor-based)还是点回归(anchor-free),最终的性能都没有明显的差异。由此可见,如何选取正、负训练样本对当前的目标检测器具有重要意义。

然后,我们提出了一种自适应训练样本选择(ATSS)方法,根据目标的统计特征自动选择正样本和负样本。这显著地提高了基于锚点和无锚点探测器的性能,并弥补了两者之间的差距。

最后,我们讨论了在图像上每个位置平铺多个锚点来检测目标的必要性。在COCO上进行的大量实验支持了我们的上述分析和结论。

随着新引入的ATSS,我们在不引入任何开销的情况下,将最先进的检测器的性能大幅提高到50.7% AP。代码在https://github.com/sfzhang15/ATSS

1. 简介

目标检测在计算机视觉领域是一个长期存在的课题,其目的是检测到预定义类别的物体。精确的目标检测方法对于许多应用,如图像识别和视频监控,有着重要的影响。

近些年,随着卷积神经网络的发展,目标检测一般都是采用anchor-based的方法,大致可以分为一阶段检测器双阶段检测器
它们都是在一张图片上放置大量的预先定义好的 anchors,然后预测位于anchor中物体的类别,并优化这些anchor的坐标(一次优化或多次优化),最终将这些优化后的 anchors 作为检测结果输出。
由于双阶段方法需要优化的 anchors 的数量是单阶段方法的好几倍,前者的准确率要高一些,而后者的计算效率要高一些。在常用的检测基准上,SOTA的方法一般都是anchor-based的。

但是,由于FPN和 Focal Loss 的出现,最近学术领域又开始关注于 anchor-free 检测器上。Anchor-free 检测器以两种不同的方式来直接找到物体,无需预先定义 anchors。

  • 一种方法是首先定位几个预定义的或自学习的关键点(keypoints),然后限制目标的空间范围。我们将这种类型的无锚检测器称为 keypoint-based方法。
  • 另一种方法是使用对象的中心点或区域来定义是否为正样本点或区域,然后预测从该点或区域到对象边界的四个距离。我们将这种无锚检测器称为基于中心的方法[56,23]。

这些 anchor-free 方法降低了有关anchor的超参数,并且取得的效果与 anchor-based 方法类似,这使得它们(anchor-free)更具泛化潜能。

这两类 anchor-free 检测器中,keypoint-based 方法延续了标准的关键点预测流程,这与 anchor-based 方法不同。

但是,center-based 方法与 anchor-based 方法类似,将点看作为预先设定的样本,而不是像anchor-based中将anchor看作预先设定的样本。以单阶段的基于 anchor 的 RetinaNet 和 center-based 的 anchor-free 方法 FCOS 为例,它们主要有三个不同之处:

  1. 每个位置平铺的锚数。RetinaNet为每个位置平铺多个anchor box,而FCOS为每个位置平铺一个"anchor point"(预定义点、锚点)
  2. 正样本和负样本的定义。RetinaNet重新排序IOU(交并比)来定义正负样本,而FCOS则利用空间和尺度约束来选择样本。
  3. 回归的开始状态。RetinaNet从预设的anchor-box回归对象边界框,而FCOS从锚定点(anchor-point)定位对象。

如[56]所报告的,anchor-free 的 FCOS 取得的表现要比 anchor-based RetinaNet 好,那么我们就应该研究一下,这三点中的哪一点造成了这些差距。

本文中,我们以非常公平的方式研究了 anchor-based 和 anchor-free 的方法的差异,排除了所有实现上的不一致。从实验结果可以得到,这两类方法的主要不同就是正负训练样本的定义,它造成了性能上的差异。如果在训练时,它们选择同样的正负样本,最终的表现就不会出现明显的不同,无论是从一个边框来回归,还是一个点来回归。

因此,如何选择正负样本需要进一步的研究。受此启发,作者提出了一个新的自适应训练样本选择方法(ATSS),基于目标物体的特征自动地选择正负样本。它弥补了 anchor-based 和 anchor-free 检测器之间的差距。此外,通过一系列的实验证明,在图像的每个位置上没有必要放置多个 anchors。在MS COCO数据集上的大量实验支撑了本文的分析和结论。通过使用ATSS,作者获得了 50.7% AP,没有带来任何的额外开支。本文主要贡献如下:

  • 指出了 anchor-based和anchor-free 方法的核心差异:如何定义正负样本。
  • 提出了一个自适应的训练采样方法,根据物体的统计特征,自动选择正负样本来训练。
  • 证明在图片上每个位置摆放多个 anchors 是不必要的。
  • 在MS COCO数据集上取得了SOTA的表现,而没有增加任何额外的开销。

2. 相关工作

目前的CNN目标检测器是由 anchor-based 或 anchor-free 占主导的。前者又可以分为双阶段和单阶段方法,而后者则可分为 keypoint-based 和 center-based方法。

2.1 anchor-based 检测器

双阶段方法。Faster R-CNN 的出现确立了双阶段、anchor-based 检测器的主导地位。Faster R-CNN 由两个相互分离的网络组成( RPN 网络和一个 region-wise 的预测网络(R-CNN))来预测目标。之后,人们又提出了许多的算法来提升其表现,包括结构重新设计和优化、上下文与注意力机制、多尺度训练和测试、训练策略和损失函数、特征融合和增强、候选框优化与平衡等。目前在标准的检测基准上,SOTA的结果仍然被双阶段anchor-based方法统治。

单阶段检测器。随着SSD的出现,由于计算效率高,单阶段检测器吸引了很多人的关注。SSD 在卷积网络的多尺度层上展开 anchor boxes,来直接预测物体的类别和 anchor box 偏移量。随后,人们又从多个方面进行大量的工作来提升其性能,如不同层之间上下文信息融合、从零开始训练、引入新的损失函数、anchor优化与匹配、网络结构重设计、特征增强和对齐等。现在,单阶段 anchor-based 方法已经可以取得与双阶段 anchor-based 方法非常接近的性能,而速度要更快。

2.2 anchor-free检测器

基于关键点的方法。这类 anchor-free 方法首先确定一些预先定义或自学习的关键点的位置,然后生成边界框来检测物体。CornerNet 通过一对关键点(左上角和右下角,corner 角点)来检测物体的边界框,CornerNet-Lite 引入了 CornerNet-Saccade 和 CornerNet-Squeeze 来提升其速度。Grid R-CNN 的第二个阶段利用FCN的位置敏感的优点来预测网格点,然后再根据这些网格点来判断边框,从而定位物体。ExtremeNet 检测物体的4个点(最上面、最左面、最下面、最右面)以及一个中心点来生成物体的边框。Zhu 等人利用关键点估计来找到物体的中心点,然后回归出其他的属性,包括大小、三维位置、朝向、姿态等。CenterNet 扩展了CornerNet,通过三个点而不是两个点来提升精度和召回率。RepPoints 将物体表示为一些样本点的集合,通过学习如何约束这些点的空间范围(这个范围便是目标的范围)、如何强调语义重要的局部区域来进行检测。

基于中心的方法。这类方法将物体的中心区域(中心点或区域)看作为前景,来定义正样本,然后预测正样本点到物体四个边的距离。YOLO 将图像分割为S×S个网格,如果物体的中心点落在了某网格内,该网格就要负责检测该目标物体。DenseBox 利用物体中心位置的圆圈区域来定义正样本,然后预测该圆圈到物体边界的四个距离。GA-RPN 将物体中心区域的像素点定义为正样本,然后为 Faster R-CNN 预测候选框的位置、宽度和高度。FSAF 在 RetinaNet 之上加了一个 anchor-free 的分支和在线特征选取机制,这个分支将物体的中心区域定义为正样本,利用它到物体的四个边的距离来定位它。FCOS 将物体边框内的所有位置都定义为正样本,然后通过4个距离值和1个 centerness 分数来检测物体。CSP 只将物体的中心点定义为正样本,通过固定的 aspect ratio 来检测行人。FoveaBox 将物体的中间部分位置定义为正样本,每个位置有4个距离来进行检测。

3. anchor-based检测和anchor-free检测的差异性分析

不失一般性,作者仔细分析了 anchor-based的代表方法 RetinaNet 和 anchor-free 的代表方法 FCOS 的差异。

在这一节中,我们着重关注最后两个差异:正负样本定义和回归的起始状态。后面也会讨论另一个不同点:每个位置上 anchors 的个数对于性能的影响。因此对于 RetinaNet 而言,作者在每个位置上只放置1个正方形 anchor,这样就与 FCOS 类似了。在后续部分,作者首先介绍了实验设定,然后排除实现上的不一致,最后介绍 anchor-based 和 anchor-free 检测器的关键差异。

3.1 实验设定

数据集。所有的实验都是在MS COCO数据集上完成的,它包含80个目标类别。作者按照一般的操作:

  • trainval35k 里的11.5万张图片用于训练
  • minival 中的5千张图片用于验证,以进行分析研究。
  • 作者也在评测服务器上提交了结果,得到 在test-dev上的最终表现。

训练细节

  • ImageNet 上预训练的 ResNet-50 作为主干网络,它有5个层级的特征金字塔结构。新添加的层的初始化和RetinaNet中的保持一致。对于 RetinaNet,5个特征金字塔中的每一个网络层都有1个正方形 anchor,它有 8S的尺度,S是总共的步长大小。
  • 在训练时,作者将输入图片重新缩放,保证短边长度为800,长边小于或等于1333。
  • 整个网络通过 SGD 来训练
  • momentum 为0.9
  • weight decay 为0.0001
  • batch size 为16
  • 训练了9万次迭代
  • 初始学习率为0.01,在6万次和8万次迭代时分别除以10。

推理细节。在推理时,将输入图片重新缩放,与训练阶段类似,然后将它输入进整个网络来输出预测边框和类别。之后,使用预定义的分数0.05来过滤背景边框,然后在每个特征金字塔输出得分最高的1000个检测目标。最后对于每张图片,利用NMS来产生置信度最高的100个检测目标,每个类的IoU阈值为0.6。

3.2 排除不一致性

我们将每个位置上只有1个正方形anchor box 的 anchor-based 检测器 RetinaNet 记做 RetinaNet(#A=1),这样的设定和 anchor-free 检测器 FCOS几乎一致。

但是在MS COCO minival 数据集(val)上,FCOS 的AP表现要比RetinaNet(#A=1) 高许多,37.1%vs.32.5%。

而且,FCOS也有一些新的改进,如将 centerness 放到回归分支上去,使用 GIoU 损失函数,通过相应的步长来归一化回归目标。这些改进可以将 FCOS 的AP性能提升至37.8%,使得二者差距更大。

但是,FCOS(37.8%) 和 RetinaNet(32.5% 这里是在每个位置只设定1个anchor的) 之间的 AP 差距拉大部分源于一些通用的改进,如检测头里的 GroupNorm、使用 GIoU 回归损失函数、在 ground-truth 边框中限制正样本、引入 centerness 分支、在每个特征金字塔中加入一个可训练的标量。这些改进也可以用于 anchor-based 检测器,因而它们不是 anchor-based 和 anchor-free 方法的根本不同。作者将它们挨个用在RetinaNet(#A=1)方法中,排除实现上的不一致。如表1所示,这些改进将 anchor-based RetinaNet 的AP提升到了 37.0%,但和 FCOS 仍有 0.8%的差距。现在,去除掉那些不相关的差异后,我们就可以公平的研究 anchor-based 和 anchor-free 方法的根本不同了。

在这里插入图片描述
表一: 对于RetinaNet 和 FCOS在 MSCOCO minival 数据集上的 实现不一致分析。其中 “#A=1” 意味着,在每一个位置上只有一个正方形的anchor box

3.3 根本差异

在使用了通用的改进技巧后,anchor-based 的 RetinaNet(#A=1) 和 anchor-free FCOS 就只有2个不同之处了。其一就是检测中的分类子任务,即如何定义正负样本的。其二就是回归子任务,即从 anchor box 还是 anchor point 开始回归的。

分类任务。如图一a所示,RetinaNet利用IoU来将来自不同层级特征金字塔的anchors划分为正、负样本。RetinaNet首先标记每个目标的最佳anchor,IOU大于阈值θp的为正样本,IOU小于阈值θn的为负样本,其余的anchor box被忽略。

如图1b所示,FCOS利用的空间和尺度的限制来确定来自不同金字塔层级的anchor点的正负性。首先是在空间维度考虑,选择在GT框中的anchor points为候选正样本。然后是从尺度维度,根据为每个金字塔层级定义的尺度范围来从中选取最终的正样本,没被选取的anchor points即为负样本。

正如图1所示,FCOS首先在空间维度上利用空间限制来筛选候选的正样本点,然后根据尺度限制来选取最终的正样本点(在尺度维度上)。与FCOS不同的是,RetinaNet利用IoU来直接,同时的,在空间和尺度维度上选择最终的正样本。这两种不同的样本选择策略产生了不同的正负样本。

如表2的第一列中所显示的,RetinaNet(#A=1)利用了空间和尺度限制的策略而不是IoU策略,将模型的AP性能从37.0%提升到了37.8%。
对于FCOS而言,如果利用IoU策略来选择正样本,AP性能从37.8%下降到36.9%,如表格的第二列所示。这些结果都表明了,正负样本的定义对于anchor-based和anchor-free检测器而言是最根本的差异。

在这里插入图片描述
图一:正(蓝色的标1的grid)、负(标0的grid)样本的定义。蓝色的边界框是Ground-truth,红色的box和point是anchor-box和anchor-point。
a)RetinaNet利用IoU(交并比)同时在空间和尺度的维度上来选择正例(蓝色的标1的grid)
b)FCOS首先在空间维度上搜索候选的正例(蓝色的标?的grid),然后在尺度维度上选择最终的正例(蓝色的标1的grid)

在这里插入图片描述
表二:RetinaNet和FCOS在MS COCO minival数据集上的差异性分析。(衡量指标:AP)

回归任务。在正、负训练样本决定之后,目标的位置将从正样本(框或点)处进行回归(即优化框的位置),如图2a所示。

RetinaNet从anchor box出发进行回归,利用优化四个坐标偏移量(当前anchor box和目标框之间的差距),如图2b所示。

而FCOS从anchor point出发进行回归,利用anchor point到物体边界的四个距离,如图2c所示。

这意味着,对于一个正样本而言,RetinaNet回归运算的初始状态是一个框,而FCOS的初始状态是一个点。但是,在表二的第一列和第二列数据中我们可以得知,当RetinaNet和FCOS采用了相同的样本选择策略时,他们就生成了具有一致性的正负样本,所以导致最终的性能没有明显的差异,不管是从一个点开始回归,还是从框回归。如 37.0% vs 36.9%,37.8% vs 37.8%。这些结果都表明回归的起始状态是一个无关紧要的差异而不是一个根本差异。

在这里插入图片描述
图二:
a)蓝色的点和框分别是目标物体的中心和边界,红色的点和框分别是anchor的中心和边界
b)RetinaNet从anchor box 出发进行回归,利用四个坐标偏移量
c)FCOS从anchor point出发进行回归,利用中心点到物体四个边界的距离
(这里就是指回归优化的是哪些参数(偏移量/中心点到四个边界的距离),从box和point出发优化迭代的计算方式会不同)

结论。根据这些在同等条件下所进行得出的实验结果,我们推测出一阶段anchor-based检测器和 基于中心点的anchor-free检测器的根本差异在于如何定义正负训练样本,这对于我们当前的目标检测任务来说是非常重要的,值得深入研究。

4. ATSS自适应训练样本选择算法

训练目标检测器时,我们首先需要定义正负样本,进行分类,然后是使用正样本进行回归。根据之前的分析可以看出,前者会更关键一些,而anchor-free检测器FCOS改进了这个步骤。FCOS提出了一种新的正负样本的定义方法,这种方式取得了比传统的IoU-based(以IoU为基准的)策略更好的性能。由此我们得出了一些灵感,我们钻研了一下目标检测任务中最基本的问题:如何定义正、负训练样本,并提出了自适应训练样本选择算法Adaptive Training Sample Selection(ATSS),一种几乎没有超参并且对不同的设置具有较强的鲁棒性的方法。

4.1 描述

之前的样本选取策略有一些很敏感的超参,比如anchor-based方法中的iou阈值,anchor-free方法中的尺度范围(scale ranges)等等。设置好这些超参后,GT必须根据这些固定的规则来选取他们的正样本,(这对于大多数的物体是合适的),但是在此范围之外的目标会被忽略掉。此外,这些超参数的不同设置将产生非常不同的结果。

因此,作者提出了一个几乎不需要任何超参数,根据目标统计特征自动划分正负样本的ATSS方法。

算法1描述了我们所提出的方法是如何在一张输入图像上运作的。
对于图片上的每一个GT box g,先找出它的候选正样本集。如第3行到第6行所描述的,对特征金字塔的每一层,我们根据anchor boxes的中心和g的中心的l2距离来选择k个anchor boxes。假设有L个特征金字塔层级,则GT box g会有k×L个候选正样本。

然后计算这些候选正样本与GT间的IOU,记为Dg,如第七行所示,并计算Dg的均值和方差记为mg和vg,

根据这些统计特征,来计算得到对于此GT box g的阈值:tg=mg+vg,最终我们根据阈值选取正样本,(大于等于阈值的样本为正样本)。

同时作者还限制了选取的正样本的中心必须在gt box内。此外,如果一个anchor box被分配给了多个GT,那么他会选择iou最高的GT,对其他则会作为负样本。

在这里插入图片描述
为什么这么做呢?解释如下。

  1. 基于anchor-box和物体的中心距离选择候选正例。对于RetinaNet而言,当anchor-box的中心和物体的中心更接近时,IoU会更大。对于FCOS而言,anchor-point和物体中心更接近可以产生更高质量的检测结果。因此,中心更靠近目标中心的anchor boxes应该是质量更好的候选正例。

  2. 利用均值和标准差的和作为IoU阈值
    IoU的均值mg是对该目标预设的anchor的适宜性的衡量。图3a可推断出,高mg表明候选正例集质量较高,因此IoU阈值应随之更高。图3b可推断出,较低mg表明该GT box的大多数候选是低质量的,因此IoU阈值应随之更低。
    IOU的标准差vg则是对哪一层适合来检测当前目标的一个衡量。如图3a所示,较高的vg表明有一个特征金字塔层级非常适合检测此对象,加上vg到mg会获得一个较高的阈值,这样会基本只从那一层级选取正样本。如图3b所示,较低的vg则是表示有多个特征金字塔层级适合检测此目标,mg+vg得到一个较低的阈值来从这些层级中选择合适的正样本。这样利用均值mg和标准差vg的和作为IoU阈值tg,就可以自适应地从适当的金字塔层级中,根据统计特征,为每个对象选取足够的正样本。

在这里插入图片描述
图三: 图解ATSS。每一层都有一个候选正例,以及该正例与GT box的IoU。
a)GT-box 和它的候选正例有高mg和高vg的情况
b) GT-box和它的候选正例有低mg和低vg的情况

  1. 限定正样例的中心在GT box之内。anchor的中心如果在目标的中心外的话应该是一个较差的候选框,预测出来的应该是物体之外的特征,这对于训练不利,应当排除。
  2. 保持不同目标物体间的一个公平性。根据统计定理得出,理论上大约16%的样本会处于置信区间[mg+vg,1]中,尽管候选框的iou分布不是一个标准的正态分布,但统计结果显示每个目标都有大约0.2*kL个正样本,这相对于其尺度,长宽比和位置来说是不变的量。与之相反,retinanet和FCOS中会对大目标有很多正样本,导致了不同样本之间的不公平的现象。
  3. 保持hyperparameter-free。这个方法只需要一个超参k,在后续的实验中,证明了k的变动几乎不影响模型,即关于参数k不敏感。基本做到了超参数free。

4.2 校验

Anchor-based方法RetinaNet。为了验证我们所提出的ATSS对于anchor-based检测器的有效性,我们利用ATSS来代替RetinaNet所使用的传统正负样本选择策略,来提升RetinaNet(#A=1)的性能。如表3所示,该方法在AP,AP50,AP75,APS,APM,APL,指标上分别提升了2.3%,2.4%,2.9%,2.9%,2.1%,2.7%。这些提升主要是由于对于每一个GT box我们自适应的选择了他的正样本,根据候选样本的统计特征。由于我们的方法仅仅重新定义了正负样本,而没有引入额外的开销,这些提升可以被认为是cost-free的,无开销的。

Anchor-free方法FCOS。我们所提出的方法也可以应用于anchor-free检测器FCOS上,有两种不同的实现版本:轻量级版本和完整版。对于lite版本,我们将提出的ATSS中的一些ideas应用在FCOS上,比如,利用我们的方法更换FCOS选择正负样例方法。FCOS将落在GTbox中的anchor-point视作候选正例,这导致了许多低质量的正例。与之对比,我们针对每个GT box,在每个金字塔层级上选择了top k (=9 default)个候选。lite版本我们的方法和FCOS的官方代码融合在了一起,作为中心采样,这将FCOS模型的准确度从37.8%提升到了38.6%,如表3所示。然而,scale ranges这个超参数仍然存在在lite版本中。
对于完整版应用我们的方法,我们将FCOS中的anchor-point变成尺度为8S的anchor box,S为该层的步长,来定义正负训练样本。在定义完正负训练样本之后,仍然按照像FCOS原来一样的从anchor-point开始回归的方法,来对这些正样本进行回归。如表3所示,这显著的提升了在之前六个指标上,1.4%,1.7%,1.7%,0.6%,1.3%,2.7%。值得注意的是,这两个版本得到的候选正例在空间维度上是一致的,但是在选取最终的正样例时,在尺度维度上产生了不一致。如表三所示,完整版的(ATSS)表现在不同指标上大大优于轻量版的(center sampling)。这些结果表明,我们的ATSS方法比FCOS原始的选取正样本的方法更好,在尺度维度上。

在这里插入图片描述
表三:所提方法在MS COCO minival数据集上的校验。ATSS - full version, center sampling - lite version。

4.3 分析

使用我们所提出的ATSS训练目标检测器仅涉及一个超参数k和与anchor box相关的一个设置。本小节一个接一个地分析它们。

超参数k。 我们进行了一些实验来研究超参数k的鲁棒性,k的作用是从每个金字塔层级中选择候选正样本。 如表4所示,k的不同值[3、5、7、9、11、13、15、17、19]被用于训练检测器。我们观察到,所提出的方法是非常不敏感的,当k从7到17的变化时。k太大(例如19)会导致太多劣质的候选,会轻微的降低检测器的性能。 k太小(例如3)会导致由于候选太少,准确性明显下降,太少的正性样本将导致统计不稳定。 总的来说,唯一的超参数k相当健壮,因此所提出的ATSS几乎可以视为无超参数。

在这里插入图片描述
表四:不同超参数k值的对应分析

anchor尺寸。 引入的方法依靠anchor boxes框来定义正样例,我们还研究了anchor大小对于结果的影响。在先前的实验中,一个正方形的、有着8S尺度的anchor在图片中的每一个位置上平铺。(S表示金字塔某层级的总步幅大小)。 如表5所示,我们进行一些使用不同比例的正方形anchor的实验,在[5、6、7、8、9]中,性能相当稳定。 顺便说一句,我们也做了几个不同长宽比的8S尺度的anchor实验,如表6所示。性能对这种变化也不敏感。 这些结果表明,所提出的方法对于不同情况的anchor设定皆具有鲁棒性。

在这里插入图片描述

4.4 对比

我们在MS COCO的test-dev子集上和其他的一些SOTA检测器比较了最终模型,如表8所示。根据先前的工作[33,56],这些实验采用了多尺度训练策略,即在训练过程中随机选择640至800之间的数字来调整图片短边尺寸。此外,我们将迭代总数翻倍,达到180K。学习率在120K和160K进行reduction(削减)。其他
设置与前面提到的设置一致。

如表8所示,我们使用ResNet-101的方法达到43.6%的AP而没有任何额外开支,比包括Cascade R-CNN [5](42.8%AP),C-Mask RCNN(42.0%AP),RetinaNet [33](AP39.1%)和RefineDet
[66](AP36.4%)在内的所有具有相同主干的方法都要好。
我们将提出的方法的AP准确性进一步提高到45.1%和45.6%,通过使用更大的骨干网ResNeXt-32x8d-101和ResNeXt-64x4d-101 [63]。 45.6%的AP、结果比所有非锚和基于锚的检测器都要好,除了比SNIP低了0.1%[54](45.7%AP),这个网络引入了改进的多尺度训练和测试策略的方法。由于我们的方法是关于正样本和负样本的定义,因此它是兼容的,并且是对大多数当前技术的补充。 我们进一步使用可变形卷积网络(DCN)[10]加入到于ResNet和ResNeXt骨干网以及探测器塔的最后一层。 DCN持续改善ResNet-101的性能达到46.3%,改善ResNeXt-32x8d-101和ResNeXt-64x4d-101的47.7%。最好的结果,47.7%是由 单一模型和单一尺度测试获得的。大大超过了所有先前的检测器。 最后,采用多尺度测试策略,我们的最佳模型可以达到50.7%的AP。

在这里插入图片描述

4.5 讨论

先前的实验仅基于每个位置一个anchor box的RetinaNet。这和anchor-based与anchor-free检测器的真正差距还是有区别的。我们没有讨论每个位置平铺的锚点数对于实验的影响。实际上,原始的RetinaNet会固定9个anchor box(3个不同尺度×3个不同宽高比)在每个位置上(标记为RetinaNet(#A = 9))。表7第一行中列出了,此方法取得了36.3%的AP。此外,也可以使用表1中的那些通用改进RetinaNet(#A = 9),从而将AP性能从36.3%至38.4%。

在不使用ATSS的情况下,经过改进的RetinaNet(#A = 9)具有比RetinaNet(#A = 1)更好的性能,即表7中的38.4%与表1中的37.0%。这些结果表明,在传统的基于IoU的基础上的样本选择策略,每个位置平铺更多的锚点会更高效的。

但是,在使用我们提出的方法之后,将得出相反的结论。具体来说,ATSS还使RetinaNet(#A = 9)的AP提高了0.8%,AP50提高了1.4%,AP75提高了1.1%,达到了与RetinaNet(#A = 1)相似的性能,表7的第六行。

此外,当我们将锚定比例或纵横比的数量从3更改为1时,结果几乎没有变化,如第四行和第五行中所列
见表7。换句话说,只要是正样本选择正确,无论选择多少个锚点,结果是相同的。因此我们得出,每个位置平铺多个锚点是一项无用的操作,在利用我们提出的方法时。对于每个位置是否需要平铺多个anchor,值得深入研究。

5.结论

在这篇文章中,我们指出一阶段的基于锚和基于中心的无锚检测器之间的本质上的区别在于实际上是正负训练样本的定义。它表明在检测训练期间如何选择正负样本至关重要。受此启发,我们深入研究了这个基本问题并提出了自适应训练样本选择算法,它会自动根据对象的统计特征对正负样本进行划分,从而弥合基于锚点的检测器和没有锚点的检测器之间差距。我们也讨论每个位置平铺多个锚点的必要性,并表明在当前情况下这可能不是一个有用的操作。 在基准MS COCO上广泛实验说明了所提方法无需引入任何额外的开销就可以实现最先进的性能。

Guess you like

Origin blog.csdn.net/weixin_44145782/article/details/115554212