目标检测 | ATSS,正负样本的选择决定检测性能
1. 论文信息
论文标题:《Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection》
论文发表:
CVPR2020
论文链接:https://openaccess.thecvf.com
论文代码:https://github.com/sfzhang15/ATSS
1 | @inproceedings{zhang2020bridging, |
2. 归纳总结
Name | Value |
---|---|
标签 | #正负样本 #目标检测 |
数据集 | MSCOCO |
目的 | 通过实验发现Anchor-Base 和Anchor-Free 的区别在于正负样本定义,并提出了ATSS |
方法 | 使用IoU的均值和标准差作为判断正负样本的自适应IoU 阈值 |
3. 问题背景
论文指出单阶段Anchor-Based
和Center-Based Anchor-Free
检测算法的性能差异主要来自于正负样本的选择策略不同
,基于此问题,作者提出了ATSS(Adaptive Training Sample Selection)方法,该方法能够自动根据真实框(GT)的相关统计特征自适应地选择合适的样本,进而提升模型性能…
4. 主要工作
- 指出
Anchor-Free
和Anchor-Based
方法的根本差异主要来源于正负样本的选择; - 提出
ATSS
(Adaptive Training Sample Selection
)方法来根据对象的统计特征自动选择正负样本; - 证明每个位置设定多个
anchor
是无用的操作; - 不引入其它额外的开销,在
MS COCO
上达到SOTA
;
4.1 Anchor-Based
和Anchor-Free
的区别分析
由于FCOS
是基于point
进行预测,故可以认为就是一个像素位置有一个anchor
,为了公平对比,将RetinaNet
的anchor
也设置为1个(#A=1
),将FCOS
的训练策略移动到RetinaNet
上面,可以发现性能依然是RetinaNet
低于fcos 0.8mAP。 排除这个因素后,现在两个算法的区别是:
- 1.正负样本定义;
- 2.回归分支中从
point
回归还是从anchor
回归;从point
回归就是指的每个点预测距离4条边的距离模式,而从anchor
回归是指的RetinaNet
那种基于anchor
偏移量回归的模式。
但作者通过实验分析可以知道回归分支中从point回归还是从anchor回归对最终影响很小,反而是正负样本定义对结果影响最大。
4.2 ATSS
算法流程如下:
论文提出ATSS方法,该方法根据目标的相关统计特征自动进行正负样本的选择,具体逻辑如算法1所示。对于每个GT box g
,首先在每个特征层找到中心点最近的k
个候选anchor boxes(非预测结果),计算候选box与GT间的IoU $U_g$,计算IoU的均值$m_g$和标准差$v_g$,得到IoU阈值$t_g=m_g+v_g$,最后选择阈值大于$t_g$的box作为最后的输出。如果anchor box对应多个GT,则选择IoU最大的GT。
均值$m_g$表示预设的anchor与GT的匹配程度,均值高则应当提高阈值来调整正样本,均值低则应当降低阈值来调整正样本。标准差$v_g$表示适合GT的FPN层数,标准差高则表示高质量的anchor box集中在一个层中,应将阈值加上标准差来过滤其他层的anchor box,低则表示多个层都适合该GT,将阈值加上标准差来选择合适的层的anchor box,均值和标准差结合作为IoU阈值能够很好地自动选择对应的特征层上合适的anchor box;
根据统计原理,大约16%的anchor box会落在$[m_g+v_g,1]$,尽管候选框的IoU不是标准正态分布,但统计下来每个GT大约有0.2×kL个正样本,与其大小和长宽比无关,而RetinaNet和FCOS则是偏向大目标有更多的正样本,导致训练不公平;其中ATSS仅有一个超参数k,并且实验表明ATSS的性能对k不敏感,参数k
在区间$[7,17]$几乎是一样的,过大的设置会到导致过多的低质量候选anchor,而过小的设置则会导致过少的正样本,而且统计结果也不稳定。总体而言,参数k
是相对鲁棒的,所以ATSS几乎是hyperparameter-free的。
将ATSS应用到RetinaNet和FCOS上测试效果:
- 将RetinaNet中的正负样本替换为ATSS,AP提升了2.9%,这样的性能提升几乎是没有任何额外消耗的
- 在FCOS上的应用主要用两种:lite版本采用ATSS的思想,从选取GT内的anchor point改为选取每层离GT最近的top-$k$个候选anchor point,提升了0.8%AP;full版本将FCOS的
anchor point
改为长宽为$8S$的anchor box
来根据ATSS选择正负样本,但仍然使用原始的回归方法,提升了1.4%AP。两种方法找到的anchor point
在空间位置上大致相同,但是在FPN
层上的选择不太一样。从结果来看,自适应的选择方法比固定的方法更有效。
论文还补充测试了不同anchor数下的性能,并且其实验结果证明,在每个位置设定多个anchor box是无用的操作,关键在于选择合适的正样本;
5. 实验结果
6. 参考文献
ATSS : 目标检测的自适应正负anchor选择,很扎实的trick | CVPR 2020 - 知乎 (zhihu.com)