【图像分类】Deep Layer Aggregation论文理解

摘要

  视觉识别:
  视觉识别需要丰富的表征——跨度从低到高、尺度从小到大、分辨率从细粒度到粗粒度。即便在卷积网络中有深层的特征,但单独一层的特征是不够的:组合和聚合这些特征(表征)可以改进对“what”(什么)和"where"(哪里)的推断。
  架构方面的工作:
  架构方面的工作正在探索网络主干的许多维度——设计更深或更宽的架构,但是如何在网络中最佳的聚合层和块特征值得进一步关注。虽然在组合层中加入了跳跃连接,但这些连接本身是“浅的”,只通过简单的一步操作进行融合。
  本文:
  通过更深入的聚合来增强标准架构,以便更好地跨层融合信息。我们的深层聚合架构迭代的、分层的合并特征层次结构,使网络具有更好的准确性和更少的参数。
  实验结果:
  跨架构和任务的实验表明,与现有的分支和合并方案相比,深层聚合提高了识别和分辨率

1 介绍

  架构搜索:
  表征学习和迁移学习作为识别的引擎已经渗透到计算机视觉中。组合性和可区分性的简单原理产生了各种令人惊讶的深层架构。卷积网络(作为许多视觉任务的骨干网,通过任务扩展和数据为不同的目的做好准备)的兴起使得架构搜索成为(卷积神经网络)持续发展的核心驱动力。网络规模和范围不断增长,现在将精力投入到设计模块的设计模式和可系统组装的连接模式——已经产生了更深更广的网络,但是什么是联系更紧密的网络呢?
  问题及方法:
  (1)问题:更多的非线性、更大的容量和更大的接受域(感受野)通常会提高精度,但在优化和计算方面可能会有问题。
  (2)方法:为了克服这些障碍、平衡和调节这些参数数量,不同的blocks 或module已经被合并 ,如用于降维的bottleneck(瓶颈)或用于特征和梯度传播的residual(残差)、gated(门控)和concatenative 连接(串联)。根据这些方案设计的网络有100+甚至1000+层。
  如何连接层和模块:
  需要进一步探讨如何连接层和模块。
  (1)顺序连接:从LeNet 到AlexNet 到ResNet 的分层网络,按顺序堆叠层和模块。逐层精度比较、可传递性分析和表征可视化表明——层越深,提取更多的语义信息和更多的全局特征,但这些迹象并不能证明最后一层是任何任务的最终表示。
  (2)跳跃连接:已经被证明对分类和回归以及更多结构化任务是有效的。
  (3)聚合:就像深度和宽度一样,是架构的一个关键维度。
  本文工作:
  (1)研究目标:如何聚合层以更好地融合用于识别和定位的语义、空间信息。
  (2)方法:扩展当前方法的“浅”跳跃连接(skip connection),设计融合更多深度和共享性的深层聚合架构(DLA),并为这个架构设计了两种结构:
  1.迭代深层聚合(IDA): 侧重于融合分辨率和尺度(scale ),IDA遵循基础层次结构,逐阶段细化分辨率和聚集尺度(scale )
  2.分层深层聚合(HDA): 侧重于融合所有模块和通道的特征,HDA组装它自己的树状结构连接的层次结构,交叉和合并阶段来聚合不同的表征层次。

  这些结构通过一个独立于骨干网选择的体系结构框架来表达,以与当前和未来的网络兼容,我们的计划可以结合起来进行综合改进。
  实验:
  实验评估跨标准架构和任务的深层聚合,扩展ResNet 和ResNeXt 用于大规模图像分类、细粒度识别、语义分割和边界检测。
  结果显示与基线的ResNet、ResNeXT和DenseNet架构相比,在性能、参数计数和内存使用方面都有改进。DLA在紧凑的分类模型中实现了最先进的结果;无需进一步的架构,相同的网络就可以在几个细粒度识别基准上获得最先进的结果;通过标准技术的结构化输出,DLA在城市景观的语义分割和PASCAL目标检测上实现了最先进的结果。
  深层聚合(DLA)是对深层可视化架构的一种通用而有效的扩展。

