【论文笔记】:Enriched Feature Guided Refinement Network for Object Detection
&Title

&Summary
提出了一个单阶段检测框架,该框架解决了多尺度目标检测和类不平衡的问题。
首先提出一个特征丰富模块用来提取上下文特征,将提取的多尺度上下文特征注入到一阶段检测器的预测层中,用来增强检测器的判别能力(丰富特征 )。接着,提出了一个级联精炼方法,通过细化锚 和丰富的特征 (来自特征丰富模块提取出来的上下文特征)来改善分类和回归。
简单理解为:提出了一个级联精炼的分类回归策略,主要来自两种渠道的精炼,一是提取的上下文特征(MSCF)、二是细化锚(FGEM)。
contributions:
- 引入了一种简单而有效的特征丰富化方案来生成多尺度的上下文特征。
- 进一步引入了一种级联的优化(精炼)方案,该方案首先将多尺度的上下文特征注入到一阶段检测器的预测层中,以增强其进行多尺度检测的判别能力。 其次,级联精炼方案通过细化锚(anchors)和丰富的特征以改善分类和回归来解决类不平衡问题。
&Research Objective
多尺度目标检测和类不平衡的问题
&Problem Statement
标准SSD检测器实现最高精度同时保持其高速度的两个主要障碍:
- 首先,标准的SSD难以应对大尺度变化。 这可能是由于SSD预测层中的上下文信息固定所致。
现有方法通过例如在更深的骨干网络模型上添加上下文信息和特征金字塔表示来解决该问题。 大多数方法采用自顶向下的金字塔表示,其中先对深层的低分辨率特征图进行上采样,然后与浅层的高分辨率特征图结合以注入高级语义信息。
尽管这样的特征金字塔表示有助于解决大尺度变化的问题,但性能仍然远远不能令人满意。
- 第二个关键问题是在训练SSD检测器期间遇到的前景类-背景类不平衡问题。
该问题的现有解决方案包括,例如,在稀疏的难例集上进行训练,同时对经过良好分类的示例对其损失进行打折(down-weights),另外还有整合两阶段anchor优化策略,以通过消除负例的anchors来减少分类器的搜索空间。
尽管取得了成功,但由于这些特征与优化的anchors无法很好地对齐,所以的工作采用了自上而下的特征金字塔表示法,并且仅对anchors进行了优化。
在这项工作中,我们寻求一种替代方法来共同解决多尺度目标检测和类不平衡的问题,从而在不牺牲其高速度的情况下提高SSD的准确性。
&Method(s)
整体网络结构:

上面的流程是标准的SSD网络。在此基础上添加了一个MSCF模块,个人觉得可以看成辅助网络(IPGnet中也是使用了辅助网络),用来提取多尺度上下文特征。在预测的时候,将提取的特征用来辅助检测,增强检测能力。预测部分不是常规的两个分支直接进行预测回归,而是在预测回归前添加了两个模块,一个是OM,一个是FGRM。OM利用多尺度上下文特征来增强了SSD的特征,FGRM中对anchor进行refine(细化锚,可以解决特征不对齐问题),FGRM进一步利用初试框回归和二元分类来优化相关的增强特征,以获得最终分类分数和边界框回归。
特征丰富方案:

MSCF模块,为了捕获多尺度上下文信息,对不同的分支采用三个膨胀卷积,膨胀率分别设置为1、2和4,不同的膨胀率用来生成不同感受野的map,不同的感受野,就可以捕获不同尺度的目标信息 。膨胀卷积的运算将初始特征投影转换为上下文增强的特征集。然后,这些变换后的特征通过级联运算进行聚合,然后传递给1×1卷积进行运算。 MSCF的输出用于我们的级联优化方案的对象性模块(OM)中。
提出的MSCF模块在图1(b)中以蓝色虚线框突出显示。它是一个简单的模块,包含多个卷积运算,并产生多尺度的上下文特征。 MSCF模块的结构受到多分支ResNeXT体系结构的启发[39,31],是拆分,转换和聚合策略的一种操作。MSCF模块将下采样后的图像作为输入,并输出上下文增强的多尺度特征。下采样的图像首先通过大小为3×3和1×1的两个连续卷积层,从而产生初始特征投影。然后,将这些特征投影通过1×1卷积层切成三个低维分支。
级联优(细)化方案:
优化方案由两个级联模块组成:对象性模块(OM)和特征导向的优化模块(FGRM)。对象性模块通过多尺度上下文信息增强了SSD的特征,并标识了可能的物体位置(客观性)。使用多尺度上下文信息增强特征可以提高对于小目标的性能,而FGRM使用对象性预测来解决类不平衡问题。(如何解决类不平衡问题????)
物体性模块(OM)
物体性模块首先通过逐元素乘法运算在conv4_3的MCSF模块中注入多尺度上下文信息,从而增强了SSD的特征。 然后, 我们引入了一个自下而上的金字塔特征层次结构,以将增强的特征传播到后续的SSD预测层,如图1(a)所示。 物体性模块使用步长为2(D)的3×3卷积运算,并投影前一层的特征以与当前层的空间分辨率和通道数匹配。 然后,通过在每个预测层上的投影特征和SSD特征之间执行逐元素乘法来获得增强的特征。 最后,增强的特征用于在每个预测层x上执行二元分类(C1x)和初始框回归(B1x)。 x = 1,2、3和4对应于四个预测层。
特征导向的优化模块(FGRM)

