[论文笔记] RDRNET

摘要

        语义分割在自动驾驶、医学图像等应用中发挥关键作用。尽管现有的实时语义分割模型在准确性和速度之间取得了令人称道的平衡,但它们的多路径块仍然影响整体速度。

        为了解决这一问题,提出了一种用于实时语义切分的可重参数化双分辨率网络(RDRNet)

        RDRNet采用两分支结构,在训练过程中利用多路径块,在推理过程中将其重新参数化为单路径块,从而同时提高了推理精度和推理速度。

        在此基础上,提出了可重参数化的金字塔池模块(RPPM),在不增加推理时间的前提下,增强了金字塔池模块的特征表示能力

介绍

从摘要可以看出  主要创新就是单路径  作者说残差快虽然解决了梯度消失和梯度爆炸的问题 但是残差链接增加了计算成本和内存使用 影像推理速度 相比之下  单路径块由于其单向性质,更适合于实时分割。多路径块在训练中表现出色,但不适合推理,而单路径块则表现出相反的特征。

因此,受上述影响,我们的目标是使用多路径块进行训练,并使用单路径块进行推断。虽然这种方法在实时语义分割领域很少被探索,但在分类任务中,某些研究在模型训练期间将多路径块合并,然后在推理期间将其重新参数化为单路径块。

提出基于双分支的RDRNET 

在提取浅层特征之后,RDRNet将这些特征引导到两个不同的分支中。一个分支专注于学习深层语义信息(语义分支),而另一个分支则深入研究获取空间细节信息(细节分支)。

值得注意的是,RDRNet并不仅仅在两个分支的末端融合输出。相反,它促进了分支之间的多种交互,以实现更有效的信息融合。(类似ddrnet)我们重新设计了ResNet块,删除了冗余的内核,只保留了一个单一的3×3内核,并引入了一个带有两个1×1内核的新路径。重要的是,剩余路径保持不变。

作者重新设计了ResNet块,删除了冗余的内核,只保留了一个单一的3×3内核,并引入了一个带有两个1×1内核的新路径。重要的是,剩余路径保持不变。在整个训练阶段,RDRNet块都将遵循此配置。然而,在推理过程中,它经历了重新参数化,将三条路径合并为具有3 × 3卷积核的单路径。

此外,认识到PAPPM 与DAPPM相比快速但相对较弱的性能,我们提出了一个新的金字塔池化模块:可重新参数化的金字塔池化模块(RPPM)。RPPM能够通过向PAPPM并行添加3×3分组卷积来学习更多的特征表示。

在推理时,这个卷积与另一个分组卷积合并,生成一个新的3 × 3分组卷积,确保RPPM不会引入额外的计算负担。值得注意的是,RPPM实现了类似于DAPPM的性能,同时匹配PAPPM的速度。

看不懂没关系 后面会提到 

主要创新点:

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

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

相关工作

相关工作主要是围绕实时和非实时的语义分割历史来写的 没什么好说的  感兴趣自己看 可积累

非实时主要分为enconder-deconder架构和多分支架构

模型框架 

A. Reparameterizable Dual-Resolution Network

        如图2所示,在RDRNet提取浅层特征之后,特征映射被分流为两个分支。被称为语义分支的上分支被设计为学习深层语义信息。相反,被称为细节分支的下分支负责捕获空间细节信息。

        在阶段4中跨多个块进行特征提取之后,来自两个分支的特征被双边融合,从而允许两个分支彼此互补。在阶段5中执行类似的操作。在阶段6之后,语义分支特征被馈送到金字塔池化模块中以生成更丰富的特征表示,而细节分支特征保持不变。

        最终,来自两个分支的特征被求和并传递到分割头进行预测。在训练阶段,辅助分割头提供额外的损失函数,促进模型对数据特征的全面学习。值得注意的是,由于在推理阶段中不使用辅助分割头,因此它不会影响模型的推理速度和效率。

        在以前的研究中,DDRNet 和PIDNet  等作品采用ResNet 残差块作为其模型中的基本块。为了消除由于残差块而导致的推理速度较慢,我们使用所提出的可重新参数化块作为RDRNet的基本块。在图2中,可以看到可重新参数化的块占据了整个模型的主要部分(阶段1到5),这是RDRNet推理速度提高的主要因素。

        在进行双边融合时,RDRNet会使用1 × 1卷积压缩语义分支的特征,使用双线性插值进行上采样,然后添加到细节分支的特征中。细节分支的特征使用步长为2的3 × 3卷积(或两个)进行扩展和下采样,然后添加到语义分支的特征。

        图3示出了阶段4之后的双侧融合过程。假设RS和RD对应于语义分支和细节分支的一系列可重新参数化的块,则TS→D和TD→S分别表示语义到细节特征对齐操作和细节到语义特征对齐操作。在双边融合之后,语义分支的第i个特征(记为Xi S)和细节分支的第i个特征(记为Xi D)

可以归纳为:

