【论文笔记】:ATSS

&Title

【论文笔记】:ATSS_第1张图片

  • Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection
  • 代码

&Summary

论文主要阐述了对于正负样本的定义和选取对模型最终效果的影响。

首先是对比了anchor_free和anchor_base在选取样本时的差异,本文以RetinaNet和FCOS作为例子进行了对比,RetinaNet是采用IOU去选取正负样本,FCOS是基于空间分布对正负样本进行score。这两种采样方式会导致最终训练的正负样本是不一致的,作者通过对ReinaNet用两种不同采样方式进行训练模型,并对比起在COCO上的AP,验证anchor_base和anchor_free本质上的区别只是在于采样的不同。

然后提出本文的思想,自适应的选取正样本的方法(ATSS)

该方法主要有两大特性:

  1. 保证了所有的正样本anchor都是在groundtruth的周围。
  2. 最主要是根据不同层的特性对不同层的正样本的阈值进行了微调。

contribution

  • 指出基于锚点的检测器和不带锚点的检测器之间的本质区别实际上是如何定义正训练样本和负训练样本。
  • 提出自适应训练样本选择,以根据对象的统计特征自动选择正训练样本和负训练样本。
  • 证明在图像上的每个位置平铺多个锚点以检测对象是一项不费力的操作。
  • 在不引入任何额外开销的情况下,实现MS COCO的最新性能。

&Research Objective

切入点在于: 基于anchor-based和anchor-free的目标检测算法之间的效果差异到底是由什么原因造成的?

&Problem Statement

分析下RetinaNet和FCOS在算法上的差异,主要有以下3点:

  1. RetinaNet在特征图上每个点铺设多个anchor,而FCOS在特征图上每个点只铺设一个中心点,这是数量上的差异。

  2. RetinaNet基于anchor和GT之间的IoU和设定的阈值来确定正负样本,而FCOS通过GT中心点和铺设点之间的距离和尺寸来确定正负样本。这1点可以从下图的对比中看到,牛这张图像中蓝色框和点表示GT,红色框表示RetinaNet铺设的anchor,红色点表示FCOS铺设的点,左右两边类似表格上的数值表示最终确定的正负样本,0表示负样本,1表示正样本。【论文笔记】:ATSS_第2张图片

  3. RetinaNet通过回归矩形框的2个角点偏置进行预测框位置和大小的预测,而FCOS是基于中心点预测四条边和中心点的距离进行预测框位置和大小的预测。这1点可以从下图的对比中看到,蓝色框和点表示GT,红色框表示RetinaNet的正样本,红色点表示FCOS的正样本。【论文笔记】:ATSS_第3张图片

&Method(s)

【论文笔记】:ATSS_第4张图片
提出本文的思想,自适应的选取正样本的方法,具体方法如下:

  1. 对于每个输出的检测层,选计算每个anchor的中心点和目标的中心点的L2距离,选取K个anchor中心点离目标中心点最近的anchor为候选正样本(candidate positive samples)
  2. 计算每个候选正样本和groundtruth之间的IOU,计算这组IOU的均值和方差
  3. 根据方差和均值,设置选取正样本的阈值:t=m+g ;m为均值,g为方差
  4. 根据每一层的t从其候选正样本中选出真正需要加入训练的正样本
  5. 训练

作者的方法背后的一些动机详情见原文。

&Evaluation

作者的验证ATSS算法方面的实验不多,但是在对比基于anchor-based和anchor-free的目标检测算法(即Retinanet和FCOS)之间的三个差异做的实验丰富。因为就本身ATSS思想简单,实验对比也不多。


以下部分摘自:CSDN博主「AI之路」

知道了 &Problem Statement 部分说的3个差异点,接下来就可以设计对比实验了。因为主要关注第2、3点的影响,所以首先将RetinaNet在每个点铺设的anchor数量减少到1,也就是和FCOS保持一致,这样第1点差异就不存在了。另外,由于FCOS论文中用了一些训练的技巧,如Table1所示,比如Group Normalization、GIoU Loss等,所以为了公平对比2个算法,作者在RetinaNet上也加上了这些技巧,最后mAP达到37.0,基本上和FCOS的37.8很接近了。
【论文笔记】:ATSS_第5张图片
所以接下来作者对剩余的0.8mAP差异进行了分析,做了Table2这个实验。
【论文笔记】:ATSS_第6张图片

这个表格可以这样看:
按行看,Intersection over Union这一行的两个数值表示RetinaNet和FCOS都采用基于IoU方式确定正负样本,二者的mAP基本没有差别;同样Spatial and Scale Constraint这一行的两个数值表示RetinaNet和FCOS都采用基于距离和尺寸方式确定正负样本,二者的mAP也是一样。所以结论就是:回归方式的不同并不是造成FCOS和RetinaNet效果差异的原因,也就是前面说的第3点差异是不影响的。
按列看,Box这一列的两个数值表示将RetinaNet的正负样本确定方式从IoU换成和FCOS一样的基于距离和尺寸,那么mAP就从37.0上升到37.8;同样Point这一列的两个数值表示将FCOS的正负样本确定方式从基于距离和尺寸换成和RetinaNet一样的基于IoU,那么mAP就从37.8降为36.9。所以结论就是:如何确定正负样本才是造成FCOS和RetinaNet效果差异的原因,也就是前面说的第2点差异才是根源。

从论文开始到目前为止的实验对比和分析都是步步紧扣,答案也随之浮出水面,接下来就是论文的第2大部分内容,也就是提出ATSS来确定正负样本,

不过这部分给我的感觉没有前面的实验对比来得有说服力。ATSS本身没有太复杂的内容,如Algorithm 1所示,第3到6行是根据anchor和GT的中心点距离选出候选正样本,每层K个;第7行是计算IoU;第8行到第15行是先计算IoU的均值和标准差从而得到阈值,然后根据阈值进行正负样本确定。

ATSS中的A表示adaptive,翻译过来就是自适应,也就是说正负样本是可以自动确定的,但显然Algorithm 1中还是有少量超参数比如K,以及关于阈值的确定有比较多的先验知识。
不过不可否认的是ATSS的超参数量比之前还是要少一些,而且ATSS对anchor的尺寸、宽高比、数量比较鲁棒,可以参考论文中Table5、Table6和Table7。最终的实验结果如Table8所示,效果上还是不错的,开源代码中还有关于速度的介绍:

【论文笔记】:ATSS_第7张图片


&Conclusion

在这项工作中,作者指出:
一级段基于锚点和基于中心的无锚点探测器之间的本质区别实际上是正训练样本和负训练样本的定义。 这表明在训练对象检测器的过程中如何选择正样本和负样本至关重要。

受此启发,作者深入研究了这一基本问题,并提出了自适应训练样本选择方法,该方法根据目标的统计特征(方差和均值)自动划分正训练样本和负训练样本,弥合了基于锚的探测器与无锚探测器之间的差距。 此外,作者讨论了在每个位置平铺多个锚点的必要性,并证明了在当前情况下这是不费吹灰之力的操作。 在具有挑战性的基准MS COCO上进行的大量实验表明,所提出的方法可以实现最新性能,而不会引入任何额外的开销。

你可能感兴趣的:(#,样本层面,#,Anchor-free)