2 相关工作

  视觉识别的架构:
  回顾视觉识别的架构,突出了层次特征和金字塔尺度聚合的关键架构,并将这些与跨深度、尺度和分辨率的深度聚合的关注联系起来。
  (1)AlexNet :在ILSVRC图像分类的准确性标志着架构对于视觉识别的重要性。
  深度学习通过建立网络可以作为骨干网而传播到各个视觉领域,通过迁移学习和用于目标检测和语义分割的元算法(以基础体系结构作为论点),它不仅传播了改进,而且还传播了每个更好的体系结构。
  (2)GoogleNet和VGG:通过上述方式,提高了对各种视觉问题的准确性,它们的模式化组件预示了一种更系统化的体系结构方法。
  (3)ResNet、highway网络、ResNeXT、FractalNet:系统设计更深、更宽的网络,虽然这些架构都贡献了自己的结构思想——结合瓶颈(bottleneck)和快捷路径(shortened path),但都受到早期技术的启发。
  (4)Network-in-network: 演示通道混合技术来融合特征、控制维度和更深。
  (5)深度监督网络和GoogLeNet: 伴随和辅助损失表明,这有助于学习层和损失保持密切联系。
  在很大程度上,架构源自连接性的创新:跳跃连接(skipping)、门控(gating)、分支(branching)和聚合(aggregating)。
  本文设计来源:
在这里插入图片描述

  本文聚合架构与融合特征层次结构的方法密切相关,融合的重点: 1)语义融合,或跨通道和深度聚合,改进了对内容(“what”)的推断;2)空间融合,或跨分辨率和尺度聚合,提高对地点(“where”)的推断。
  深层聚合(DLA)可以看作是两种融合形式的结合。

  (1)DenseNets:密集连接网络是语义融合的主导体系家族,被设计通过跳跃连接更好地传播特征和损失,将所有层分阶段连接起来。 分层深度聚合(HDA)在短路径和重用的重要性上分享了相同的见解,并通过跨越阶段的树扩展了跳跃连接,而不是连接更深层的融合。密集连接和深度聚合网络实现了更高的精度,以及更好的参数和内存效率。
  (2)FPN:特征金字塔网络是空间融合的主导体系家族,旨在通过自上而下和横向连接,在金字塔特征层次的各个层次上实现分辨率均衡和语义标准化。 迭代深度聚合(IDA)同样提高了分辨率,但通过非线性和渐进融合进一步深化表征。FPN连接是线性的,较早的层没有更多的聚合来对抗它们语义上的相对弱点。金字塔和深度聚合网络能够更好地解决结构化输出任务的“what”内容和"where"地点。

3 DLA(深层聚合)

  本文将聚合定义为网络中不同层的组合,并将重点放在一系列架构上,以有效地聚合深度、分辨率和尺度(scales)。
  深层聚合:如果一组聚合体是组成的、非线性的,并且最早的聚合层经过多个聚合体,我们称之为深层聚合体。
  网络可以包含许多层和连接,模块化设计通过分组和重复有助于对抗复杂性。层被分组成块( blocks),然后根据它们的特征分辨率分组成阶段(stages)。 关心的是块(blocks )和阶段(stages)的聚合。

3.1 迭代深度聚合(IDA)

  迭代深度聚合(IDA): 遵循主干架构的迭代堆叠,根据特征分辨率将网络的堆叠块(blocks )划分为不同的阶段(stages)。更深层次的阶段(stages)在语义上更丰富,但在空间上更粗糙。从较浅阶段到较深阶段的跳跃连接合并尺度(scale)和分辨率。
  (1)之前工作: FCN、U-Net、FPN的跳跃连接是线性的,且对最浅层的聚集最少 如图2(b)。
在这里插入图片描述

  (2)本文IDA: 使用IDA逐步聚合并加深表征。 聚合从最浅、最小的尺度(scale)开始,然后迭代地合并更深、更大的尺度(scale),通过这种方式,较浅的特性通过聚合的不同阶段进行传播,从而得到改进。图2( c )IDA结构
在这里插入图片描述
  一系列层x1,…,xn的 迭代深度聚合(IDA)函数I,随着深度和语义化信息的增加被表述为:
在这里插入图片描述
  其中N为聚合节点。

3.2 HDA(层次深度聚合)

  层次深度聚合(HDA): 将树中的块(blocks)和阶段(stages)合并,以保存和组合特征通道。
  (1)HDA的大致结构:
  HDA将较浅和较深的层组合在一起,以学习跨越更多特征层次结构的更丰富的组合。虽然IDA有效地结合了各个阶段(stages),但它不足以融合网络中的许多块(blocks),因为它仍然只是顺序的。层次聚合的深层次分支结构如图2(d):
