CGNet: A Light-weight Context Guided Network for Semantic Segmentation

  • 论文地址:https://arxiv.org/pdf/1811.08201
  • 代码地址:https://github.com/wutianyiRosun/CGNet

1. 摘要

  • 本文提出了一种新颖的上下文引导网络(CGNet),它是一种用于移动设备语义分割的轻量级网络。我们首先提出了Context Guided(CG)块,它学习了局部特征和周围环境的联合特征,并进一步改善了与全局背景的联合特征。基于CG块,我们开发了上下文引导网络(CGNet),它捕获网络所有阶段的上下文信息,并专门用于提高分割准确性。CGNet还经过精心设计,可减少参数数量并节省内存占用。在相同数量的参数下,CGNet显着优于现有的分割网络。在Cityscapes和CamVid数据集的大量实验验证了所提方法的有效性。具体而言,在没有任何后处理的情况下,CGNet在Cityscapes上的平均IoU达到64.8%,参数小于0.5M,并且在一张NVIDIA Tesla K80卡上的帧速率为50 fps,用于2048×1024高分辨率图像。

2. 引言

  • 这些小网络的分割精度较低,因为他们只遵循图像分类设计原则而忽略了语义分割的固有属性。为了提高精度,我们设计了一个新的CGNet利用语义分割的内在特性。空间相关性和上下文信息在提高准确性方面起着重要作用,因为语义分割既涉及像素级分类,也涉及对象定位。因此,我们提出了作为CGNet基本单元的Context Guided(CG)块,以有效且高效地对空间依赖性和语义上下文信息进行建模。
       1) CG块学习局部特征和周围环境的联合特征。因此,CG块从自身及其空间相关对象中学习每个对象的表示,其中包含丰富的共现关系。
      2) CG块使用全局上下文来改善联合特征。全局上下文应用于通道明确地重新加权联合特征,以便强调有用的组成部分并抑制无用的组成部分。
       3) CG块在CGNet的所有阶段使用,从下到上。因此,CGNet从语义层面(来自深层)和空间层面(来自浅层)捕获上下文信息,与现有方法相比,这更适用于语义分割。
       4) 在所有阶段捕获上下文特征的结构更有效,当前的主流分割网络具有五个下采样阶段,其学习过于抽象的对象特征并且缺少大量的判别空间信息,导致过度平滑的分割边界。不同的是,CGNet只有三个下采样阶段,这有助于保留空间信息。
  • 图2.语义分段的替代架构。CM:上下文模块,CF:上下文特征。 (a)FCN形状模型遵循图像分类的设计原则,忽略上下文信息。 (b)FCN-CM模型仅通过在编码阶段之后执行上下文模块从语义级别捕获上下文信息。 (c)提出的CGNet从语义层面和空间层面捕捉所有阶段的背景特征。
  • 贡献
       1)们分析了语义分割的固有属性,并提出了CG块,它学习了局部特征和周围环境的联合特征,并进一步改善了与全局背景的联合特征。
       2)我们设计了CGNet,它可以有效地应用CG块,并在所有阶段有效地捕获上下文信息。CGNet的骨干特别适合提高分割精度。
       3)我们精心设计CGNet架构,以减少参数数量并节省内存占用。在相同数量的参数下,建议的CGNet显着优于现有的分割网络。

3. 相关工作

  • 小型语义分割模型:
       需要平衡准确率和系统开销。
       ENet -> ICNet -> ESPNet。
       这些模型基本都基于分类网络设计,在分割准确率上效果并不是很好。
  • 上下文信息模型:
      大多数现有模型只考虑解码阶段的上下文信息并且没有利用周围的上下文信息。
  • 注意力机制:
      CG block使用全局上下文信息计算权重向量,并使用其细化局部特征和周围上下文特征的联合特征。

4. 提出的方法

4.1 Context Guided Block

  • 图3.(a)当我们只注意黄色区域本身时,很难对黄色区域进行分类。 (b)借助其周围环境(红色区域)更容易识别黄色区域。 (c)直观地,当我们进一步考虑全局背景信息(紫色区域)时,我们可以将黄色区域分类为更高的置信度。 (d)Context Guided块的结构,它由局部特征提取器f_loc(*),周围的上下文提取器f_sur(*),联合特征提取器f_joi(*) 和全局上下文提取器 f_glo(*)组成。 (·)表示逐元素乘法。
  • CG主要包含两个步骤: 1) f_loc()和f_sur()分别用于学习局部特征和相关的周围上下文信息。f_loc()被实例化为3 x 3标准卷积层,从8个相邻特征向量中学习局部特征。f_sur()被实例化为3x3空洞卷积层,空洞卷积可以扩大感受视野学习周围的环境。f_joi()是两者的输出的拼接,后面跟着BN和PReLU操作。 2)f_glo()提取全局特征改善联合特征,,全局上下文被视为加权向量,并应用于通道明确地重新组合联合特征,以便强调有用的组成部分并抑制无用的组成部分,将f_glo(*)实例化为全局平均池化,聚合全局上下文接着是多层感知器以进一步提取全局上下文。最后,我们使用缩放层来使用提取的全局上下文重新加权联合特征。
  • 图 4
  • CG block还采用了残差学习。文中提出了局部残差学习(LRL)和全局残差学习(GRL)两种方式。 LRL添加了从输入到联合特征提取器的连接,GRL添加了从输入到全局特征提取器的连接。从直观上来说,GRL比LRL更能促进网络中的信息传递。

3.2 Context Guided Network

  • 图5.提出的上下文引导网络的体系结构。 “M”和“N”分别是阶段2和阶段3中的CG块的数量。
  • 表1. Cityscapes的CGNet架构。输入大小为3×680×680。“Conv”代表Conv-BN-PReLU的运营商。 “r”是周围环境提取器f_sur(*)中的Atrous / dilated卷积率。 “M”和“N”分别是阶段2和阶段3中的CG块的数量。
  • 在阶段1中,我们仅堆叠三个标准卷积层以获得1/2分辨率的特征映射,而在阶段2和阶段3中,我们堆叠M和N 个CG块以将特征映射为输入的1/4和1/8。对于阶段2和阶段3,第一层的输入是通过组合其前一阶段的第一个和最后一个块来获得的,这鼓励了特征重用并加强了特征传播。为了改善CGNet中信息的流动,我们采用输入注入机制,该机制另外将1/4和1/8下采样输入图像分别馈送到第2阶段和第3阶段。最后,采用1×1卷积层来产生分割预测。
  • CG block用于第2和第3阶段的所有单元,这意味着CG block几乎用于CGNet的所有阶段。因此,CGNet具有从下到上、从深层语义层面和从浅层空间层面聚合上下文信息的能力。与现有的忽略上下文信息或只在编码阶段后通过上下文模块从语义层捕获上下文信息的分割框架相比,CGNet的结构经过精心定制,以提高语义分割的准确性。
  • 此外,为了进一步减少参数数量,特征提取器f_loc()和f_sur()采用通道方式的卷积,这消除了跨通道的计算成本并节省了大量内存。之前的工作采用1×1卷积层,遵循通道方式卷积,以促进通道之间的信息流。然而,这种设计不适用于所提出的CG块,因为CG块中的局部特征和周围环境需要保持信道独立性。

4. 实验

  • 采用Adam优化器,lr为1e-3,权重衰减为5e-4,batch_size为14,对于数据增强,我们在输入图像上使用随机镜,平均减法和随机比例来增强训练期间的数据集。

你可能感兴趣的:(CGNet: A Light-weight Context Guided Network for Semantic Segmentation)