重参数化双分辨率实时语义分割网络

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”


导读

论文解读《Reparameterizable Dual-Resolution Network for Real-time Semantic Segmentation》

Reparameterizable Dual-Resolution Network for Real-time Semantic Segmentation

摘要

语义分割在诸如自动驾驶和医疗图像等领域扮演着关键角色。尽管现有的实时语义分割模型在准确性和速度之间取得了令人称赞的平衡,但它们的多路径块仍然会影响整体速度。为了解决这一问题,本研究提出了一种专为实时语义分割设计的可重参数化双分辨率网络(Reparameterizable Dual-Resolution Network, RDRNet)。具体而言,RDRNet 采用双分支架构,在训练期间利用多路径块,并在推理期间将其重新参数化为单路径块,从而同时提高准确性和推理速度。此外,我们提出了可重参数化金字塔池化模块(Reparameterizable Pyramid Pooling Module, RPPM),以增强金字塔池化模块的特征表示能力,而不增加其推理时间。在 Cityscapes、CamVid 和 Pascal VOC 2012 数据集上的实验结果表明,RDRNet 在性能和速度方面均优于现有的最先进的模型。代码可在 https://github.com/gyyang23/RDRNet 获取。

8d22447cc292ed31796639617b731fb8.png

1、介绍

语义分割是计算机视觉领域的一项关键任务,它要求将图像中的每个像素分配到特定的语义类别中。这项技术在多种应用中起着至关重要的作用,包括自动驾驶 、医学图像分析和环境监测。随着深度学习技术的发展,语义分割模型的性能有了显著提升。然而,仍存在一些挑战需要解决,比如模型无法快速分析图像。这一局限性阻止了模型直接应用于下游任务,如自动驾驶。因此,继续研究和改进语义分割算法仍然非常重要。

为了满足实时或移动设备的要求,近年来提出了许多实时语义分割模型。这些模型的特点是参数较少、计算量减小和推理速度快。最早的模型之一 ERFNet通过使用1D卷积核和跳过连接重新设计ResNet块,实现了参数和计算量的减少。然而,ERFNet 的编码器-解码器架构限制了它从高分辨率特征中有效学习空间信息的能力。

为了应对这一局限性,BiSeNetV1引入了一种双分支架构,其中一个分支专注于空间细节的学习,另一个分支则专注于深层语义信息。虽然 BiSeNetV1 和 BiSeNetV2已经在速度和准确性之间取得了有利的平衡,但 DDRNet和 PIDNet的出现进一步提高了模型的速度和准确性,后者甚至在准确性方面与高性能分割模型相匹配或超越。

尽管这些模型在速度和准确性方面取得了成功,但网络架构中使用的残差块不可避免地阻碍了推理速度。虽然残差块解决了深度神经网络中梯度消失和爆炸的问题,但它的残差连接增加了计算成本和内存使用,最终影响了推理速度。相比之下,单路径块由于其单向性质,更适合实时分割。多路径块在训练中表现出色,但不适合推理,而单路径块则相反。因此,受到上述启发,我们旨在使用多路径块进行训练,并使用单路径块进行推理。虽然这种方式在实时语义分割领域鲜有探索,但在分类任务中,一些研究在模型训练时纳入了多路径块,并在推理时将其重新参数化为单路径块。

在这项研究中,我们从先前的研究中汲取灵感,提出了一种专为实时语义分割任务设计的可重参数化双分辨率网络(Reparameterizable Dual-Resolution Network, RDRNet),基于双分支架构。在提取浅层特征后,RDRNet 将这些特征引导进入两个不同的分支。一个分支专注于学习深层语义信息(语义分支),另一个分支则专注于获取空间细节信息(细节分支)。值得注意的是,RDRNet 不仅仅是在两个分支的末尾融合输出。相反,它促进了两个分支之间的多次交互,以实现更有效的信息融合。我们通过去除冗余内核、仅保留单一 3×3 内核,并引入带有两个 1×1 内核的新路径重新设计了 ResNet 块。重要的是,残差路径保持不变。在整个训练阶段,RDRNet 块遵循这种配置。然而,在推理阶段,它经历了重新参数化,将三条路径整合为带有 3×3 卷积核的单路径。此外,鉴于 PAPPM 相比 DAPPM表现出较快但相对较弱的性能,我们提出了一个新的金字塔池化模块:可重参数化金字塔池化模块(Reparameterizable Pyramid Pooling Module, RPPM)。RPPM 通过在 PAPPM 旁边添加一个 3×3 分组卷积来学习更多的特征表示。在推理时,这个卷积与另一个分组卷积合并,生成一个新的 3×3 分组卷积,确保 RPPM 不会引入额外的计算负担。值得注意的是,RPPM 在性能上接近 DAPPM,同时与 PAPPM 的速度相当。