在这里插入图片描述

  (2)提高HDA的深度和效率
  建立了HDA的大致结构,可以提高HDA的深度和效率:
  1)不是仅仅将中间聚合路由到树的更上层,而是将聚合节点的输出返回到主干,作为下一个子树的输入(如图2(e)),这将传播所有以前的块(blocks)的聚合,而不是单独前一个块,以便更好地保留特性。
在这里插入图片描述
  2)为了提高效率,合并相同深度的聚合节点(合并父节点和左子节点),如图2(f)。
在这里插入图片描述

  层次深度聚合(HDA)函数Tn,深度为n,表示为:
在这里插入图片描述
其中N为汇聚节点。R和L的定义是:
在这里插入图片描述
其中B代表一个卷积块。

3.3 架构元素

  聚合节点:
  (1)作用:聚合节点的主要作用是组合和压缩它们的输入,节点学习选择和投影重要信息,以在其输出处将其维数保持为单个输入。
  (2)分类:IDA节点、HDA节点。在我们的架构中,IDA节点总是二元的,而HDA节点的参数数量取决于树的深度。
  (3)结构:聚合节点可以基于任何块或层,但为了简单和高效选择一个单独的卷积+批处理规范化+非线性,这避免了聚合结构的开销
  图像分类任务中,所有节点都使用1×1卷积;语义分割任务中,添加更深层次的迭代深度聚合(IDA)来插值特征,在这种情况下使用3×3 卷积。
  (4)残差连接:残差连接对于组装非常深的网络非常重要,也可在聚合节点中包含残差连接(是否是聚合所必需,目前还不清楚)。
  HDA中从任何块到根的最短路径最多是层次结构的深度,所以在聚合路径上可能不会出现递减或爆炸的梯度。
  实验中发现节点中的残差连接对于最深层的层次结构有四个层次或更多的HDA是有帮助的,而对于层次更小的网络则可能是有害的。
  (5)聚合节点公式,即式1和式2中的N为:
在这里插入图片描述
其中σ为非线性激活,wi和 b为卷积的权值。如果添加残差连接,公式变为:
在这里插入图片描述
注意,N的参数顺序很重要,应该遵循公式2。

  块和阶段(Blocks and Stages):
  深层聚合是一个通用的架构,因为它与不同的主干兼容,对块和阶段的内部结构没有要求。
  实验实例化的网络利用了三种类型的残差块:1)基本块(Basic block)将堆叠的卷积与 identity 跳跃连接组合在一起;2)瓶颈块(Bottleneck bloc)通过1×1卷积来降低维数,使卷积堆规则化;3)分割块(Split block)通过将通道分组为许多单独的路径(称为分割的基数)来使特性多样化。本文工作中对于瓶颈块和分割块,将输出和中间通道数量的比例减少一半,分割块的基数为32。

4 应用

  设计深层聚合网络来完成视觉识别任务。为了研究聚合表征的贡献,将重点放在不需要进一步机制的线性预测,结果没有集成识别和上下文建模或扩展分辨率。语义和空间信息的聚合对于分类和密集预测同样重要。

4.1 分类网络

  使用IDA和HDA扩充了ResNet和ResNeXT:
  ResNet和ResNeXT是分阶段的网络,通过空间分辨率对块进行分组,在每个块内包含残差连接;每一阶段的结束将分辨率降低一半,总共有6个阶段,第一个阶段保持输入分辨率,而最后一个阶段是32× 下采样;最终的特征图被全局平均池重新折叠,然后线性得分;分类被预测为softmax超过分数。
  使用IDA进行跨阶段连接,使用HDA进行阶段内部和跨阶段连接。通过共享聚合节点,可以轻松地组合这些类型的聚合,本例中只需结合公式1和2来更改每个层次结构上的根节点。网络阶段是通过size为 2和stride为 2的最大池化进行下采样的。
  网络结构:
  最早的阶段有自己的结构。1-2阶段中的最大池化替换为跨步卷积。第1阶段由7×7卷积和一个基本块组成;第2阶段只是一个基本块;所有其他阶段,在主干块(blocks)和阶段(stages)上使用IDA和HDA的组合。
  为了直接比较不同网络中的层数和参数,我们构建了层数相当的网络,如ResNet-34、ResNet-50和ResNet-101。为了进一步说明DLA对表征的压缩效率,构建具有较少参数的紧凑网络。
