图像语义分割(11)-BiSeNet:用于实时语义分割的双向分割网络

BiSeNet,一种实时语义分割网络,通过空间路径和上下文路径结合,在保持高速度的同时达到较高精度。空间路径保留位置信息,上下文路径获取大感受野,特征融合模块和注意力细化模块进一步提升精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文地址 :BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation

1. 摘要

  语义分割任务不仅需要丰富的空间位置信息,还需要尺寸客观的感受野,但是现有的方法为了提速往往采取损失空间分辨率的方法,这导致了精度的严重下降。论文中提出了一种新的双向分割网络BiSeNet。首先,设计了一个带有小步长的空间路径来保留空间位置信息生成高分辨率的特征图;同时设计了一个带有快速下采样册率的语义路径来获取客观的感受野。在这两个模块之上引入一个新的特征融合模块将二者的特征图进行融合,实现速度和精度的平衡。
  BiSeNet模型在Cityscapes上取得了68.4%的平均IOU和105FPS的速度[Titan XP]。

2. 介绍

  语义分割应用广泛,实时语义分割也具有良好的应用前景。目前实时语义分割的方法主要有如下图所示以下三种:
在这里插入图片描述

  • 通过裁剪和尺寸变化严格规定输入图像的尺寸 ⇒ \Rightarrow 数据上和视觉效果上可见的精度减少
  • 改变网络的通道数来加速推理过程 ⇒ \Rightarrow 预测位置的能力的衰弱
  • 丢弃最后阶段的几层来获得一个较小的框架 ⇒ \Rightarrow 模型的感受野减小导致模型分类能力不足
      为了解决上面三种方案中空间细节上的损失,提出U-shape 结构,如下图所示,这种结构融合主干网络的层次特征并逐步增加分辨率且填充一些细节,但这只是一种缓解手段而不能解决,因为U-shape Structure存在两个问题:
  • 完整的U-shape 结构会导致计算速度的减慢
  • 在裁剪过程中损失的位置信息较难恢复
    在这里插入图片描述
      基于对这些问题的研究,提出BiSeNet,如下图所示,其包含两部分,两个部分分别处理位置信息的丢失和感受野的缩减:
  • Spatial Path(SP):使用三个卷积层来获取特征图(output_stride=8)
  • Context Path(CP):附加一个全局平均池化层在Xception的尾部,这里的感受野是整个主干网络中最大的
    在这里插入图片描述
      为了在不损失速度的同时获得更好的精度,论文还提将两个路径融合的模块FFM和精细画最后最终预测结果的模块ARM,这两个模块有助于提升精度。
      综上,论文的主要贡献在于:
  • BiSeNet with SP and CP
  • Feature Fusion Module 和 Attention Refinement Module ⇒ \Rightarrow 较小的速度损失获得较大的精度提升
  • impressive results on Cityscapes,etc.

3.双向分割网络

  详细解释带有SP和CP的BiSeNet,然后分别对SP和CP的有效性进行说明,最后使用FFM融合两个paths的输出和整个网络的结构(网络结构如下图所示)。
在这里插入图片描述

3.1 Spatial Path

  提出SP基于很多考虑,一方面位置信息和感受野两个对于分割结果非常关键的因素不能两全,另一方面实时语义分割方法多数采取使用较小的输入图像尺寸导致大部分位置信息的丢失。由此提出SP模块,该模块保留空间尺寸并且编码了丰富的位置信息。SP包含三层,每一个卷积层的步长都为2且后面跟着BN层和ReLU激活层。最终SP的output_stride=8,之中尺寸的特征图包含了丰富的位置信息。

3.2 Context Path

  提出CP基于这样的观察,即大的感受野对于语义信息非常关键,现有的金字塔池化,空洞空间金字塔池化和大内核方法计算代价过高,从而导致速度较慢,因此提出Context Path方法。CP轻量级模型和全局平均池化操作来获取较大的感受野。
  首先使用轻量级的模型比如Xception来编码高层语义信息,之后加一层全局平均池化来获取最大的感受野,最后将全局池化的结果上采样并于轻量级模型的输出特征相融合。在轻量级模型中,应用U-shape结构来融合这两个阶段的特征,结构如下图所示:
