ATSS

Apr 25, 2024
2 views
Computer Vision

Introduction


由于FPN和Focal loss 的加入,anchor-free模型变得越来越多。在仔细比对了anchor-based和anchor-free目标检测方法后,结合实验结果,论文认为两者的性能差异主要来源于正负样本的定义,假如训练过程中使用相同的正负样本,两者的最终性能将会相差无几。

作者将目前的Anchor-free分为两个大类:

  1. keypoint-based methods:以CornerNet和ExtremeNet为代表,首先定位几个预定义或自学习的关键点,然后限制物体的空间范围;
  2. center-based methods:以FCOS和Foveabox为代表,使用物体的中心点或区域定义基准点,然后预测从该点到物体边界的四个距离。
    为此,论文提出ATSS( Adaptive Training Sample Selection)方法,基于GT的相关统计特征自动选择正负样本,能够消除anchor-based和anchor-free算法间的性能差异论文的主要贡献如下:
  • 指出anchor-free和anchor-based方法的根本差异主要来源于正负样本的选择
  • 提出ATSS( Adaptive Training Sample Selection)方法来根据对象的统计特征自动选择正负样本
  • 证明每个位置设定多个anchor是无用的操作
  • 不引入其它额外的开销,在MS COCO上达到SOTA

Difference Analysis of Anchor-based and Anchor-free Detection


论文选取anchor-based方法RetinaNet和anchor-free方法FCOS进行对比,差异主要有以下3点:

  1. RetinaNet在特征图上每个点铺设多个anchor,而FCOS在特征图上每个点只铺设一个中心点,这是数量上的差异。
  2. RetinaNet基于anchor和GT之间的IoU和设定的阈值来确定正负样本,而FCOS通过GT中心点和铺设点之间的距离和尺寸来确定正负样本。这1点可以从下图的对比中看到,牛这张图像中蓝色框和点表示GT,红色框表示RetinaNet铺设的anchor,红色点表示FCOS铺设的点,左右两边类似表格上的数值表示最终确定的正负样本,0表示负样本,1表示正样本。
  3. RetinaNet通过回归矩形框的2个角点偏置进行预测框位置和大小的预测,而FCOS是基于中心点预测四条边和中心点的距离进行预测框位置和大小的预测。这点可以从下图的对比中看到,蓝色框和点表示GT,红色框表示RetinaNet的正样本,红色点表示FCOS的正样本。

Inconsistency Removal

image

由于FCOS加入了很多trick,这里将RetinaNet与其进行对齐,包括GroupNorm、GIoU loss、限制正样本必须在GT内、Centerness branch以及添加可学习的标量控制FPN的各层的尺寸。结果如表1,最终的RetinaNet仍然与FCOS有些许的性能差异,但在实现方法上已经基本相同了

Essential Difference

所以接下来作者对剩余的0.8mAP差异进行了分析,做了Table2这个实验。这个表格可以这样看:

image

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

Adaptive Training Sample Selection

从论文开始到目前为止的实验对比和分析都是步步紧扣,答案也随之浮出水面,接下来就是论文的第2大部分内容,也就是提出ATSS来确定正负样本,不过这部分给我的感觉没有前面的实验对比来得有说服力。ATSS本身没有太复杂的内容,如Algorithm 1所示,第3到6行是根据anchor和GT的中心点距离选出候选正样本,每层K个;第7行是计算IoU;第8行到第15行是先计算IoU的均值和标准差从而得到阈值,然后根据阈值进行正负样本确定。

image

ATSS的思想主要考虑了下面几个方向:

  • Selecting candidates based on the center distance between anchor box and object
  • Using the sum of mean and standard deviation as the IoU threshold
  • Limiting the positive samples’ center to object
  • Maintaining fairness between different objects
  • Keeping almost hyperparameter-free