《Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection》论文解读
本文收录于CVPR2020。
论文链接:https://arxiv.org/abs/1912.02424
源码链接:https://github.com/sfzhang15/ATSS
本文贡献:
1. 指出anchor-based和anchor-free方法的主要区别在于正负样本的选取方式。
2. 提出一种基于统计的Adaptive Training Sample Selection(ATSS)方法,来自动的选取正负样本。
3. 讨论了每个location是否有必要设置多个anchor。
Difference Analysis of Anchor-based and Anchor-free Detection
这里主要在分析anchor-based 和 anchor-free检测方法的区别。本文使用anchor-based来表示anchor-based方法,使用FCOS来表示anchor-free方法。
首先给出了RetinanNet和FCOS的比较,并将RetinaNet与FCOS的策略统一,如下表所示。
其中RetinaNet(#A=1)表示每个location仅设置一个anchor(为了和FCOS保持一致)。发现尽管设置了一样的策略,两者仍有0.8%的差距,那么差距有何而来?
本文分析了两点可能的原因:(1)分类,即如何选取正负样本; (2)回归,即对anchor回归还是对一个中心点回归。
分类:两者分类的区别如下图所示。
在RetinaNet中,正样本是指anchor与gt的IOU大于一定阈值,负样本是指IOU小于一定阈值;而在FCOS中,首先将在gt内的中心点定义为候选正样本,然后根据FPN不同层设置的scale阈值从这些候选样本中选出最终的正样本。
回归:两者回归目标的区别如下图所示。
其中RetinaNet的回归目标是4个值,包括anchor中心点的偏移和长宽的伸缩;而FCOS的回归值则是中心点与上下左右边界的距离。
在了解两者的分类和回归的区别之后,我们来看下表。
其中纵向表示正负样本选取方式的比较,横向表示回归目标的比较。可以很明显的发现,两者结果的差距主要来自于分类的差距。
Adaptive Training Sample Selection
由于上一部分分析了对于目标检测来说,如何选取正负样本将会极大的影响最后的检测效果。因此本文提出了一种新的正负样本选取方式,这种方法几乎不会引入额外的超参数并且更加鲁棒。
具体算法流程如下所示。
很容易理解,主要就是在每个FPN层选取离gt框中心点最近的
这种划分方法有以下几个意义:
1. 自动调整正负样本选取方式。比如当出现高方差的时候,往往意味着有一个FPN层出现了较高的IOU,说明该层非常适合这个物体的预测,因此最终的正样本都出自该层;而出现低方差的时候,说明有多个FPN层适合预测这个物体,因此会在多个层选取正样本。如下图Figure3的分布情况。
2. 限制anchor的中心点在gt之内。因为中心点在gt之外的anchor往往属于poor candidates。
3. 基于统计的方法来划分正负样本。使得每个物体都有相对固定数量的正样本,大致为
4. 几乎无超参数。唯一的超参数就是
根据下表可以发现,anchor-based和anchor-free的方法加上ATSS策略之后,效果都有明显的提升,这也证明了ATSS策略的有效性。
作者还做了一个实验,来验证
根据实验结果,
最后作者还研究了在ATSS策略下,设置不同的anchor scale和ratio对结果的影响。
可以明显发现,结果都很稳定,这也说明了ATSS策略的鲁棒性。
Comparison
由于之前讨论的情况全是在一个location设置单个anchor,因此这部分的主要目的是比较在一个location设置多个anchor的结果。
发现在引入ATSS策略后,设置anchor数量与结果没有明显的关系。
总结:
1. 本文讨论了anchor-based和anchor-free方法差异的本质原因。
2. 在不引入额外cost的情况下,设计了一种新的正负样本选取方式ATSS,该策略几乎没有超参数,同时具有较强的鲁棒性。