目标检测 | Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection论文阅读
解读:本科生黄勋
联系邮箱:201821121104@jmu.edu.cn
论文地址:https://arxiv.org/pdf/1912.02424.pdf
开源代码:https://github.com/sfzhang15/ATSS
论文作者及研究团队概述:
团队成员包括张世锋、雷震、姚永强、李子青、Cheng Chi,团队研究兴趣包括机器学习和模式识别,重点是一般目标检测、人脸检测、行人检测和视频检测。
内容目录:
-
论文简介
-
具体研究内容
-
实验
-
结论
1.论文简介
1.论文主要内容
内容上主要包括2大方面:
1、对于基于anchor-based和anchor-free的目标检测算法之间的效果差距做了详细的对比实验
2、提出了ATSS方式来确定正负样本。
2.主要贡献
-
说明anchor-based和anchor-free之间的本质区别实际上是如何去定义的正、负训练样本。
-
提出ATSS选择根据对象的统计特征自动选择正、负训练样本。
-
证明在图像上每个位置放置多个anchors以检测obj结论是一种无用的操作(在使用ATSS的情况下)。
2.具体研究内容
####anchor-based与anchor-free
Anchor-free和Anchor-based方法如上图所示,可以看出来两种方法结构非常相似,它们之间有三个主要的区别:
- 每个位置的anchor的数量。RetinaNet每个位置设置几个anchor,而FCOS设置一个anchor每个位置;
- 正、负样本的定义。RetinaNet是根据IOU阈值设定,FCOS使用空间和尺度的约束来确定正负样本;
- 回归开始状态。RetinaNet将目标边界框从预置anchor框中回归,FCOS从点定位目标。
####为什么anchor-free(FCOS)性能明显好于anchor-based(RetinaNet)?
文章首先分析了FCOS比RetinaNet多用的一些隐藏的涨分点,排除一些因素的干扰,主要有以下几项:
- adding GroupNorm in heads
- using the GIoU regression
- limiting positive samples in the ground-truth box
- introducing the centerness branch
- adding a trainable scalar for each level feature pyramid
文章逐一控制这些因素的对比实验结果如下:
可以看出来,在排除了一些其他因素干扰的情况下FCOS比RetinaNetAP值只高了0.8个点
####anchor-free与anchor-based3个主要区别的贡献度
#####1.每个位置的anchor的数量
RetinaNet每个位置设置一个或多个anchor,而FCOS每个位置设置一个anchor:
在本文中没有进行讨论,但是控制了FCOS和RetinaNet中anchor的数量均为1(#A=1)以及在末尾讨论了下anchor的数量是否有影响。
#####2. 正、负样本的定义
RetinaNet是根据IOU阈值设定,FCOS使用空间和尺度的约束来确定正负样本:
两个网络分别在两种定义正、负样本的方法的实验结果:
发现:
RetinaNet改用空间+尺度约束(Box+Spatial and Scale Constraint)比原来的方法(Box+Intersection over Union)的AP值高了0.8个点;
而FCOS改用IoU(PointIntersection over Union)+比原来的方法(Point+Spatial and Scale Constraint)低了0.9个点;
表明:
如何定义正负样本是anchor-free和anchor-based之间的本质区别。
#####3.回归开始状态
RetinaNet将目标边界框从预置anchor框中回归,FCOS从点定位目标:
两个网络分别在两种回归开始状态的实验结果:
发现:
RetinaNet改用从anchor point定位目标(Point+Intersection over Union)比原来的方法(Box+Intersection over Union)的AP值低了0.1个点;
FCOS改用从预置anchor框中回归(Box+Spatial and Scale Constraint)比原来的方法(Point+Spatial and Scale Constraint)的AP值没有改变
表明:
回归起始状态是一个无关的差异。
####ATSS(Adaptive Training Sample Selection)
以前的样本选择策略有一些超参数,如anchor-based中的IoU阈值等。 在设置了这些超参数后,所有的ground truth box都必须根据固定的规则选择它们的正样本,这些样本适用于大多数对象,但一些对象将被忽略。
为此,提出了一种ATSS方法,该方法几乎没有任何超参数。
ATSS算法原文:
算法的大致流程:
- 对于每个输出的检测层,选计算每个anchor的中心点和目标的中心点的L2距离,选取K个anchor中心点离目标中心点最近的anchor为候选正样本(candidate positive samples)
- 计算每个候选正样本和groundtruth之间的IOU,计算这组IOU的均值和方差
- 根据方差和均值,设置选取正样本的阈值:t=m+g ;m为均值,g为方差
- 根据每一层的t从其候选正样本中选出真正需要加入训练的正样本(IoU>=t)
算法动机:
- 使用L2距离找到离中心最近的k个候选正样本集是因为对于RetinaNet,当anchor中心更靠近物体中心时,IoU更大。对于FCOS,point离目标中心越近,检测质量越高。因此,更接近对象中心的anchor是更好的候选正样本。
- 使用统计样本的均值和方差作为阈值的原因是通过利用平均mg和标准偏差vg之和作为IoU阈值tg,可以根据目标的统计特性,自适应地从适当的特征图上为每个对象选择适合的正样本:
3.实验
####一、在MS COCO minival set上验证所提出的方法。 ATSS和Center sampling(只用在选取候选正样本的时候使用ATSS方法。)是提出方法的完整版本和简单版本:
####二、每个位置有不同的多个anchor在 MS COCO minival set上的实验结果:
(#sc,#ar为尺度和纵横比,imprs为前文提到的5个涨分点)
可以发现:
与之前(#A=1)的实验结果相比可以知道在不使用ATSS的情况下,改进的Retina Net(#A=9)比Retina Net(#A=1)有更好的性能。
然而,在使用ATSS后,将得出相反的结论——每个位置放置多个anchor是一种无用的操作.
####三、 分析了MS COCO minival set上不同值超参数k下的实验结果:
试验结果表明相较于k的其他值,在k=9的时候取得了略高的AP值。故算法中设置k的default=9。
也体现了实际上超参数k实际上是不敏感的,因而这种方法可以看做是一种非超参数的方法。
####四、最终在 MS COCO test-dev set训练集下的实验结果如表所示:
可以发现,各网络在使用ATSS的情况下的各类AP值均得到不小的提升。
4.结论
- 指出了anchor-free与anchor-based之间的本质区别实际上是正训练样本和负训练样本的定义。 这表明在训练过程中如何选择正样本和负样本至关重要。
- 受此启发,作者深入研究了这一基本问题,并提出了自适应训练样本选择方法,该方法根据目标的统计特征(方差和均值)自动划分正训练样本和负训练样本,减少了anchor-free与anchor-based超参数的影响。
- 作者讨论了在每个位置平铺多个anchor的必要性,并证明了在当前情况下这是无用的操作。
- 在具有挑战性的基准MS COCO上进行的大量实验表明,所提出的方法可以实现最新性能,而不会引入任何额外的开销。