为了评估我们模型的性能和实时能力,我们在三个数据集上进行了实验:Cityscapes、CamVid和 Pascal VOC 2012。实验结果表明,RDRNet 在分割准确性和推理速度之间实现了最优平衡,如图 1 所示。与其他最先进的实时语义分割模型相比,我们的模型表现出更高的性能和更快的速度。此外,我们还进行了消融实验,以证明所提出的 RPPM 的有效性。

主要贡献

  • 可重参数化双分辨率网络(RDRNet):通过利用多路径块在训练阶段的优势来提高模型性能,并在推理阶段将多路径块重新参数化为单路径块以提高推理速度,我们提出了一种新的模型,称为可重参数化双分辨率网络(RDRNet),专门用于实时语义分割任务。

  • 可重参数化金字塔池化模块(RPPM):为了使金字塔池化模块能够在不增加推理时间的情况下学习更丰富的特征表示,我们引入了可重参数化金字塔池化模块(RPPM)。

  • 实验结果:在三个公共数据集上的实验表明,所提出的模型与其他最先进的实时语义分割模型相比,表现出更高的性能和更快的推理速度。

2、相关工作

语义分割的目标是将图像中的每个像素分配到其对应的语义类别中。此外,语义分割可以分为高性能语义分割和实时语义分割。

A. 高性能语义分割

高性能语义分割是指在确保分割质量和准确性的前提下对图像进行语义分割。作为最早的深度学习分割模型,全卷积网络(FCN)通过将传统 CNN 模型中的全连接层替换为卷积层,实现了端到端的像素级语义分割。然而,FCN 中过度使用下采样操作导致特征图中空间细节的丢失。为了解决这一问题并增强感受野而不牺牲空间分辨率,DeepLab 家族将具有不同膨胀率的膨胀卷积整合到网络中,偏离了传统的卷积。此外,为了从多尺度特征中聚合上下文信息并增强网络捕捉全局信息的能力,PSPNet 引入了金字塔池化模块。与通过多尺度特征融合捕捉上下文的方法不同,DANet在网络中采用了双重注意力机制来自适应地将局部特征与其全局依赖关系合并。近年来,transformer 领域取得了显著发展,导致了一系列基于 transformer 结构的分割模型的出现。这些模型利用 transformer 的自注意力机制有效地捕捉长距离依赖关系,从而在语义分割任务中取得了显著的性能提升。

B. 实时语义分割

实时语义分割是指在确保分割速度的前提下对图像进行语义分割。这种方法通常采用轻量级网络架构或通过模型压缩和加速等技术提高分割速度。根据实时语义分割模型的架构,模型可以进一步分为两类:编码器-解码器架构和多分支架构。

编码器-解码器架构:ERFNet引入了一种新颖的块,利用 1D 卷积核和跳过连接来减少参数和计算量。这种设计有助于提高模型的实时性能。CGNet提出了上下文指导块(Context Guided block),它同时学习局部特征和周围上下文特征,并通过全局上下文进一步改进这些特征。为了提高推理速度和减少参数数量,CGNet 在上下文指导块中使用了通道卷积,并精心设计了整个网络结构。STDC认识到在 BiSeNet中添加额外分支以补偿空间信息不足的做法耗时。为了解决这一问题,STDC 提出了一个细节聚合模块(Detail Aggregation Module),以单一分支方式保留低级别特征的空间信息。PPLiteSeg 优化了解码器,并引入了一个灵活且轻量级的解码器来减少计算开销。

