背景介绍
anchor based的检测模型,比如SSD,RetinaNet,YOLOv2之类,这类模型可以认为是一种box-to-box的形式。而现在比较热门的anchor free的检测模型,比如FSAF,本文的SAPD,FCOS,FoveaBox,CornnerNet,CenterNet之类,这类模型可以认为是一种points-to-box形式。
Anchor free模型的优势:
- 不需要手动调整关于anchor的超参数
- 检测的head常常更简单
- 大多在速度和精度上都比anchor based模型更好
而现在的anchor free的方法又可以细分为两类:
- Anchor point detector:FoveaBox,FSAF,FCOS等
- key point detector:ConnerNet,CenterNet等
这两种结构的主要区别是点是预测出来的?还是预先设定的位置?anchor point方法开始就确定好了大概哪些点用来负责做样本的分类,而key point需要预测点的同时做点的类别预测。
Key point方法的优点是输入尺寸比较小的图片也能够得到相对比较高的精度,但是模型的结构需要下采样和上采样,需要在比较大的feature map上进行预测,因此需要比较高的FLOPs和内存消耗。训练和测试都比较耗时。
而anchor point方法的优点是:1.网络结构更简单;2.训练和推理更快;3.可以得益于FPN的结构;4.灵活的feature层选择方案
本文的改进是基于SAPD进行的,主要解决attention bias和feature selection两个问题,通过对这两个部分的改进,提升模型的精度,使现在的精度可以超过key point方法。
从上图可以看到centernet的点,GPU time使300ms左右,精度使44.9,而本方法SAPD可以达到46,但是耗时只有100出头。CenterNet使用的使HG-104的backbone,SAPD使用的使R-101-DCN。CenterNet需要在大的feature map上做预测这点,确实让CenterNet的速度快不起来。
SAPD介绍
本文的改进是基于FASF进行的,先回顾一下FSAF的机构。
FSAF
Network architecture
网络结构包括一个backbone,一个FPN结构,每个FPN的feature map接一个预测头。
代表FPN的