文章:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection
2020 CVPR
论文地址:https://arxiv.org/abs/1912.02424
代码地址:https://github.com/sfzhang15/ATSS
文章写的是真漂亮!!!
Anchor s Anchor Free
文中提出,anchor based的方法和anchor free有以下三个区别:
- 1)每个位置的anchor数量:anchor based的方法每个位置有多个anchor,anchor free的方法每个位置只有一个anchor point
- 2) 正负样本的定义:anchor based的方法根据anchor和GT的IoU定义正负样本,anchor free的方法根据空间位置和GT的scale定义
- 3) 框回归的起始状态:anchor based的方法是回归GT框与anchor的残差,anchor free的方法则是回归anchor point到四个边的距离
有了以上三个区别,文章就要分析,到底是哪个因素影响了Anchor based的和Anchor free的性能差别了呢?
作者选取了RetinaNet(anchor based)和FCOS(Anchor Free)的方法作对比。
RetinaNet Vs FCOS
看RetinaNet和FCOS的结构,都非常简单,而且相似。作者先不讨论第一区别的影响,先讨论后两个。所以先将RetinaNet的anchor的数量设置为1,记作RetinaNet(#A=1),anchor大小为8S。这样RetinaNet(#A=1)的性能下降到32.5%,与FCOS的37.8还有很大差距。但此时,FCOS其实还有很多Trick在里面,当把这些trick加入到RetinaNet(#A=1)中,RetinaNe(#A=1)t的性能上到了37.0,仍然有些差距。但目前来看,两者网络一模一样了,区别只能是在anchor based和anchor free的差别了,也就是上述的前两个问题。
针对2)和3)问题