在CVPR 2020上,为了更好的解决物体检测中的尺度问题,商汤EIG算法中台团队重新设计了经典的单阶段检测器的FPN以及HEAD结构,通过构造更具等变性的特征金字塔,以提高检测器应对尺度变化的鲁棒性,可以使单阶段检测器在coco上提升~4mAP,完整代码已开源。文章提出了一个针对物体具有大尺度变化数据集的检测算法。
工作的研究动机在于:当前所有基于RetinaNet的单阶段检测器,都采用了共享权重的分类HEAD以及回归HEAD在特征金字塔上滑动从而检测不同大小的物体,相应的最为适应这种结构的特征金字塔对于尺度变化应当具有等变性。经典的底层特征提取算法如SIFT,其高斯金字塔具有很好的尺度等变性,我们思考了深度神经网络中特征金字塔与高斯金字塔的区别,从而提出了提高其等变性的算法。
分析相比高斯金字塔,从backbone的不同stage抽取特征图组成的的特征金字塔其实失去了严格的等变性。深度神经网络中,因为足够多的卷积与非线性激活单元,其不同stage感受野的变化在特征图的不同位置具有不一致的现象,使得金字塔的两层间很难有高斯金字塔一样,不同大小物体的特征在downsample一次,或者增大特征提取算子的dilation这样的处理后具有一致性。
网络设计如何改进特征金字塔使其具有更好的等变性质呢?我们发现,在特征金字塔的某一层为基准,其与上下两层间具有更好的相关性,直觉上可以推测其底部一层往往保留有更多的定位相关的信息,更高层往往具有更好的分类相关的信息,而以往的feature fusing的方法都遗漏了这种空间尺度(特征金字塔层间)的相关性。
我们选取了FSAF,RetinaNet,FreeAnchor三个有代表性的model验证我们的有效性。可以看到,我们提出的模块在三个model上均有稳定的提升,并且性能提升相比flops与forward速度的增加极具性价比,值得注意的是,虽然我们使用了Dconv,但是性能的提升不仅仅是Dconv带来的,相比head结构全部更换为Dconv,我们的SEPC在速度与性能上都体现出了绝对的优势。