多分支架构:与编码器-解码器架构模型通常采用跳过连接来连接编码器和解码器之间的特征图,从而利用空间细节不同,多分支架构模型在网络中集成了额外的分支,使模型能够学习空间细节。ICNet集成了由适当标签引导的多分辨率分支。BiSeNetV1&V2引入了一种双分支架构,其中一个分支专注于学习深层语义信息,另一个分支专注于学习空间信息。值得注意的是,这两个分支并不共享权重。在提取了一定的浅层特征后,Fast-SCNN将特征分成两个分支:一个用于保留特征,另一个用于提取全局特征。DDRNet在两个分支之间进行了多次双边融合,以高效地合并信息,并引入了一个深度聚合金字塔池化模块(DAPPM),该模块按顺序合并提取的多尺度上下文信息。PIDNet提出了一个三分支架构,利用三个分支来解析详细信息、深层语义信息和边界信息。此外,PIDNet 引入了并行聚合金字塔池化模块(PAPPM),这是 DAPPM 的改进版本,旨在支持并行计算。

尽管基于编码器-解码器架构的模型旨在加强其学习空间细节的能力,但与多分支架构模型相比仍存在差距。这一差距体现在准确性和速度之间的权衡上。因此,我们基于双分支架构实现了我们的RDRNet。现有的实时语义分割模型,无论是基于编码器-解码器架构还是多分支架构,都受限于多路径块的使用,这限制了模型的推理速度。与这些模型不同,我们的RDRNet 在训练阶段使用多路径块以确保其学习能力。然而,在推理阶段,RDRNet 将多路径块重新参数化为单路径块,以提高速度而不牺牲准确性。

3、方法

在本节中,我们将首先介绍所提出的可重参数化双分辨率网络(RDRNet)的整体框架,随后详细解释可重参数化块(Reparameterizable Block)和可重参数化金字塔池化模块(Reparameterizable Pyramid Pooling Module)。最后,我们将详细说明模型训练阶段所采用的损失函数。

a82f57c53a45bd3df68a449b55f5a4ca.png

A. 可重参数化双分辨率网络 (RDRNet)

如图 2 所示,在 RDRNet 提取浅层特征之后,特征图被送入两个分支。上方的分支被称为语义分支,旨在学习深层语义信息。相比之下,下方的分支被称为细节分支,负责捕获空间细节信息。经过第 4 阶段中多个块的特征提取后,两个分支的特征进行双边融合,使两个分支相互补充。第 5 阶段也执行了类似的操作。在第 6 阶段之后,语义分支的特征被送入金字塔池化模块以生成更丰富的特征表示,而细节分支的特征保持不变。最终,两个分支的特征被相加并传递给分割头进行预测。在训练阶段,辅助分割头提供了一个额外的损失函数,帮助模型全面地学习数据特征。值得注意的是,由于辅助分割头在推理阶段不被使用,因此不会影响模型的推理速度和效率。

a7806183605a74f0aea4311466e2342a.png

在先前的研究中,如 DDRNet和PIDNet这样的工作采用 ResNet的残差块作为模型的基本块。为了消除残差块导致的较慢推理速度,我们使用了所提出的可重参数化块作为RDRNet的基本块。如图 2 所示,可重参数化块占据了整个模型的主要部分(第 1 至第 5 阶段),这是提高我们RDRNet推理速度的主要因素。在进行双边融合时,RDRNet将使用 1×1 卷积来压缩语义分支的特征,使用双线性插值进行上采样,然后将这些特征与细节分支的特征相加。细节分支的特征使用一个步幅为 2 的 3×3 卷积(或两个)进行扩展和下采样,然后将这些特征与语义分支的特征相加。图 3 描述了第 4 阶段后的双边融合过程。假设 和分别对应一系列语义分支和细节分支的可重参数化块, 和分别表示语义到细节特征对齐操作和细节到语义特征对齐操作。经过双边融合后,语义分支的第 i 层特征和细节分支的第 i 层特征可以表示如下:

56fd27d7c19e1b071b6c5482a2410f61.png

