(十八)论文阅读 | 目标检测之ATSS


简介

在这里插入图片描述

图1:论文原文

论文是发表在 C V P R   2020 {\rm CVPR\ 2020} 上的一篇关于目标检测文章。我们知道,在训练目标检测模型过程中,为了增强模型的鲁棒性、减弱正负样本的极不平衡性,通常会对所有样本按一定比例(目标检测中通常设定为 1 : 3 {\rm 1:3} )采样正负样本。而采样样本的质量直接决定了训练模型的性能,甚至影响训练过程的收敛情况。根据前人工作,作者提出一种自适应采样方法, A T S S {\rm ATSS} 。同时,实验证明了在 A n c h o r B a s e d {\rm Anchor–Based} A n c h o r F r e e {\rm Anchor–Free} 方法上,使用 A T S S {\rm ATSS} 较以前采样方法均有提升。最终在 C O C O {\rm COCO} 数据集上达到 S O T A {\rm SOTA}
论文原文 源码


0. Abstract

作者指出,影响无框检测方法和有框检测方法性能的因素是正负样本的采样方式。基于此,论文提出一种基于目标的统计特征的自适应采样方法, A T S S {\rm ATSS} 。它同时提高了无框检测方法和有框检测方法的性能。此外,在论文中作者还讨论了在特征图上的每个位置铺设多个先验框的非必要性。
论文贡献:(一)指出影响有框检测方法和无框检测方法性能的主要因素是样本采样方式;(二)提出一种自适应样本的采样方法;(三)证明在目标检测中,特征图的同一位置设置多个先验框是非必要的;(四)基于 A T S S {\rm ATSS} 的模型达到 S O T A {\rm SOTA}


1. Introduction

作者首先指出,由于两阶段算法相比于一阶段算法具有更多先验框的调整过程(即改变了训练过程中正负样本的比例),前者对应模型的精度往往高于后者,但后者对应的模型速度通常优于前者。与此同时,近期出现的无框检测方法不用预设先验框,从而避免了相关超参数的设置。
这里,作者拿 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 为例,对比上述两种方法的差异: ( 1 ) (1) 二者的先验框数目; ( 2 ) (2) 正负样本的定义方式; ( 3 ) (3) 回归方式。论文严格使用控制变量法寻找有框检测方法和无框检测方法性能差异的原因。最终实验证明,训练过程中正负样本的采样方法是主要因素。针对此问题,论文提出一种基于自适应采样方法,它根据数据特征自动采样正负样本。
由于后面实验大量使用这两个网络做对比,在进行下面部分前,我们就前面提到的三个方面大体介绍一下 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 在这里插入图片描述

图2:RetinaNet

如上图, R e t i n a N e t {\rm RetinaNet} 三部分组成:提取特征部分的 R e s N e t {\rm ResNet} ,网络颈使用 F P N {\rm FPN} ,检测头使用一个分类分支和回归分支。对于先验框的设置和样本的采样, R e t i n a N e t {\rm RetinaNet} 参考的是 R P N {\rm RPN} :针对输出大小为 H × W H×W 的特征图,每个位置产生 k k 个先验框。考虑到 R e t i n a N e t {\rm RetinaNet} 中有三种不同尺度的输出,这里使用三种框的比例为 { 1 : 2 , 1 : 1 , 2 : 1 } {\rm \{1:2,1:1,2:1\}} 、大小为 { 2 0 , 2 1 / 3 , 2 2 / 3 } {\rm \{2^0,2^{1/3},2^{2/3}\}} ,即每个位置共产生九种相对大小的先验框。在样本采样方面根据先验框同标注框的 I o U {\rm IoU} 而定,如果 I o U 0.5 {\rm IoU≥0.5} ,则视该先验框为正样本;如果 0 I o U 0.4 {\rm 0≤IoU<0.4} ,则视其为负样本;其余先验框为忽略样本,在训练过程中不使用。 R e t i n a N e t {\rm RetinaNet} 的回归方式参考 F a s t e r {\rm Faster–} R C N N {\rm RCNN} ,以先验框与标注框的相对偏移为回归目标。
在这里插入图片描述

图3:FCOS

扫描二维码关注公众号,回复: 11515682 查看本文章