在这里插入图片描述
  另外还有一个模块Attention Refinement Module(ARM)来调整各个阶段的特征,结构如下图所示,ARM应用全局平均池化来获取全局语义信息然后计算一个attention vector来知到特征学习。这个结构能够精细画Context Path中各个阶段的结果。它可以不用上采样就集成全局语义信息,计算代价较小。
在这里插入图片描述

3.3 网络架构

  使用Xception作为Context Path的主干网络,三层带有卷积步长的卷积层作为Spatial Path,然后将两条路径的输出融合。在速度较快的情况下取得良好的精度。
  分开来看,尽管SP每一层的计算代价都很大,但是只有三层,计算量也可以接受;CP层使用轻量级模型实现快速下采样,而且这两条路径同时计算提高了精度。
  最终在FFM前得到的两条路径的输出特征尺寸不同,因此不能简单的相加。富含位置信息的SP特征和富含语义信息的CP特征二者在不同的层次,因此需要FFM来融合:对于给定的不同特征输入,首先将二者concatenate,然后利用BN来调整特征的尺度,接着对Concat结果进行池化得到一个特征向量并计算一个权重向量,权重向量可以调整特征的权重,从而带来特征的选区和结合,结构如下图所示:
在这里插入图片描述
  对于损失函数,模型中使用principal loss function来监督模型的训练,并且使用额外的两个辅助损失函数来监督Context Path的训练,所有的损失函数都是Softmax函数。最终使用 α \alpha α来控制principa loss和辅助loss的权重[文中取1],如下所示:
(辅助损失函数) l o s s = 1 N ∑ i L i = 1 N ∑ i − l o g ( e p i ∑ j e p j ) loss=\frac{1}{N}\sum_{i}{L_i}=\frac{1}{N}\sum_{i}{-log(\frac{e^{p_i}}{\sum_{j}{e^{p_j}}})} \tag{辅助损失函数} loss=N1iLi=N1ilog(jepjepi)()
  其中p是网络输出。
(损失函数) L ( X ; W ) = l p ( X ; W ) + α ∑ i = 2 K l i ( X i ; W ) L(X;W)=l_p(X;W)+\alpha \sum_{i=2}^{K}l_i(X_i;W) \tag{损失函数} L(X;W)=lp(X;W)+αi=2Kli(Xi;W)()
  其中, l p l_p lp是主损失函数的concat输出, X i X_i Xi是Xception第i阶段的输出, l i l_i li是不同阶段的辅助损失函数。K取3,L即联合损失函数。

4. 实验

4.1实现细节

  三层卷积作为SP,Xception39作为CP的主干网络,使用FFM结合两个路径的结果得到最终预测结果。SP的输出和最终的预测都是原始图像的 1 8 \frac{1}{8} 81.
  使用小批量随机梯度减少算法进行训练,batchsize=16,动量0.9,权重衰减 1 e − 4 1e^{-4} 1e4,使用poly learing rate
  进行数据增广,包括mean subtraction,随机水平翻转和随机尺度。最终将其裁剪至于训练的尺寸相当。

4.2 各种烧蚀实验

  略

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