(写的真麻烦 )

        我们的RDRNet的分割头类似于DDRNet,包括一个3 × 3卷积,然后是一个1 × 1卷积。在结合语义特征和细节特征之后,利用3 × 3卷积来学习特征,同时还调整通道维度(Oc)。1 × 1卷积用于将特征通道与类的数量对齐;例如,如果类的数量为19,则1 × 1卷积将特征从通道Oc调整为19。

        我们扩展了RDRNet的深度和宽度,并构建了总共四个不同版本的RDRNet,即RDRNetS-Simple,RDRNet-S,RDRNet-M和RDRNet-L。在表I中,我们给出了RDRNet-S和RDRNet-L的详细架构。RDRNet-S-Simple和RDRNet-S共享相同的深度和宽度,但在分割头中的Oc不同,而RDRNet-M的宽度是RDRNet-S的两倍。我们将四个模型的Oc分别设置为64、128、128和256。

B. Reparameterizable Block

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

        当执行重新参数化时,RB首先将卷积权重与批归一化(BN)的参数合并。假设BN中的比例因子、偏移因子、均值和方差分别为γ、β、μ和σ ∈ RCout,对于具有输入通道Cin和输出通道Cout的k × k卷积,通过将卷积权重W ∈ RCout×(Cin×k×k)与偏置B ∈ RCout和BN合并而获得的权重和偏置如下:

如图5所示,在合并卷积和BN之后,RB将结合组合两个1 × 1卷积。假设两个1 × 1卷积由W(1)1×1 ∈ RCout1×(Cin×1×1)和W(2)1×1 ∈ RCout2×(Cout1×1×1)表示,输入特征x ∈ RCin×H×W,输出特征y ∈ RCout2×H′×W′,卷积可以表示为:

其中,*表示卷积运算,并且·表示矩阵乘法。im2col运算符将输入x转换为对应于卷积核形状的二维矩阵。例如,im2col1会将形状为Cin × H × W的x转换为形状为(Cin×1×1)×(H′×W′)的X。整形运算符将结果矩阵转换为张量(特征映射)。由于W(2)1×1是形状为Cout2×(Cout1×1×1)的1×1卷积核,W(1)1×1 · im2col1(x)的形状为Cout1 ×(H′ ×W′),我们得出结论:

根据3和4可以得出

        其中W1×1是合并后产生的新卷积。因此,两个1 × 1卷积可以组合成一个1×1卷积,而不会导致任何性能下降。值得注意的是,只有当第二个1 × 1卷积的步长为1时,公式4才成立。当RB执行下采样时,第一1×1卷积的步长被设置为2,而第二1×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卷积<$c ∈ RCi×Cj×1×1(i ≤ j ≤ out)来取代它,其中如果i等于j,则权重值为1,如果i不等于j,则权重值为0。由于现在所有三个路径都是3×3卷积,RB可以直接将三个3×3卷积的权重和偏置相加,以获得新的3 × 3卷积。

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

C. Reparameterizable Pyramid Pooling Module

        Pyramid Pooling Module(PPM)[22]用于在多个尺度上捕获图像的特征,帮助模型理解和分析图像中的局部和全局信息。在实时语义分割模型中,提出的深度聚合PPM(DAPPM)[7]和并行聚合PPM(PAPPM)[8]大大提高了模型的性能。虽然PAPPM采用基于DAPPM的并行处理来提高模块速度,但由于并行化中某些操作的省略,模块的精度降低。为了实现PAPPM的速度和DAPPM的性能,我们引入了可重新参数化PPM(RPPM)。

        

        图6显示了RPPM的整体结构,提供了从输入特征到输出特征的流动过程的清晰可视化,其中并行卷积基本上是分组卷积。如果PyTorch中的分组卷积利用了并行计算技术,那么在不同的卷积对不同的输入进行操作的场景中,我们可以将不同的输入连接起来,然后将它们传递给分组卷积,从而利用并行计算来提高推理速度。

        在RPPM中,我们采用了两个并行结构的3 × 3分组卷积,使模块能够学习到更丰富的特征表示,从而提高性能。值得注意的是,这两个卷积仅在训练期间存在,并且在测试时,RPPM将它们重新参数化为单个的、优化的分组卷积。该过程类似于RB重新参数化的过程。训练后的RPPM首先将两个3×3分组卷积与其对应的BN层进行融合,然后通过元素相加的方式合并两个卷积的权值和偏差。由于RPPM的推理结构与PAPPM的推理结构一致,因此RPPM在保持PAPPM推理效率的同时,实现了性能的提升。

D. Deep Supervision

        以前的研究已经证明,在模型训练阶段加入辅助分割头可以提高分割性能,而不会产生额外的推理成本。在RDRNet中,我们在训练过程中使用了一个额外的辅助分割头,随后在测试过程中将其删除。如图2所示,该辅助分割头位于RDRNet的第4阶段双侧融合之后,从细节分支接收特征。在模型的前向传播之后,总损耗可以表示为:

其中Ln和La分别表示正常损耗和辅助损耗,α表示辅助损耗的权重系数,在RDRNet中设置为0.4。为了有效地处理不平衡数据和硬样本,我们还采用OHEM交叉熵作为损失函数,与以前的工作一致[8]。

实验

数据集:  cityscapes   camvid  pascal voc 2012

cityscapes实验结果

camvid实验结果

pascal voc 2012

消融实验

RB模块

rppm模块

结束

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值