ATSS 论文笔记

ATSS 论文笔记

作者:Shifeng Zhang, Cheng Chi, Yongqiang Yao, Zhen Lei , Stan Z. Li

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

这篇文章主要是解决检测问题中如何标注正负样本的问题。

Introduce

对于目标检测网络中的标注正负样本的问题,当前主要有两种方法,一是像Faster-RCNN、RetinaNet等anchor-base的网络,通过anchor与groundtruth之间的IoU值来决定anchor的类别为正还是负。另一种是像FCOS这种anchor-free的网络,选定groundtruth内的一部分中心区域作为正样本,其他的特征点为负样本。

以RetinaNet和FCOS两个网络为例,FCOS的性能优于RetinaNet,而这两个网络的区别主要有以下三点:

1)每个特征点产生的anchor数量不同,RetinaNet在每个特征点会产生一些anchors,而FCOS作为anchor-free的方法,相当于每个位置产生一个anchor

2)定义正负样本的方法不同

3)回归的目标不同,RetinaNet是回归anchor与gt之间的角点的距离,FCOS是回归中心点到四个边的距离。

因此作者通过实验,使其他的变量都尽量做到一样,来找到导致这两个网络在AP上的差距的最根本的因素是什么。通过实验发现是定义正负样本的方法不同导致二者在性能上的不同。

受此启发,作者又提出了一种新的定义正负样本的方法——ATSS。

Difference Analysis of Anchor-based and Anchor-free Detection

ATSS 论文笔记

作者采取了同样的数据增强方法、同样的训练以及测试的超参数,同时作者还改变了RetinaNet每个位置的anchor数量为1,做到近似于FCOS。然后发现两者的AP依然有5%左右的差距(FCOS:37.1%,RetinaNet:32.5%)。又在RetinaNet和FCOS上加入了一些新的提升tricks后(GIoU、GroupNorm。。。),两者之间依然有0.8%的差距。

ATSS 论文笔记

在做了以上的改变后,此时二者只有两点不同,一是定义正负样本的方法不同,二是回归的目标不同。但经过实验发现,当使用控制变量法分别测试两种不同点对结果的影响时,不同的回归目标并不会使AP发生改变,而不同的样本分类方法才是造成AP差异的关键因素。

Adaptive Training Sample Selection

作者发现不同的样本分类方法会对AP结果产生影响,而不论哪种方法都存在一些人工设定的超参数,这就使得这些方法很难达到最优解,因此作者提出了一种只有一个超参数的样本分类方法。
ATSS 论文笔记

该方法主要是有以下几步:

1)对FPN每一层特征,对每一个gt,找到与其中心点L2距离最小的k个anchors。

2)计算gt与其对应的anchors之间的IoU,并计算IoU的均值m和标准差v。

3)设置阈值t=m+v,把IoU大于t的且中心点在gt内的nchor作为正样本,其他的为负样本。如果一个anchor同时匹配上多个gt,那么会把它分到IoU最大的gt上去。

作者之所以这么分类的原因有以下几点:

1)中心点离gt的中心点更近,可以获得更好的物体特征。

2)通过使用m+v作为IoU的阈值,可以在减少超参数的同时自适应地挑选更合适的anchor。

3)中心点不在gt内的anchor会提取到物体外的特征,不利于检测。

4)动态的改变IoU阈值,可以使大物体和小物体的正样本数量相差不多。

5)做到几乎是不使用人工设定的超参数。

Verification

ATSS 论文笔记

从图中可以看到,作者提出的方法的确对结果有比较大的提升。作者还做了超参数k选择的实验,发现k取9的时候效果最好,取7~17时差别不大。并且做了不同anchor大小和长宽比的实验,发现不同的anchor大小和长宽比并不会对结果造成什么影响。