<think>好的,我现在需要帮助用户寻找关于轻量级图像分割网络的实现方法和优化框架。首先,我得回顾用户提供的引用资料,看看有哪些相关模型和框架可以推荐。用户提到了LightM-UNet、RegSeg和BiSeNet V2,这些都是轻量级的分割网络,应该详细说明每个模型的架构和优化点。 用户的问题主要集中在实现框架和优化方法上,所以需要分点回答。首先,我应该概述轻量级分割网络的设计思路,比如模型压缩、高效模块和实时性。然后,针对每个提到的模型,比如LightM-UNet结合了Mamba和UNet,需要解释它的结构特点,比如分层编码器、Mamba模块和跳跃连接。RegSeg是基于RegNet改进的,应该强调它的模块化设计和优化方法,如渐进下采样和深度监督。BiSeNet V2的双向结构也是重点,要说明细节分支和语义分支的作用,以及辅助训练策略。 接下来是优化框架部分,需要提到常用的工具如PyTorch和TensorFlow,以及具体的优化技术,比如知识蒸馏、量化剪枝、注意力机制和NAS。这部分需要结合引用中的内容,比如RegSeg使用随机搜索来优化结构,EfficientNet v2的改进方法可能也适用。 在实现步骤中,要给出一个清晰的流程,从选择模型到部署,每一步都要简要说明。比如建议用户先选择一个模型,准备数据集,搭建网络结构,然后进行训练和优化,最后部署到移动端。可能还需要提到数据增强和损失函数的选择,这些对性能优化也很重要。 相关问题部分,需要生成与轻量级网络相关的问题,比如模型压缩方法、实时性优化、医学图像应用、硬件部署挑战以及最新技术趋势。这些问题可以帮助用户进一步探索该领域。 需要注意的是,回答必须符合用户的要求,使用中文,正确应用LaTeX格式,特别是行内公式用$...$,独立公式用$$...$$。同时,引用要自然添加在段落末尾,确保每个提到的模型都有对应的引用标识。比如提到LightM-UNet时要加上[^1],RegSeg对应引用[^2],BiSeNet V2对应引用[3]。 最后,检查是否有遗漏的关键点,比如是否涵盖了用户提到的所有引用内容,回答结构是否清晰,是否分点说明,以及是否符合系统级指令中的格式要求。确保没有使用任何Markdown格式,代码块用三个反引号包裹,并且LaTeX语法正确。</think>### 轻量级图像分割网络实现与优化框架 轻量级图像分割网络的核心设计目标是在保持较高精度的同时减少计算量、参数量和推理时间,适用于移动端或边缘设备。以下是关键实现框架和优化方法: --- #### 一、轻量级分割网络设计思路 1. **模型压缩与结构简化** - 使用**深度可分离卷积**替代常规卷积(如MobileNet系列),减少参数量。 - **倒残差结构**(Inverted Residual Block)提升特征表达能力,例如在RegSeg中通过模块化设计优化计算效率。 2. **高效特征融合** - **多尺度特征融合**:如BiSeNet V2通过**细节分支**(高分辨率)和**语义分支**(低分辨率)双向融合,平衡速度与精度[^3]。 - **轻量级注意力机制**:引入通道注意力(如SE Block)或空间注意力,增强关键区域特征。 3. **实时性优化** - **渐进式下采样**(Progressive Downsampling)减少计算冗余。 - **动态分辨率输入**:根据任务需求调整输入图像尺寸。 --- #### 二、典型轻量级分割网络实现 1. **LightM-UNet** - **架构特点**:结合Mamba(状态空间模型)与UNet,通过序列建模提升长程依赖捕捉能力。 - **优化点**: - 分层编码器减少计算量 - Mamba模块替代部分卷积操作 - 跳跃连接优化特征融合 ```python # 示例代码框架(基于PyTorch) class MambaBlock(nn.Module): def __init__(self, in_channels): super().__init__() self.ssm = StateSpaceModel(in_channels) self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1) def forward(self, x): return self.ssm(x) + self.conv(x) ``` 2. **RegSeg** - **模块化设计**:基于RegNet的模块化结构,通过**随机搜索优化网络拓扑**,平衡计算资源与精度。 - **优化方法**: - 使用深度监督(Deep Supervision)加速训练 - 分组卷积减少参数量 3. **BiSeNet V2** - **双向分割网络**: - **细节分支**:保留高分辨率空间信息 - **语义分支**:通过快速下采样提取高层语义 - **辅助训练策略**:多任务损失函数提升收敛速度。 --- #### 三、优化框架与工具 1. **训练优化技术** - **知识蒸馏**:用大型教师网络指导轻量模型训练。 - **量化与剪枝**:后训练量化(如TensorRT)减少模型存储和计算需求。 - **混合精度训练**:结合FP16/FP32提升训练速度。 2. **部署优化** - **硬件适配**:针对移动端(如ARM NPU)优化算子。 - **推理引擎**:使用TensorFlow Lite、ONNX Runtime或NCNN框架加速推理。 --- #### 四、实现步骤建议 1. **选择基础模型**:根据任务需求选择LightM-UNet(医学图像)[^1]、BiSeNet V2(实时分割)或RegSeg(通用场景)[^2]。 2. **数据集准备**:使用公开数据集(如Cityscapes、COCO)或定制医学影像数据。 3. **网络轻量化**: - 替换常规卷积为深度可分离卷积 - 引入通道注意力模块 4. **训练与调优**: - 应用数据增强(CutMix、AutoAugment) - 使用Focal Loss或Dice Loss解决类别不平衡 5. **部署测试**:通过TensorRT量化模型并测试端到端延迟。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值