一、ATSS
参考:https://blog.csdn.net/xuzz_498100208/article/details/110355048
https://zhuanlan.zhihu.com/p/411659547
作者提出了一种自适应的选取正样本的方法,具体方法如下:
1.对于每个输出的检测层,选计算每个anchor的中心点和目标的中心点的L2距离,选取K(mmdetection的topK是9)个anchor中心点离目标中心点最近的anchor为候选正样本(candidate positive samples)
2.计算每个候选正样本和groundtruth之间的IOU,计算这组IOU的均值和方差
根据方差和均值,设置选取正样本的阈值:t=m+g ;m为均值,g为方差
3.根据每一层的t从其候选正样本中选出真正需要加入训练的正样本
然后进行训练
ATSS (Adaptive Training Sample Selection)
该方法根据目标的相关统计特征自动进行正负样本的选择。
对于每个GT box
,首先在每个特征层找到中心点最近的
个候选anchor boxes(非预测结果)。
计算候选box与GT间的IoU
,计算IoU的均值和标准差
,
得到IoU阈值
选择阈值大于
的box作为最后的输出。如果anchor box对应多个GT,则选择IoU最大的GT。
均值
表示预设的anchor与GT的匹配程度,均值高则应当提高阈值来调整正样本,均值低则应当降低阈值来调整正样本。标准差
表示适合GT的FPN层数,标准差高则表示高质量的anchor box集中在一个层中,应将阈值加上标准差来过滤其他层的anchor box,低则表示多个层都适合该GT,将阈值加上标准差来选择合适的层的anchor box,均值和标准差结合作为IoU阈值能够很好地自动选择对应的特征层上合适的anchor box。
ATSS的思想主要考虑了下面几个方向:
在RetinaNet中,anchor box与GT中心点越近一般IoU越高,而在FCOS中,中心点越近一般预测的质量越高。
若anchor box的中心点不在GT区域内,则其会使用非GT区域的特征进行预测,这不利于训练,应该排除。
根据统计原理,大约16%的anchor box会落在
,尽管候选框的IoU不是标准正态分布,但统计下来每个GT大约有
个正样本,与其大小和长宽比无关,而RetinaNet和FCOS则是偏向大目标有更多的正样本,导致训练不公平。
ATSS仅有一个超参数
,后面的使用会表明ATSS的性能对
不敏感,所以ATSS几乎是hyperparameter-free的。