加粗的可以细看
写在前面: 两条path
Spatial Path 保留空间信息(spatial information)并生成高分辨率特征(high-resolution feature) 为了应对空间信息的丢失(loss of spatial information )
Context Path 获得足够的感受野(Sufficient receptive fiels) 为了应对感受野的收缩(shrinkage of receptive field)。 语义分割需要上下文信息才能生成高质量的结果。 大多数常见方法都会扩大感受野或融合不同的上下文信息
空间路径编码丰富的空间信息,而上下文路径旨在提供足够的感受野。
Spatial Path的输出特征是低级别的,而Context Path的输出特征是高级别的。 因此,我们提出了一个特定的特征融合模块来融合这些特征。
摘要
语义分割需要丰富的空间信息和相当大的感受野。 然而,现代方法通常会牺牲空间分辨率来实现实时推理速度,从而导致性能不佳。 在本文中,我们通过一种新颖的双边分割网络(BiSeNet)解决了这一困境。 我们首先设计一个小步幅的空间路径,以保留空间信息(spatial information)并生成高分辨率特征(high-resolution feature)。 同时,采用具有快速下采样策略的上下文路径(Context Path )以获得足够的感受野(Sufficient receptive fiels)。
在这两条路径之上,我们引入了一个新的特征融合模块(FFM)来有效地组合特征。 所提出的架构在 Cityscapes、CamVid 和 COCO-Stuff 数据集上的速度和分割性能之间取得了适当的平衡。 具体来说,对于 2048×1024 输入,我们在 Cityscapes 测试数据集上实现了 68.4% 的平均 IOU,在一张 NVIDIA Titan XP 卡上速度为 105 FPS,这比性能相当的现有方法要快得多。
介绍
语义分割的研究,即为每个像素分配语义标签,是计算机视觉中的一项基本任务。 可广泛应用于增强现实设备、自动驾驶、视频监控等领域。 这些应用程序对高效的推理速度有很高的要求,以实现快速交互或响应。
最近,实时语义分割的算法[1,17,25,39]表明主要有三种方法来加速模型。 1)[34,39]尝试通过裁剪或调整大小来限制输入大小以降低计算复杂度。 尽管该方法简单有效,但空间细节的丢失会破坏预测,尤其是边界周围的预测,导致度量和可视化的准确性下降。 2)一些工作不是调整输入图像的大小,而是修剪网络的通道以提高推理速度[1,8,25],特别是在基础模型的早期阶段。 然而,它削弱了空间容量。 3)对于最后一种情况,ENet [25]建议放弃模型的最后阶段,以追求极其严格的框架。 不过,这种方法的缺点也很明显:由于ENet放弃了最后阶段的下采样操作,导致模型的感受野不足以覆盖大物体,导致判别能力较差。 总体而言,上述方法均以牺牲准确率和速度为代价,在实际应用中效果较差。 图 1(a) 给出了说明。
为了弥补上述空间细节的损失,研究人员广泛利用U形结构[1,25,35]。 通过融合主干网络的层次特征,U型结构逐渐提高了空间分辨率并填充了一些缺失的细节。 然而,这种技术有两个弱点。 1)完整的U型结构由于在高分辨率特征图上引入了额外的计算,会降低模型的速度。 2)更重要的是,修剪或裁剪中丢失的大多数空间信息无法通过涉及浅层轻松恢复,如图1(b)所示。 换句话说,U型技术更适合视为一种缓解措施,而不是一种本质解决方案。
基于上述观察,我们提出了双边分割网络(BiSeNet),该网络由两部分组成:空间路径(Spatial Path )和上下文路径(Context Path)。 顾名思义,这两个组件的设计目的分别是为了应对空间信息的丢失(loss of spatial information )和感受野的收缩(shrinkage of receptive field)。
两条路径的设计理念很明确。 对于空间路径,我们仅堆叠三个卷积层以获得1/8特征图,保留了丰富的空间细节。 在上下文路径方面,我们在 Xception [8] 的尾部附加了一个全局平均池化层,其中感受野是骨干网络的最大值。 图 1(c) 显示了这两个组件的结构。
为了追求更好的精度而不损失速度,我们还研究了两条路径的融合和最终预测的细化,并分别提出了特征融合模块(FFM)和注意力细化模块(ARM)。 正如我们下面的实验所示,这两个额外的组件可以进一步提高 Cityscapes [9]、CamVid [2] 和 COCO-Stuff [3] 基准上的整体语义分割准确性。
我们的主要贡献总结如下:
– 我们提出了一种新颖的方法,将空间信息保存和感受野提供的功能解耦成两条路径。 具体来说,我们提出了一种具有空间路径(SP)和上下文路径(CP)的双边分割网络(BiSeNet)。
– 我们设计了两个特定的模块,特征融合模块(FFM)和注意力细化模块(ARM),以可接受的成本进一步提高准确性。
– 我们在 Cityscapes、CamVid 和 COCO-Stuff 的基准测试中取得了令人印象深刻的结果。 更具体地说,我们在 Cityscapes 测试数据集上以 105 FPS 的速度获得了 68.4% 的结果。
相关工作
最近,许多基于 FCN [22] 的方法在语义分割任务的不同基准上取得了最先进的性能。 这些方法大多数旨在编码更多空间信息或扩大感受野(encode more spatial information or enlarge the
receptive field)
空间信息:卷积神经网络(CNN)[16]通过连续的下采样操作对高级语义信息进行编码。 然而,在语义分割任务中,图像的空间信息对于预测详细输出至关重要。 现代现有方法致力于编码丰富的空间信息。 DUC [32]、PSPNet [40]、DeepLab v2 [5] 和 Deeplab v3 [6] 使用扩张卷积来保留特征图的空间大小。 全局卷积网络[26]利用“大内核”扩大感受野
上下文信息:语义分割需要上下文信息才能生成高质量的结果。 大多数常见方法都会扩大感受野或融合不同的上下文信息。 [5,6,32,37]在卷积层中采用不同的膨胀率来捕获不同的上下文信息。 在图像金字塔的驱动下,语义分割网络结构中总是采用多尺度特征集成。 在[5]中,提出了一个“ASPP”模块来捕获不同感受野的上下文信息。 PSPNet [40]应用了一个“PSP”模块,其中包含几个不同规模的平均池层。 [6]设计了一个具有全局平均池化的“ASPP”模块来捕获图像的全局上下文。 [38]通过尺度自适应卷积层改进神经网络以获得自适应场上下文信息。 DFN [36] 在 U 形结构的顶部添加全局池来对全局上下文进行编码。
U形方法:U形结构[1,10,22,24,27]可以恢复一定程度的空间信息。 原始的FCN[22]网络通过跳跃连接的网络结构对不同级别的特征进行编码。 有些方法将其特定的细化结构采用U形网络结构。 [1, 24] 使用反卷积层创建 U 形网络结构。 U-net [27]为此任务引入了有用的跳跃连接网络结构。 全局卷积网络[26]将U型结构与“大内核”结合起来。 LRR[10]采用拉普拉斯金字塔重建网络。 RefineNet [18]添加了多路径细化结构来细化预测。 DFN[36]设计了一个通道注意块来实现特征选择。 然而,在U型结构中,一些丢失的空间信息无法轻易恢复。
注意力机制:注意力机制可以使用高层信息来指导前馈网络[23, 31]。 在[7]中,CNN的注意力取决于输入图像的尺度。 在[13]中,他们将通道注意力应用于识别任务并达到了最先进的水平。 与 DFN [36] 一样,他们将全局上下文学习为注意力并修改特征。
实时分割:实时语义分割算法需要一种快速的方法来生成高质量的预测。 SegNet[1]利用小型网络结构和跳跃连接方法来实现快速的速度。 E-Net [25]从头开始设计了一个轻量级网络并提供了极高的速度。 ICNet [39]使用图像级联来加速语义分割方法。 [17]采用级联网络结构来减少“简单区域”的计算。 [34]设计了一种新颖的两列网络和空间稀疏性以降低计算成本。 不同的是,我们提出的方法采用轻量级模型来提供足够的感受野。 此外,我们设置了一个浅但宽的网络来捕获足够的空间信息。
模型框架
Spatial path
在语义分割任务中,一些现有方法[5,6,32,40]尝试保留输入图像的分辨率,以通过扩张卷积编码足够的空间信息,而一些方法[5,6,26,40] 尝试使用金字塔池化模块、多孔空间金字塔池化或“大内核”来捕获足够的感受野。 这些方法表明空间信息和感受野对于实现高精度至关重要。 然而,这两个需求很难同时满足。 特别是,在实时语义分割的情况下,现有的现代方法[1,25,39]利用小输入图像或轻量级基础模型来加速。 输入图像的小尺寸丢失了原始图像的大部分空间信息,而轻量级模型通过通道剪枝破坏了空间信息。
基于这一观察,我们提出了一种空间路径来保留原始输入图像的空间大小并编码丰富的空间信息。 空间路径包含三层。 每层都包含一个 stride = 2 的卷积,然后是批量归一化 [15] 和 ReLU [11]。 因此,该路径提取的输出特征图是原始图像的 1/8。 由于特征图的空间尺寸较大,它编码了丰富的空间信息。 图 2(a) 显示了该结构的详细信息。
Context path
空间路径编码丰富的空间信息,而上下文路径旨在提供足够的感受野。 在语义分割任务中,感受野对于性能具有重要意义。 为了扩大感受野,一些方法利用了金字塔池化模块[40]、多孔空间金字塔池化[5,6]或“大内核”[26]。 然而,这些操作需要计算量和内存消耗,导致速度较低。
同时考虑到较大的接受域和较高的计算效率,我们提出了上下文路径。上下文路径利用轻量级模型和全局平均池[5,6,21]来提供大的感受野。在这项工作中,轻量级的模型,如Xception[8],可以快速地对特征映射进行下采样,以获得大的接受域,该接受域编码高层语义上下文信息。然后在轻量级模型的尾部加入全局平均池,为最大接受域提供全局上下文信息。最后,将全局池化的上采样输出特征与轻量级模型的特点相结合。在轻量化模型中,我们采用了U型结构[1,25,35]来融合后两个阶段的特点,这是一种不完全的U型风格。图2(C)显示了上下文路径的总体透视图。
注意力细化模块:在上下文路径中,我们提出了一个特定的注意力细化模块(ARM)来细化每个阶段的特征。 如图 2(b) 所示,ARM 采用全局平均池化来捕获全局上下文并计算注意力向量来指导特征学习。 这种设计可以细化上下文路径中每个阶段的输出特征。 它无需任何上采样操作即可轻松集成全局上下文信息。 因此,它需要的计算成本可以忽略不计。
网络架构
我们使用预训练的 Xception 模型作为上下文路径的主干,并使用三个以步幅作为空间路径的卷积层。 然后我们融合这两条路径的输出特征来做出最终的预测。 它可以同时实现实时性和高精度。 首先,我们关注实际计算方面。 尽管空间路径的空间尺寸很大,但它只有三个卷积层。 因此,它不是计算密集型的。 对于上下文路径,我们使用轻量级模型来快速下采样。 此外,这两条路径同时计算,这大大提高了效率。 其次,我们讨论该网络的准确性。 在我们的论文中,空间路径编码丰富的空间信息,而上下文路径提供大的感受野。 它们相互补充以实现更高的性能。
特征融合模块:两条路径的特征在特征表示层面上是不同的。 因此,我们不能简单地概括这些特征。 空间路径捕获的空间信息大多编码丰富的细节信息。 而且,Context Path的输出特征主要编码上下文信息。 换句话说,Spatial Path的输出特征是低级别的,而Context Path的输出特征是高级别的。 因此,我们提出了一个特定的特征融合模块来融合这些特征。
考虑到特征的不同级别,我们首先连接空间路径和上下文路径的输出特征。 然后我们利用批量归一化[15]来平衡特征的规模。 接下来,我们将级联特征池化为特征向量并计算权重向量,如 SENet [13]。 这个权重向量可以对特征进行重新加权,相当于特征的选择和组合。 图 2(c) 显示了该设计的细节。
考虑到特征的不同级别,我们首先连接空间路径和上下文路径的输出特征。 然后我们利用批量归一化[15]来平衡特征的规模。 接下来,我们将级联特征池化为特征向量并计算权重向量,如 SENet [13]。 这个权重向量可以对特征进行重新加权,相当于特征的选择和组合。 图 2(c) 显示了该设计的细节。
损失函数:在本文中,我们还利用辅助损失函数来监督我们提出的方法的训练。 我们使用主损失函数来监督整个 BiSeNet 的输出。 此外,我们添加了两个特定的辅助损失函数来监督上下文路径的输出,如深度监督[35]。 所有损失函数均为 Softmax 损失,如公式 1 所示。 此外,我们使用参数α来平衡主损失和辅助损失的权重,如公式2所示。 我们论文中的α等于1。联合损失使优化器更轻松地优化模型。
其中 lp 是级联输出的主要损失。 Xi 是 Xception 模型第 i 阶段的输出特征。 li 是阶段 i 的辅助损失。 在我们的论文中,K 等于 3。 L 是联合损失函数。 这里,我们只在训练阶段使用辅助损失。
实验结果
先讲数据集(对于数据集介绍)+网络细节(网络大致由几部分组成,而每个部分用的什么模块性训练设置+数据增强)
消融实验
在本小节中,我们将逐步详细研究我们提出的 BiSeNet 中每个组件的效果。 在接下来的实验中,我们使用 Xception39 作为基础网络,并在 Cityscapes 验证数据集 [9] 上评估我们的方法。
1 我们的基线模型的准确性和参数分析:Cityscapes 验证数据集上的 Xception39 和 Res18。 这里我们使用 FCN-32s 作为基础结构。 FLOPS 是针对 3 × 640 × 360 输入进行估计的。
基线:我们使用在 ImageNet 数据集 [28] 上预训练的 Xception39 网络作为上下文路径的主干。 然后我们直接将网络的输出上采样作为原始输入图像,如 FCN [22]。 我们评估基本模型的性能作为基准,如表 1 所示。
U 形消融:我们提出上下文路径来提供足够的感受野。 我们使用轻量级模型 Xception39 作为上下文路径的骨干来快速下采样。 同时,我们使用U形结构[1,25,35]来结合Xception39网络中最后两级的特征,称为U-shape-8s,而不是标准的U形结构,称为U-shape- 4秒。 数字代表输出特征的下采样因子,如图2所示。使用U-shape-8s结构的原因有两个。 首先,U型结构可以恢复一定程度的空间信息和空间尺寸。 其次,U-shape-8s 结构比 Ushape-4s 更快,如表 2 所示。因此,我们使用 U-shape-8s 结构,性能从 60.79% 提高到 66.01%,如表 2 所示。 表 2.
空间路径消融:正如第 1 节所述,现有的实时语义分割任务的现代方法面临着空间信息丢失的挑战。 因此,我们提出了一种空间路径来保留空间大小并捕获丰富的空间信息。 空间路径包含三个步长 = 2 的卷积,然后是批量归一化 [15] 和 ReLU [11]。 这将性能从 66.01% 提高到 67.42%,如表 3 所示。空间路径编码了丰富的空间信息细节。 图3显示BiSeNet可以获得更详细的空间信息,例如 一些交通标志。
注意力细化模块的消融:为了进一步提高性能,我们专门设计了注意力细化模块(ARM)。 该模块包含一个全局平均池,用于将输出特征编码为向量。 然后我们利用卷积、批量归一化 [15] 和 ReLU 单元 [11] 来计算注意力向量。 原始特征将由注意力向量重新加权。 对于原始特征,无需复杂的上采样操作即可轻松捕获全局上下文信息。 ARM 的效果如表 3 所示。
特征融合模块的消融:基于Spatial Path和Context Path,我们需要融合这两条路径的输出特征。 考虑到不同级别的特征,低级别的空间路径特征和高级别的上下文路径特征,我们提出了特征融合模块来有效地组合这些特征。 首先,我们评估这些特征的直接求和以及我们提出的特征融合模块的效果,如表3所示。比较性能的差距解释了两条路径的特征依次属于不同的级别。
全局平均池化的消融:我们期望上下文路径能够提供足够的感受野。 虽然原始的 Xception39 模型理论上可以覆盖输入图像的大部分区域,但我们仍然通过全局平均池化进一步扩大感受野[21]。 这样可以保证有效感受野足够大。 在本文中,我们在 Xception39 模型的尾部添加了全局平均池化。 然后,我们对全局平均池化的输出进行上采样,并将该特征与 Xception39 模型最后阶段的输出相加,如 DFN [36]。 这将性能从 67.42% 提高到 68.42%,说明了该设计的效果,如表 3 所示。