我们的 RDRNet 的分割头类似于 DDRNet,包含一个 3×3 卷积后跟一个 1×1 卷积。3×3 卷积用于学习结合语义特征和详细特征后的特征,同时也调整通道维度()。1×1 卷积用于将特征通道与类别数对齐;例如,如果类别数为 19,则 1×1 卷积将特征从通道 调整到 19。

我们对 RDRNet 的深度和宽度进行了缩放,并构建了总共四个不同版本的 RDRNet,即 RDRNetS-Simple、RDRNet-S、RDRNet-M 和 RDRNet-L。在表1中,我们列出了 RDRNet-S 和 RDRNet-L 的详细架构。RDRNet-S-Simple 和 RDRNet-S 具有相同的深度和宽度,但它们在分割头中的不同,而 RDRNet-M 的宽度是 RDRNet-S 的两倍。我们将这四个模型的分别设置为 64、128、128 和 256。

1c0e3911d17bc900a3d7df923c8dd747.png

B. 可重参数化块

如图 4 所示,可重参数化块(RB)在训练阶段具有三条路径:第一条路径应用 3×3 卷积,第二条路径应用两个 1×1 卷积,第三条路径是残差连接。当执行下采样操作时,残差连接被移除。这是因为残差连接用于保持输入特征图不变,而下采样操作会使特征图的空间分辨率减半,使得残差路径不再适用。在推理阶段,RDRNet 将 RB 重新参数化为一个 3×3 卷积,而不会损失准确性。与 ResNet 块相比,RB 添加了一条由两个 1×1 卷积组成的路径。这条路径使 RB 能够学习更多的特征表示,有助于提高模型的性能。

baf0e3b93c879bcbc2ce82d9486ab885.png

当执行重新参数化时,RB 首先将卷积权重与批量归一化(BN)的参数合并。在合并卷积和批量归一化(BN)之后,RB 将串联的两个 1×1 卷积组合在一起。合并两个串联的 1×1 卷积之后,RB 剩下的部分包括一个 3×3 卷积、一个 1×1 卷积以及一个残差连接。随后,RB 将分别将 1×1 卷积和残差连接重新参数化为 3×3卷积。如图 5 所示,直观上可以看出 1×1卷积是3×3 卷积的一个特例,其中中心元素具有非零权重值,而其他元素的权重值为 0。因此,RB 可以直接将1×1 卷积重新参数化为 3×3卷积。至于残差连接,RB 首先构建一个1×1 卷积来替代它,其中当 i 等于 j 时权重值为 1,当 i 不等于 j 时权重值为 0。然后将该 1×1卷积重新参数化为 3×3卷积。由于现在所有三条路径都是 3×3 卷积,RB 可以直接将这三个3×3 卷积的权重和偏置相加以得到一个新的3×3 卷积。

总体而言,RB 不仅受益于多路径块的训练优势,还继承了单路径块的推理优势。这种设计不仅使模型能够在训练期间充分利用多路径块中的丰富信息和复杂特征表示,而且还能在推理阶段促进快速图像分割。

3dfb9089fc92aac67ce13c77ced18db6.png

C. 可重新参数化的金字塔池化模块

金字塔池化模块 (PPM) 用于捕获图像在多个尺度上的特征,帮助模型理解和分析图像中的局部和全局信息。在实时语义分割模型中,提出的深度聚合金字塔池化模块 (DAPPM) 和并行聚合金字塔池化模块 (PAPPM)显著提升了模型的性能。虽然 PAPPM 通过基于 DAPPM 的并行处理增强了模块的速度,但由于并行化过程中省略了一些操作,模块的精度有所降低。为了同时实现 PAPPM 的速度和 DAPPM 的性能,我们引入了可重新参数化的金字塔池化模块 (RPPM)。