在这里插入图片描述
在这里插入图片描述
  表1DLA网络,图3带有HDA和IDA的DLA架构。

4.2 密集预测网络

  语义分割、轮廓检测和其他图像对图像的任务:
  可以利用聚合来融合局部和全局信息。从分类DLA到全卷积DLA的转换非常简单,与其他架构没有什么不同。利用插值和IDA的进一步增强来达到任务所需的输出分辨率。
在这里插入图片描述
  方法:
  插值的IDA通过投影和上采样增加了深度和分辨率(如图4),所有的投影参数和上采样参数在网络优化过程中共同学习。上采样步骤初始化为双线性插值,可以被学习。首先将3-6阶段的输出映射到32通道,然后将阶段插值到与阶段2相同的分辨率。最后迭代地聚合这些阶段来学习低层和高层特征的深度融合。
  与其他方法对比:
  虽然与FCN跳跃连接、hypercolumn特征、FPN自顶向下连接的目的相同,但我们的聚合方法不同,从浅层到深层,再到进一步细化特性。注意,在这个例子中使用了两次IDA:一次是连接骨干网中的各个阶段,另一次是恢复分辨率。

5 结果

  在各种任务上评估深层聚合网络(DLA):ILSVRC图像分类、几种细粒度识别、以及用于语义分割和轮廓检测的密集预测。
  在建立了分类体系结构后,将这些网络转移到其他任务仅仅需要很少或没有修改。DLA改进网络的结果。

5.1 ImageNet分类

  训练设置:
  首先在ImageNet 2012训练集上训练网络;与ResNet类似,120个epoch使用SGD进行训练,动量0.9,重量衰减10-4 ,批大小256;学习率从0.1开始训练,每30个epoch降低10倍;使用带有颜色扰动的缩放和长宽比增强;为了进行公平比较,用相同的训练程序训练ResNet模型
  测试设置:
  在ImageNet 2012验证集上评估训练过的模型的性能;图像被调整大小,使较短的边有256个像素,然后从图像中提取中央224×224crop,并输入网络以测量预测精度。
  实验结果:
在这里插入图片描述
  (1)DLA vs.ResNet: 比较DLA网络与具有相似层数和相同卷积块的ResNet(如图5)。DLA网络可以在较少的参数下获得更好的性能。DLA-34和ResNet-34都使用基本块,但是DLA-34的参数少了大约30%,并在top-1错误率上有一点改善。通常认为深度网络的性能收益会逐渐减少。然而结果表明,与ResNet-50和ResNet-101相比,DLA网络仍然可以在更少的参数下显著优于基线。
  (2)DLA vs.ResNeXt: DLA能够灵活地使用不同的卷积块,在精度和参数效率方面仍有优势(如图5)。本文模型有更少的参数,但仍然具有与ResNeXt模型相似的性能。 如DLA-X-102的参数几乎是ResNeXt-101的一半,但错误率相差仅为0.2%。
  (3)DLA vs DenseNet: 比较DLA与语义融合和特性重用的主流架构。 DenseNet由dense block组成,通过连接和转换块聚集所有层,降低维度,虽然可以通过特征重用积极地减少深度和参数计数,但连接是一种内存密集型的融合操作;由于聚集节点的大小是HDA中卷积块总数的对数,所以)DLA在内存使用较少的情况下获得了更高的精度。
  (4)紧凑模型: 由于运行卷积网络的硬件能力有限,紧凑型模型受到了大量关注。本文设计参数约束的网络来研究如何有效地聚合和重用特征。因为小模型没有足够的容量来进行积极的数据增强,所以去掉了颜色扰动并将最小裁剪面积设置为0.25。将其与SqueezeNet进行比较,块设计与本文相似。表2可以看出,相同参数个数的DLA更准确,此外DLA的计算效率更高。
在这里插入图片描述

5.2 细粒度识别

  训练设置:
  实验均使用相同的训练程序。SGD优化器,批量大小为64,学习率从0.01开始,每50个epoch减少10倍;总计训练110个epoch;其他的超参数与ImageNet分类设置;为缓解过拟合,进行数据增强,包括Inception-style的尺度和长宽比变化,AlexNet-style PCA颜色噪声,光度失真。
  数据集:
在这里插入图片描述
  在各种细粒度识别数据集上评估模型:Bird (CUB) , Car , Plane和Food。数据集的统计数据见表3。
  测试设置:
  为了公平比较,遵循实验设置:对于所有的数据集,在调整了大小的512×512中随机裁剪448×448,而对原始VGGNet保留224×224的输入大小。
  实验结果(图6):
在这里插入图片描述
  (1)结果在没有使用进一步注释或用于细粒度识别的特定模块的情况下改善或获取最先进的技术;
  (2)在汽车、飞机和食品数据集上建立了最新的技术成果;
  (3)本文模型只有几百万个参数是有竞争力的。
  (4)在Birds上的结果并不比最先进的水平好,不过注意,这个数据集每个类的实例较少,因此进一步的正则化可能会有所帮助。

5.3 语义分割

  在CamVid和Cityscapes上进行城市场景理解的实验。使用IOU分数作为两个数据集的评价指标。网络只在训练集上进行训练,不使用验证或其他进一步的数据。
  (1)CamVid数据集、实验设置、实验结果:
  1)数据集:更方便执行消融实验,有367个训练图像,100个验证图像,233个测试图像,包含11个语义类别。
  2)实验设置:0.01的学习率开始训练,800个epoch后学习率除以10。
  3)实验结果:如表5,下采样率为2的模型的性能始终比那些下采样率为8的模型好。我们试图增加数据通过在[- 10,10]度之间随机旋转图像,并在0.5到2之间随机缩放图像,最终的结果明显优于以往的方法。
在这里插入图片描述

  (2)cityscape数据集、实验设置、实验结果:
  1)数据集:cityscape是一个规模更大、与其他方法比较更具挑战性的数据集。包含2975个训练图像,500个验证图像和1525个测试图像,包含19个语义类别。
  2)实验设置:采用poly学习速率,动量0.9,训练模型为500个epoch,批大小为16。起始学习率为0.01,选择crop大小为864;通过在10度内随机旋转和在0.5到2之间缩放来增强数据。
  3)实验结果:如表4,DLA-34在这个数据集上表现得非常好,它和DLA-102一样准确。
在这里插入图片描述
  RefineNet是同类方法中最强的网络,无需额外数据、扩展和图形模型的计算代价。为了进行公平比较,采用与图像尺度相同的多尺度0.5,0.75,1,1.25,1.5]方式[进行评估,并将预测结果相加,DLA提高2+点。

5.4 边界检测

  边界检测:
  是一项精确的定位任务,尽管作为一个分类问题,但它只是一个边界是否存在的二元任务,指标要求精确的空间精度。
  数据集及评估指标:
  在经典的多人标注的BSDS数据集和PASCAL上进行评估。
  度量指标包括在不同阈值下的精度、最优数据集尺度(ODS)和较宽松的最优图像尺度(OIS)以及平均精度(AP)。
  训练、测试设置:
  遵循HED的训练程序。与其他深度学习方法一样,在BSDS上采用人工注释的共识,只对边界大于等于3的网络进行监督注释。给边界标签10倍于其他标签的权重。对于推理,只是简单地向前运行网络,而不使用集成或多尺度测试。通过比较8、4和2步幅来评估分辨率的作用,发现高输出分辨率对于精确的边界检测是至关重要的。较深的网络并没有继续改善bsd的预测性能。
  实验结果:
  结果见表6 BSDS,图7precision-recall图,表7PASCAL。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  在BSDS和PASCAL上能实现最先进的ODS和OIS分数:
  (1)BSDS上的AP出奇的低,观察图7中绘制精确召回率曲线,本文方法有较低的召回率,但这是由不覆盖所有的个体、噪声边界GT解释的,同时它也是最接近人类的表现。
  (2)在PASCAL边界上实现了最先进的AP,因为它有一个单一的、一致的边界概念。
  当在BSDS上进行训练并转移到PASCAL边界时,改进是很小的,但是在PASCAL边界上进行训练本身的数据约为10倍,比竞争方法提供了超过10%的相对改进。

6 结论

  聚合是架构的决定性方面,随着模块数量的增加,它们的连接性变得更加重要。通过将聚合通道、尺度(scale)和分辨率的架构联系起来,确定了对深度聚合的需求,并通过迭代深度聚合和层次深度聚合来解决这个问题。
  本文模型比基线网络更精确,更有效地利用参数和计算。聚合扩展改进了主要的架构,比如残差网络和密集连接网络。弥合体系结构之间的差距可以更好地使用聚合层。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值