如上图, F C O S {\rm FCOS} 三部分组成:提取特征部分的 B a c k b o n e {\rm Backbone} 使用 R e s N e t {\rm ResNet} ,网络颈使用 F P N {\rm FPN} ,检测头使用一个分类分支和回归分支,同时在分类分支处并上一个 C e n t e r n e s s {\rm Center–ness} 分支用于实现无框检测。无框检测方法的出现是为了消除先验框参数需人为设计的弊端, F C O S {\rm FCOS} 通过 C e n t e r n e s s {\rm Center–ness} 分支达到直接回归边界框中心和宽高的目的。具体地,对于输出特征图 F F 上的每个位置 ( x , y ) (x,y) ,通过 ( s 2 + x s , s 2 + y s ) (\lfloor\frac{s}{2}\rfloor+xs,\lfloor\frac{s}{2}\rfloor+ys) 映射回原图( s s 是当前特征图的下采样倍数,映射回原图的位置近似于该位置对应的感受野区域的中心)。如果该位置落入任何标注框内,则将其视为正样本,且将类别标签设置为与该标注框相同;否则,将其视为负样本。同时,将映射后的位置到该标注框的四个边界距离作为回归目标。为了保证多尺寸检测特性, F C O S {\rm FCOS} 规定在某层输出上只回归特定范围尺寸的物体,如果超过规定的范围,满足上述映射条件的样本也将其视为负样本。我们可以观察到,根据 F C O S {\rm FCOS} 的定义方式,最终会有较多正样本,所以作者在后续使用 C e n t e r n e s s {\rm Center–ness} 改善样本的质量。
综合以上对 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 的简要介绍,下面就三个方面对二者进行比较:

  1. 先验框数目 R e t i n a N e t {\rm RetinaNet} 使用 R P N {\rm RPN} 方式定义先验框,对于大小为 H i × W i H_i×W_i 的特征图,共产生 k H i W i kH_iW_i 个先验框,论文中 k 9 k=9 ,共三种尺度输出。所以,最终产生的先验框数目为 k H W \sum kHW F C O S {\rm FCOS} 是无框检测方法,所以我们这里将先验框称之为样本,根据其定义样本的方式,共产生的样本样本数目为 H W \sum HW 。对比二者, R e t i n a N e t {\rm RetinaNet} 产生的先验框数目要多于 F C O S {\rm FCOS}
  2. 正负样本定义方式 R e t i n a N e t {\rm RetinaNet} 的正负样本是根据先验框同标注框的 I o U {\rm IoU} 确定的,如果大于设定的正样本阈值,则视为正样本;如果小于负样本阈值,则视为负样本;其余视为忽略样本,不参与训练。而 F C O S {\rm FCOS} 是通过将特征图上的位置映射回原图的位置而确定的,如果其在某个标注框内,则视其为正样本;否则为负样本。对比二者, F C O S {\rm FCOS} 产生正样本数量要多于 R e t i n a N e t {\rm RetinaNet} ,且所有样本在训练过程中均有使用。
  3. 回归方式。类似于 F a s t e r R C N N {\rm Faster–RCNN} R e t i n a N e t {\rm RetinaNet} 以先验框同标注的偏移作为回归目标。而 F C O S {\rm FCOS} 使用映射到原图的位置距离标注框边界的距离作为回归方式,同时,如果该位置处于多个边界框内,则基于较小的那个标注框确定回归目标。对比二者,先验框同标注框的匹配是二者在回归过程中的关键步骤。

如下图是二者采样方式的对比:在这里插入图片描述

图4:RetinaNet和FCOS采样方式的比较

图中 1 {\rm 1} 表示正样本、 0 {\rm 0} 表示负样本、 ? {\rm ?} 表示 F C O S {\rm FCOS} 中的候选正样本。在 R e t i n a N e t {\rm RetinaNet} 中根据 I o U {\rm IoU} 判定样本性质,在 F C O S {\rm FCOS} 中根据映射在原图中的位置确定候选的正样本,然后通过该层所设定的回归范围最后确定样本的性质。

如下图是二者回归方式的对比:在这里插入图片描述

图5:RetinaNet和FCOS回归方式的比较

图中蓝色边界框和点是标注信息,红色边界框和点是先验信息。在 R e t i n a N e t {\rm RetinaNet} 中以先验框同标注的偏移作为回归目标,在 F C O S {\rm FCOS} 中根据映射在原图中的位置与标注框各边界的距离为回归目标。


2. Related Work

