ATSS介绍

之前看了yolov7的paper,发现最近几年的目标检测热点好像不是网络结构了,而是正负样本分配策略,于是去回顾了一篇2020年的CVPR火文:ATSS

原文标题:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection

ATSS取自Adaptive Training Sample Selection

论文地址:https://arxiv.org/pdf/1912.02424.pdf


目录

一、论文背景介绍:

二、实验细节

三、作者提出的ATSS方法


一、论文背景介绍:

        往常,目标检测主流的算法都是anchor-based(不管一阶段还是二阶段),最近几年,anchor-free的算法越来越受欢迎,并且声称比anchor-based的精度高,那么他们差距到底在哪呢?为什么会有这种差距?

        这篇论文就是主要思考了这个问题并且进行研究,发现实际上无锚框和基于锚框的算法本质的区别(带来精度差异的原因)是如何定义正训练样本和负训练样本。

        作者提出了(自己研究出了)一套自适应样本选择方法(Adaptive Training Sample Selection, ATSS),它显著提高了基于锚和无锚检测器的性能(用的是自己提出的ATSS),因此结论就是样本的选择方法才是带来精度的提升的原因。

        此外,这篇文章还挖了个坑,发现在图像上的每个位置没有必要放多个anchor(放一个足矣),但是具体不知道为啥,还有待研究。

二、实验细节

作者以具有代表性的anchor-based算法RetinaNet和anchor-free算法FCOS进行对比实验,进行探究到底他们差异在哪。

首先,RetinaNet和FCOS主要有三个不同点:

  • 每个位置上的anchor数量不同。RetinaNet每个位置生成9个anchor;FCOS仅生成1个point。
  • 正负样本分配策略不同。RetinaNet根据anchor与gt的MaxIoU进行分配;FCOS根据point是否落在gt内(空间限制),以及不同FPN特征层的回归范围限定(尺度限定)来进行分配。
  • 回归策略不同。RetinaNet回归pred bbox和anchor的delta;FCOS直接回归point到pred bbox四边的距离。

除了三个主要不同点,FCOS还比RetinaNet多了五个小技巧trick(详见FCOS文章):

  • GroupNorm。FCOS在head卷积层采用GN代替BN。
  • GIoU Loss。FCOS采用GIoULoss作为回归定位损失函数。
  • In GT Box。FCOS限制正样本要在gt内。
  • Centerness。FCOS多预测了一个centerness分支。
  • Scalar。FCOS在回归定位预测时,多了一个可学习参数scale。

为了公平起见,RetinaNet每个位置只放了一个正方形锚框,并且RetinaNet进行了FCOS里同等的tricks,最后微调的RetinaNet和FCOS精度只差0.8%左右。

然后作者发现实际上他们俩的差异就在两方面:如何定义正样本和负样本;回归方法。

作者通过对比实验发现,正负样本的定义不同才是导致精度差异的最大原因。

FCOS首先使用空间约束来寻找空间维度上的候选正样本,然后使用尺度约束来选择尺度维度上的最终正样本。

RetinaNet则是用IoU同时选择出空间和尺度维度上的最终正样本,因此FCOS更好点。

而回归方法不影响精度。其中FCOS从中心点开始回归,回归跟GT的边框四条边的四个距离

而RetinaNet从锚框开始回归,回归四个偏移量(两个是GT中心点坐标,两个是锚框大小)

最后来看anchor数量的影响,直接抛出实验结论,对于基于MaxIoU的正负样本分配策略而言,anchor数量对精度是有显著影响的,从anchor数量1到9可以带来1.8%的精度提升。很好理解,因为anchor太少,可能有些gt没有被分配上,导致精度下降。

但是如果采用FCOS的正方样本分配策略或者后续提出的ATSS分配策略,那么anchor数量对精度的影响忽略不计

三、作者提出的ATSS方法

作者提出了一种ATSS分配策略。具体来说,分为以下几步:

1、对于图像上的每一个groud-truth box记为g,在每一层特征金字塔,根据L2距离选取跟g的中心点最近的k个候选正样本(anchor box),那么如果有L层特征金字塔,总共会选择出L*k个候选框

2、计算每个候选框和g的IoU值,并且计算这个IoU值集合的均值和方差

3、均值和方差求和作为IoU阈值,筛选出大于这个阈值的候选框作为最终的正样本们

4、此外,如果将一个锚框分配给多个ground-truth box,则会选择IoU最高的那个。剩下的是负样本。此外,正样本的中心一定被限制在gt内,这是当正样本的前提,不然不考虑。

作者还分析了这些步骤采用的动机(原因)

1、为什么考虑跟GT中心点L2距离最近的?

RetinaNet中IOU越大的anchor,越靠近gt中心,同样的,FCOS中越靠近gt中心的point,检测出的预测框质量越高。

2、为什么计算均值和方差求和作为IoU阈值?

使用某个gt与所有anchor的iou均值和方差来确定该gt的自适应的iou阈值这就是ATSS中的关键,也是Adaptive自适应一词的由来,一句话概括,自适应阈值就是基于统计学而得的iou阈值。

3、为什么正样本的中心一定要被限制在gt内?

借鉴了FCOS的分配策略中的空间限制,要求point落于gt内,原因是落在gt外,提取的图像特征不正确。

题外话:k是ATSS中唯一的超参数,而且通过后续实验发现,k的设置对精度影响不大!

猜你喜欢

转载自blog.csdn.net/jiangqixing0728/article/details/126411467
今日推荐