目录
0、摘要
视觉识别任务中,需要丰富的特征表示,其跨越了从低到高的不同层级、从小到大的不同尺度、从精细到粗糙的分辨率。即使在卷积神经网络中有着深度特征,单个层的特征表达能力仍然是不够的:需要组合、聚合这些不同层的特征表示来改善分类、定位推理。架构方面的工作在多个维度探索了backbone的设计,如设计更深、更宽的网络,但是如何跨越整个网络来聚合这些层和块值得进一步关注。尽管跳跃连接可以联合不同层,但这种连接仍处于较浅的层次,其只需简单的一步操作就能完成。我们在标准架构上增加了深层融合,以更好地跨层融合信息。我们的深层聚合(DLA)结构从迭代、层次两个层面聚合特征,使得网络准确率更高、参数量更小。在不同结构、任务上的实验表明,和现有的分支及合并方式相比,DLA改进了识别效果、提高了分辨率。
1、动机
大多CNN backbone的探索方向都集中在bottlenecks、residual、gated、特征拼接等方面。从LeNet、AlexNet、VGG的plain网络到ResNet的残差连接都是对层或者模块的堆叠,这些都没有利用不同层之间的深度融合。
因此,本文主要探索了如何聚合不同层以更好地融合语义和空间信息来进行识别和定位,主要包括两种聚合方式:迭代深度聚合( iterative deep aggregation, IDA)和层次深度聚合( hierarchical deep aggregation, HDA)。IDA专注于聚合不同分辨率和尺度的特征,HDA专注于融合不同层和模块。
DLA聚合方式受到了DenseNet和FPN的影响,如图1所示:
2、方法
目前已有的方法和所提出的DLA相关聚合方法示意如图2所示:
上图中:
- (a)是没有聚合的plain模型;
- (b)是比较浅的聚合,仅通过跳跃连接聚合部分层,这种方式常见于语义分割、目标检测,但由于只进行了一步聚合,所以这种方式融合的信息还不够深;
- (c)即为IDA,是对(b)中的聚合方式重排列,以迭代方式进行特征融合,最浅的层被融合的次数最多;
- (d)通过块的树状结构分层聚合,以更好地跨不同深度跨越网络的特征层次;
- (e)和(f)是(d)的细化,通过将中间聚合结果与原网络中的结点再次融合来深化聚合,并对相同深度的聚合结点进行合并以提高效率;
2.1、IDA
IDA是沿着backbone结构中的堆叠进行迭代聚合的。其将原网络按照不同分辨率分为不同的stage,然后从最浅层开始迭代式聚合,逐渐到达更深层,其聚合规模也越来越大,如图3(c)。按照这种方式,较浅层的特征传播到了不同的stage,并通过聚合不断细化。IDA的聚合公式为:
(1)
2.2、HDA
HDA是将不同的块和stage合并到一个树状结构中,以保存、合并特征通道。HDA将更浅、更深的层结合起来,学习到更丰富的组合,跨越了更多特征层级。而IDA仍是连续的融合方式,对于整个网络来说,其融合力度还不够。但是,加上HDA之后,就可以改进融合的深度和效率。HDA不光向上聚合到上层结点,还向下聚合了backbone本身的块或stage,如图2(e)。这种将聚合块作为传播对象而不是将之前的块单独作为传播对象的方式,可以更好的保存特征。此外,为了更加高效,将父结点和左孩子结点作为相同深度进行了融合,如图2(f)。
HDA的聚合公式为:
其中,分别为:
2.3、网络结构
利用IDA和HDA,可以得到DLA的整体架构:
上图为DLA的分类架构,如果用于密集预测任务,如语义分割,则可以利用IDA进行上采样,形成一个decoder(即为IDA_UP):
针对不同的深度、参数量,DLA有九种变种:
3、实验结果
4、结论
主要提出了IDA和HDA两种聚合方式,来聚合不同通道、尺度、分辨率的层或者块。通过聚合,得到的特征表达能力更强,且对参数的利用率更高。