作者在相关工作部分总结了目标检测方法的两个大类:

  1. 有框检测方法。其中又分为两阶段算法和一阶段算法。两阶段算法包括: R C N N {\rm RCNN} 系列、 R F C N {\rm R–FCN} 等;一阶段算法包括: S S D {\rm SSD} 等。
  2. 无框检测方法。其中又分为基于关键点的检测算法和基于中心的检测算法。基于关键点的方法包括 C o r n e r N e t {\rm CornerNet} C e n t e r N e t {\rm CenterNet} R e p P o i n t s {\rm RepPoints} 等;基于中心的方法包括 Y O L O {\rm YOLO} F S A F {\rm FSAF} F C O S {\rm FCOS} 等。

3. Difference Analysis of Anchor-Based and Anchor-Free Detection

为了寻找有框检测方法和无框检测方法的实质性差异,作者拿 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 为例,通过设置大量实验对比,最终得出结论:二者的差异主要来源于分类网络和回归网络。对于分类网络和回归网络,正如前面所提到的相关内容,作者得出如下实验结果:在这里插入图片描述

图6:RetinaNet和FCOS的不同采样方式的实验结果对比

上图中 B o x {\rm Box} 表示 R e t i n a N e t {\rm RetinaNet} P o i n t {\rm Point} 表示 F C O S {\rm FCOS} I n t e r s e c t i o n   o v e r   U n i o n {\rm Intersection\ over\ Union} R e t i n a N e t {\rm RetinaNet} 原本的采样方式, S p a t i a l   a n d   S c a l e   C o n s t r a i n t {\rm Spatial\ and\ Scale\ Constraint} F C O S {\rm FCOS} 原本的采样方式,数字代表在 C O C O {\rm COCO} 数据集上的 A P {\rm AP} 值。

由以上实验结果可以得出:样本的采样方式是导致有框检测和无框检测方法之间差异的主要因素。就此问题,作者提出一种自适应的样本采样方法, A T S S {\rm ATSS}


4. Adaptive Training Sample Selection

4.1 Description

传统的样本采样方法基于超参数的设置,如有框检测方法中的 I o U {\rm IoU} 阈值、无框检测方法中的尺寸范围等(对应于上述的 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} )。论文提出的 A T S S {\rm ATSS} 不设计超参数的设置,其算法流程如下:在这里插入图片描述

图7:ATSS

算法解释为:输入包括 G G 表示输入图像上的标注框、 L L 表示特征层数目、 A i A_i 表示来自第 i i 特征层的先验框、 A A 表示所有先验框、 k = 9 k=9 为超参数,输出包括 P P 表示正样本、 N N 表示负样本。第一行循环用于遍历标注框;第二行定义一个集合 C g C_g 用于存放候选正样本;第三行循环用于遍历特征层;第四行基于 L 2 {\rm L_2} 距离从 A i A_i 中选择 k k 个与标注框的中心足够接近的先验框;第五行将上一步选择的先验框并入候选正样本集合 C g C_g 中;第六行结束第三行的循环;第七行计算 C g C_g 中的样本同标注框的 I o U {\rm IoU} 值为 D g D_g 第八行计算上一步结果 D g D_g 的平均值 m g m_g 第九行计算 D g D_g 的标准差 v g v_g 第十行将均值 m g m_g 与标准差 v g v_g 的和作为候选进一步筛选正样本的 I o U {\rm IoU} 阈值 t g t_g 第十一行循环遍历上面得到的候选正样本集合 C g C_g 第十二行第十三行如果候选正样本与标注框的 I o U {\rm IoU} 大于阈值 t g t_g 且其中心位于标注框内,则将该候选样本确定为正样本,并存入 P P 中;第十四行第十五行第十六行结束;第十七行定义负样本集合 N N 为所有样本 A A 减去正样本集合 P P 第十八行结束程序。
对于以上算法需要注意几点 A T S S {\rm ATSS} 确定正负样本的过程可以看作是将 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 结合。首先在筛选候选正样本时采用了 F C O S {\rm FCOS} 中心点距离相近的原则,在最后确定正样本时参考了 R e t i n a N e t {\rm RetinaNet} 中基于候选框和标注框 I o U {\rm IoU} 的方案;在确定 I o U {\rm IoU} 阈值时,考虑候选正样本 I o U {\rm IoU} 的均值可以反应其整体质量,候选正样本 I o U {\rm IoU} 的标准差可以反应当前特征层的选择是否合适。如下图是作者实验所得:在这里插入图片描述

