论文地址:http://arxiv.org/pdf/2501.00603v1
代码地址:https://github.com/YuchuanTian/DiC
关注UP CV缝合怪,分享最计算机视觉新即插即用模块,并提供配套的论文资料与代码。
https://space.bilibili.com/473764881
摘要
最近的实时语义分割模型,无论是单分支还是多分支,都实现了良好的性能和速度。然而,它们的速度受到多路径块的限制,并且一些模型依赖于高性能的教师模型进行训练。为了克服这些问题,本研究提出了金箍棒网络(GCNet)。具体来说,GCNet在训练过程中使用垂直多卷积和水平多路径,在推理过程中将其重新参数化为单个卷积,从而优化性能和速度。这种设计使GCNet能够在训练过程中自我扩大,在推理过程中自我收缩,有效地成为一个“教师模型”,而无需外部模型。实验结果表明,在Cityscapes、CamVid和Pascal VOC 2012数据集上,GCNet在性能和速度方面均优于现有的最先进模型。
引言
语义分割作为计算机视觉中的核心任务,其目标是将图像中的每个像素划分到特定的类别,在自动驾驶、医学图像分析和环境监测等领域发挥着至关重要的作用。虽然深度学习技术的引入显著提升了语义分割模型的性能,但在实时图像分析方面,这些模型仍然面临着巨大的挑战,特别是在对计算资源和延迟高度敏感的自动驾驶等应用场景中。因此,如何进一步提升语义分割算法的效率和性能,使其能够满足实时应用的需求,仍然是当前研究的重点。
近年来,为了满足实时应用的需求,涌现出许多强调高性能和推理速度的实时语义分割模型。这些模型在架构设计上主要分为单分支和多分支两大类。早期的单分支模型,例如ERFNet,通过精简网络结构降低了参数量和计算量,但其单一路径的结构限制了其对高分辨率特征中空间信息的学习能力。为了解决这个问题,BiSeNetV1、BiSeNetV2和DDRNet等模型引入了双分支架构,分别关注空间细节和深度语义信息。PIDNet则更进一步,采用了三分支设计,增加了边界信息的学习分支。虽然多分支模型在提升空间细节捕捉方面表现出色,但SCTNet另辟蹊径,提出了基于知识蒸馏的单分支模型,利用高性能的Transformer分割模型作为教师模型来增强语义表示能力。
然而,目前最先进的实时语义分割模型,无论是单分支还是多分支结构,都存在一定的局限性。本研究发现,现有模型的推理速度通常受到多路径模块的限制,例如残差连接会增加内存访问频率,而类似Transformer的卷积结构(如Conv-Former Block)也会影响内存访问和推理效率。此外,一些模型,如SCTNet,虽然在推理过程中使用单分支架构,但在训练过程中依赖于高性能的教师模型,这不仅增加了训练成本,还需要特定数据集上预训练的教师模型权重,进一步加大了训练的难度和资源需求。
本研究针对上述问题,提出了一种名为Golden Cudgel Network(GCNet)的即插即用模块。为了解决多路径模块和Transformer类卷积结构导致的推理速度下降问题,本研究设计了Golden Cudgel Block(GCBlock),该模块在训练阶段采用垂直多卷积和水平多路径的配置,而在推理阶段则通过重参数化技术将其简化为单个3×3卷积。这种设计旨在兼顾多路径模块在训练方面的优势(例如避免梯度消失和爆炸)以及单路径模块在推理方面的优势(例如更快的处理速度和更低的内存开销)。为了解决对高性能教师模型的依赖问题,本研究提出的GCNet通过堆叠多个GCBlock,在训练过程中进行自我扩展以增强学习能力,而在推理过程中进行自我收缩以提高速度,无需依赖外部教师模型即可有效提升性能。
论文创新点
🔥 金箍棒网络 (GCNet) :实时语义分割的革新!🔥
本研究提出了名为“金箍棒网络”(GCNet)的实时语义分割模块。GCNet 模块有如下几个创新点:
-
✨ 自扩展和自收缩机制: ✨
- GCNet 在训练阶段采用垂直多卷积和水平多路径结构,扩大模型学习容量,如同“教师模型”。
- 推理阶段,这些多卷积和多路径通过重参数化技术合并成单一 3x3 卷积,显著提高推理速度,如同“学生模型”。
- 无需外部教师模型进行知识蒸馏,兼顾训练效果和推理速度。
-
💫 金箍棒模块(GCBlock)的设计: 💫
- GCBlock 训练时采用多卷积多路径结构,充分利用多路径结构的训练优势,例如避免梯度消失和爆炸问题。
- 推理时,通过重参数化技术,GCBlock 将多卷积多路径合并成单一 3x3 卷积,利用单路径结构的推理优势,例如更快的处理速度和更低的内存开销。
-
⚙️ 重参数化技术: ⚙️
- 采用新颖的重参数化技术,将多卷积多路径结构等效转换为单一卷积。
- 通过移除卷积层之间的激活函数,仅在输出处保留一个激活函数,将垂直方向上的多个卷积重参数化成一个 3x3 卷积。
- 引入包含两个 1x1 卷积的 Path 1x11x1 和多个包含一个 3x3 卷积和一个 1x1 卷积的 Path 3x31x1,增强模型学习能力。
- 推理阶段,这些路径和卷积都被合并成一个单一的 3x3 卷积。
-
🧬 双分支架构与特征融合: 🧬
- 采用双分支架构:语义分支学习深度语义信息,细节分支学习空间细节信息。
- 在 stage 4 或 stage 5 之后,来自语义分支的特征与细节分支的特征进行融合。
- 采用 3x3 卷积进行通道压缩和扩展,并使用双线性插值进行上采样,增强两个分支特征的丰富性。
- 避免使用复杂的注意力模块,保持较高的推理速度。
-
💡 辅助分割头和 OHEM 交叉熵损失函数: 💡
- 训练阶段引入辅助分割头,在 stage 4 的双边融合之后,将细节分支的特征传递给辅助分割头进行损失计算。
- 使用 OHEM 交叉熵损失函数处理数据不平衡和困难样本,并根据分割头和辅助分割头的损失计算总损失。
- 辅助分割头在推理阶段会被移除,不会增加推理时间。
论文实验