图 6 展示了 RPPM 的整体结构,清晰地展示了从输入特征到输出特征的流程过程,其中并行卷积本质上是分组卷积。鉴于 PyTorch 中的分组卷积利用了并行计算技术,在不同卷积对不同输入进行操作的情况下,我们可以将不同的输入拼接起来,然后将它们传递给分组卷积,从而利用并行计算来提高推理速度。在 RPPM 中,我们使用两个并行结构的3×3分组卷积来使模块能够学习更丰富的特征表示,从而提升性能。值得注意的是,这两个卷积只在训练过程中存在,在测试时,RPPM 将它们重新参数化为一个优化过的单一分组卷积。这一过程与 RB 的重新参数化过程类似。经过训练后,RPPM 首先将两个 3×3分组卷积及其相应的批量归一化 (BN) 层融合,并通过元素加法合并这两个卷积的权重和偏置。由于 RPPM 的推理结构与 PAPPM 一致,RPPM 成功地保持了 PAPPM 的推理效率,同时实现了性能的提升。

D. 深度监督

先前的研究已经证明,在模型训练阶段加入辅助分割头可以增强分割性能,而不会增加额外的推理成本。在 RDRNet 中,我们在训练过程中使用了一个额外的辅助分割头,而在测试时将其移除。如图 2 所示,这个辅助分割头位于 RDRNet 第四阶段双边融合之后,接收来自细节分支的特征。经过模型前向传播后,总损失可以表示为:

6b96860019e2cc09ef5f0cb0c1d203b7.png

其中 ( Ln ) 和 ( La ) 分别代表正常损失和辅助损失,( α) 表示辅助损失的权重系数,在 RDRNet 中设置为 0.4。为了有效地处理数据不平衡和困难样本,我们也采用了 OHEM 交叉熵作为损失函数,这与先前的工作一致。

4、实验

实现细节:

Cityscapes,我们使用随机梯度下降 (SGD) 作为优化器,动量设置为 0.9,权重衰减为 0.0005。初始学习率设置为 0.01,并采用幂次为 0.9 的多项式学习策略逐渐降低学习率。在训练过程中,应用了数据增强技术,包括在 0.5 到 2.0 范围内的随机缩放、以 1024×1024 的分辨率进行随机裁剪,以及以 0.5 的概率进行随机水平翻转。在推理时,使用原始图像,分辨率为 1024 × 2048,并且不应用数据增强。我们将批量大小设置为 12,在两块 GPU 上训练模型共 120K 迭代(大约 484 个周期)。

CamVid,遵循先前的工作,我们使用 Cityscapes 预训练模型,并将学习率初始化为 0.001。在训练过程中,我们使用了与 Cityscapes 相同的数据增强技术,唯一的区别在于图像被随机裁剪到 720 × 960 的分辨率。在推理时,使用原始图像,分辨率为 720 × 960。我们在一块 GPU 上训练模型共 7800 迭代(200 个周期),其余超参数与 Cityscapes 设置相同。

Pascal VOC 2012,我们使用 Cityscapes 预训练模型,并将初始学习率设置为 0.001。在训练过程中,将图像分辨率调整至 512 × 2048,然后执行与 Cityscapes 相同的数据增强技术,唯一的区别在于图像被随机裁剪到 512×512 的分辨率。在推理时,将图像分辨率调整至 512×2048。值得注意的是,这里的分辨率只是一个调整的目标。由于 Pascal VOC 中的图像分辨率不是固定的,因此根据 512 × 2048 的比例调整图像,以保持宽高比。我们在两块 GPU 上训练模型共 24400 迭代(200 个周期),其余超参数与 Cityscapes 设置相同。

对比结果:

cb5afea8ca7dd6df14211b35c829a196.png

442f1305bc80b1c9151ebd4ea26e84bf.png

5、总结

本研究提出了一种用于实时语义分割的可重新参数化的双分辨率网络 (RDRNet)。通过在训练过程中利用多路径块并在推理时将其重新参数化为单路径块,我们优化了准确性和速度。此外,我们引入了可重新参数化的金字塔池化模块 (RPPM),以增强特征表示而不增加推理时间。广泛的实验结果表明,RDRNet 在性能和快速推理能力方面超越了现有的先进模型。未来,我们计划探索更多强大的可重新参数化的训练结构。

cdd12401da5f52bb53744b95440c849e.png

—END—

论文链接:https://arxiv.org/pdf/2406.12496v1

cda918f17d889f41a2cb96d9bbbd9693.jpeg

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值