图8:IoU阈值的选取

如横坐标表示特征层,纵坐标表示 I o U {\rm IoU} 阈值。由两图对比可知,首先均值 m g m_g 用于调整候选正样本的集合。其次,标准差 v g v_g 过高,则表示先验框集合与标注框的 I o U {\rm IoU} 值波动较大,即很多高质量的先验框集中在这一层,通过将二者求和增大 I o U {\rm IoU} 阈值可以过滤适合于其他层的先验框;标准差过低,则表示先验框集合与标注框的 I o U {\rm IoU} 值波动较小,即多个特征层的先验框均适合该标注框,通过将二者求和增大 I o U {\rm IoU} 阈值可以筛选出更适合该标注框的特征层。总之, A T S S {\rm ATSS} 提供了一种为标注框选择最合适先验框的方案。

最后,根据统计结果表明每个目标标注框大概有 0.2 k L 0.2*kL 个正样本,且该数据与先验框的比例、尺寸和位置无关。与之对比的是, R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 会采样更多的正样本, A T S S {\rm ATSS} 的采样结果更加平衡。算法中使用的超参数 k k 值最最终实验结果影响甚微,论文中也有相应的实验佐证。

4.2 Verification

为了证明 A T S S {\rm ATSS} 的有效性,作者将其与 R e t i n a N e t {\rm RetinaNet} F C O S {\rm FCOS} 结合,实验结果如下:在这里插入图片描述

图9:ATSS+RetinaNet/FCOS实验结果对比

其中# A = 1 {\rm A=1} 表示在 R e t i n a N e t {\rm RetinaNet} 中特征图上的每个位置仅铺设一个先验框,设置的目的是为了和 F C O S {\rm FCOS} 的对比实验更加严格( F C O S {\rm FCOS} 中将每个位置作为一个样本,相当于每个位置预设一个先验框)。

最后,为了证明论文贡献中的第三点,作者使用以下实验证明。在这里插入图片描述

图10:同一位置使用不同数量的先验框

# s c {\rm sc} 表示先验框的尺寸、# s c {\rm sc} 表示先验框的比例, I m p r s . {\rm Imprs.} 表示 G r o u p N o r m {\rm GroupNorm} G I o U   L o s s {\rm GIoU\ Loss} 等一系列提高模型精度的方法。由实验结果可知,先验框的数量对最终的结果影响较小,而更重要的是对正负样本的采样的方法。

4.3 Comparison

最后给出基于 A T S S {\rm ATSS} 的模型同其他目标检测方法的对比:
在这里插入图片描述

图11:基于ATSS模型同其他方法对比


5. Conclusion

论文首先指出有框检测算法和无框检测算法性能差异的主要因素是正负样本的采样方法。并以 R e t i n a {\rm Retina} N e t {\rm -Net} F C O S {\rm FCOS} 为例,分别分析其采样方法,最后综合二者思路提出基于统计特征的自适应采样方法。
根据论文的实验结果对比, A T S S {\rm ATSS} 是一种有效的样本采样方法。在有框检测方法,如 R e t i n a N e t {\rm RetinaNet} 类方法中, A T S S {\rm ATSS} 可以直接替换原始的采样方法;在无框检测方法,如 F C O S {\rm FCOS} 类方法中,可以由两种思路:第一,在 F C O S {\rm FCOS} 中由候选正样本到正样本的过程中,由每层设定先验框尺寸范围后仅保留一个与标注框匹配的先验框,可以使用 A T S S {\rm ATSS} k k 个的思想以保留更多的选择性;第二,将特征图上的点改为边界框,同时基于 A T S S {\rm ATSS} 采样样本,且保留 F C O S {\rm FCOS} 中原始的回归方式。

由于没有阅读源码,本文只总结了 A T S S {\rm ATSS} 的大体结构和信息,详细内容请阅读论文原文


参考

  1. Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2980-2988.
  2. Tian Z, Shen C, Chen H, et al. Fcos: Fully convolutional one-stage object detection[C]// Proceedings of the IEEE International Conference on Computer Vision. 2019: 9627-9636.
  3. Zhang S, Chi C, Yao Y, et al. Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection[J]. arXiv preprint arXiv:1912.02424, 2019.


猜你喜欢

转载自blog.csdn.net/Skies_/article/details/105982775