- 从物体性模块输出的二元分类C1x在FGRM中进一步用于通过过滤掉大量的负anchor来减少正负anchors之间的类不平衡 。
- 另外,C1x输出用于生成注意力图,以引导增强的特征在抑制背景的同时更加关注目标对象。
物体性模块中的二元分类器(C1x)输出将每个anchor预测为对象/背景,用于生成突出显示可能的对象位置的物体性图O1x。我们在给定空间位置的所有anchors的目标类别预测上沿着通道轴执行最大池化操作,然后进行Sigmod激活。结果,产生了空间物体性图O1x,该空间物体性图用于改善从物体性模块获得的增强特征Fin:
⊙是逐元素乘法,Fm是经过改进后的增强特征。
- FGRM中使用了box回归B1x输出来优化特征和anchors的位置。
物体性和FGRM模块的框回归预测了四个输出:△x,△y,△h和△w。前两个(△x,△y)对应于空间偏移,后两个(△w,△h)对应于空间尺寸的比例偏移。在这里,我们使用来自物体性模块的空间偏移量(x,y),通过将内核偏移量pk估算为下图所示,来指导FGRM中的特征优化:
其中,f1×1表示卷积层,其内核大小为1×1,而B1x △x,△y表示由对象性模块预测的空间偏移量(△x,△y)。最后,内核偏移量用作可变形卷积的输入 ,以引导特征采样并与精化的anchors对齐。
- FGRM中用到了膨胀卷积,以进一步在给定的空间位置增强上下文信息(为啥图中表示的卷积是可变形卷积???PS:浅蓝色矩形框)
我们分别在步幅为8、16、32、64的SSD预测层上将膨胀率设置为5、4、3和2。
总之,在FGRM中进行所有操作后获得的最终优化特征Frf表示为:
其中p0表示最终优化特征图Frf中的每个空间位置,d为膨胀率。 R是用于采样输入特征的规则网格(即,如果内核为3×3,膨胀率为1,R =(-1,-1),(-1,0),…,(0,1), (1,1))。最终的改进特征Frf是由w加权的采样值的总和。 pk是内核偏移量,用于扩展常规采样网格,从而增强CNN模型几何变换的能力。通常,在可变形卷积中,通过在同一输入特征图上应用卷积层来获得偏移。在我们的FGRM中,偏移量是由对象性模块的第一个box回归生成的。为了获得精确的anchor位置,我们遵循与[41]中类似的策略。我们利用从对象性模块预测的偏移量(B1x)来优化原始anchor位置。因此,优化的位置和优化的特征Frf用于执行多类分类(C2x)和框回归(B2x)。
&Evaluation





&Thinks
- 这个MSCF有点像是用了辅助网络,之前看过类似用过辅助网络的文章:IPG-Net、记得还有一篇,我给忘记了。个人觉得这个额外的分支蛮有意思的,有空看本文的代码实现,不过速度应该会变慢吧??(本人暂时未研究到速度方面的实验,所有只是猜想而已)
- 这里面的注意力方式(公式1)可以考虑做做实验,我之前做过蛮多注意力机制的实验,效果都一般般。有空研究别人的代码,看看自己是不是漏了啥。
- 膨胀卷积和可变形卷积的使用。可变形卷积对于解决特征对齐方面好像是常用手段。之前咨询过同实验室师兄,这个可变形卷积好像很费计算。



