阅读论文《AugFPN: Improving Multi-scale Feature Learning for Object Detection》
1 主要思想
特征金字塔结构是一种解决目标检测中多尺度问题的有效方式之一,通过一条自顶向下的通路将高层特征中包含的语义信息引入到低层特征中,从而提升小目标检测的性能。本文则继续探索FPN结构,将整个FPN结构的工作过程总结为3个阶段:特征融合前、自顶向下特征融合、特征融合后,作者在每个阶段中找到了存在的内在问题:(1)不同层级之间的特征存在较大的语义差别,这里主要是在减少特诊图的channel数量后,不同层级间的特征存在较大的语义差异。(2)最高层特征在这过程中会丢失信息,这里主要是因为使用1*1卷积来降低特征图的channels数,则最高层的特征由于不会再融合其他层级的特征,所以会导致一定的信息丢失,可以引入全局池化来缓解该问题,但是在这个过程中会丢失特诊图中的空间信息。(3)单一的映射方式使得提取到的ROI仅仅来自与某个特定的特征层级,而忽略掉了其它层级上也有用的信息,所以PANet在FPN的基础上,在所特征层级上提取ROI对应的特征,最后选取最大值作为ROI的输出,但是选取最大相应则忽略了其中存在的一些较小的相应。
作者针对以上为题,解决以上传统FPN结构中存在的问题,提出了AugFPN,即对传统FPN工作的三个阶段进一步分别进行了改进。而作者在本文中的工作则可以总结如下:(1)揭示了传统FPN结构的工作流程的三个阶段存在的问题,;(2)基于以上各个阶段中的问题,分别提出了对应的解决方案(Consistent supervison,Residual Feature Augmentation, Soft roi selection),将这些方法组合起来提出了AugFPN结构,在MSCOCO数据集上测试结果比传统FPN有较大的提升。
2 详细方法
整体的AugFPN框架如下图所示:
2.1 Consistent supervision
传统的FPN将不同尺度的feature map进行上采样后进行特征融合,但是本文作者任务直接融合具有较大语义差距的不同尺度的特征会导致局部最优的特征金字塔。所以作者在此提出了consistent supervision,即使用监督信号对特征融合前所有层级上的特征进行监督,以降低不同层级上特征的语义差距。即在上图中的M2 - M5上得到的特征直接进行分类和回归任务,这样就会产生一个辅助的loss,此时的loss就变为了:
其由两部分组成,第一部分为新增加的不同层级上对应的辅助loss,而后一部分则是传统的FPN进行预测时候的loss。且不同层级上接的head均是共享的,这样既降低了参数量,同时也可以使得不同的特征层级能够学习到足够相似的语义信息。这里需要需注意的是这个新添加的辅助loss只是在training的时候添加,在推断阶段不作考虑,所以在inference的时候整个框架并没有增加新的参数和计算量。
2.2 Residual feature augmentation
本部分主要是考虑到在构建的特征金字塔中,仅仅只有除开最高层特征外的特征层级上的特征得到了相应的增强,而最高层特征并没有得到相应的提升,并且其由于降低了特征的通道数,所以甚至会出现其包含的信息会被削弱的现象。所以作者在此的做法就是通过残差连接得方式将原始特征中包含的空间信息引入到后续的特征之中。即作者先对C5层级特征来提醒ratio-invariant adaptive pooling,得到一些列不同尺度的feature map,之后使用1*1卷积对得到的feature map进行通道调整;然后把这些不同尺度的feature map全部使用双线性插值上采样到和原始的C5一样的size,然后采用adaptive spatial fusion(工作流程如下图所示),这里其实就是做了一个spatial attention。最后将聚合后的特征M6和M5特征直接进行求和,然后使用3*3的卷积操作得到最后的结果。
2.3 Soft ROI selection
在传统的FPN中,对于不同大小的proposal,需要进行尺寸的映射,从而在特定的特征尺度上提取proposal对应的特征,所以小目标对应在低层级的feature mpa上获取特征,而大尺度目标在高层级feature map获取相应的特征,这样存在的问题就是这种单一的映射关系会导致两个尺度非常接近的目标被映射到了不同的特征层级上,并且这样其实对于单一个一个目标,其并没有享受到特征金字塔其它层级上带来的好处。所以非常直观的想法就是对于每个目标,使用真个特征金字塔而不是某一层级的特征来进行特征提取。所以PANet则将proposal对应的整个特征金字塔上的特征提取出来,然后使用全连接网络来提取最大响应的特征。同理,作者就是受到了这个启发,首先对proposal对应的所有层级上的特征进行池化,然后对池化之后的特征进行adaptive feature fusion,即做一个spatial attention得到最后的结果。
3 实验结果
作者将提出的AugFPN,使用了商汤开源的检测框架mmDetection来进行实现,在coco2017数据集上进行实现,对单阶段和双阶段的检测器均有1%-2%的提升。
其消融试验也是对比了三个模块的有效性,并且任意两个模块的组合均能对准确率的提升有一定的帮助。