超实时语义分割 | DWR-Seg超越STDC-1/2、BiSeNet v1/v2,1080ti单卡320+FPS

简介: 超实时语义分割 | DWR-Seg超越STDC-1/2、BiSeNet v1/v2,1080ti单卡320+FPS

c57eea8d2b4815a4ec8ff091e9822e44.png

实时语义分割在智能汽车场景中发挥了重要作用。最近,许多网络已经结合了来自多尺度感受野的信息,以促进实时语义分割任务中的特征提取。然而,这些方法优先采用大量的感受野来获取更多的上下文信息,这可能导致低效的特征提取。


本文作者认为,考虑到实时任务中高效特征提取的需求,精心设计的感受野至关重要。因此,提出了一种高效的架构,称为扩张式残差分割(DWRSeg),它在不同阶段具有不同的感受野大小集。该体系结构包括


基于网络高层中不同尺度的感知场提取特征的Dilation-wise Residual(DWR)模块;


Simple Inverted Residual(SIR)模块,其使用反向瓶颈结构来从low stage提取特征;


用于聚集多尺度特征图以生成预测的简单全卷积网络(FCN)类解码器。


在Cityscapes和CamVid数据集上的大量实验证明了方法的有效性,除了重量更轻之外,还实现了精度和推理速度之间的最新平衡。在不使用预训练或使用任何训练技巧的情况下,在一张NVIDIA GeForce GTX 1080 Ti卡上以319.5 FPS的速度在Cityscapes测试集上实现了72.7%的mIoU,这明显快于现有方法。

1、简介

作为计算机视觉的一项基本任务,语义分割旨在用语义标记每个像素,并在许多领域发挥着重要作用,包括自动驾驶、机器人感知、卫星遥感、视频监控和医学成像。

为了在推理速度和准确性之间实现令人满意的权衡,研究人员继续追求更轻量化和高效的网络设计。这些努力主要集中在两个方向:

  • 一个重点是设计更高效的解码器来融合来自编码器的特征图。这些研究通常借用图像分类中的轻量级Backbone作为编码器,在各种基准上实现了公平的性能。然而,由于分类和分割任务之间的差异,这些方法的效果有限。
  • 另一个方向设计专业Backbone,其中许多工作做出了显著贡献。开发了两种主要类型的结构,以获得用于特征提取的可缩放感受野。一些方法垂直堆叠3×3卷积以逐渐获得大的感受野,而另一些方法使用平行空洞卷积以直接获得更大的感觉野。所有这些方法都倾向于利用大量的感受野来获取更多的上下文信息,从而提高了特征提取的效果。然而,作者观察到,过度的感受野可能导致低的特征提取效率。因此,作者认为,精细的感受野大小是高特征提取效率的不可或缺的保证,这限制了计算成本,并改进了实时语义分割的特征表示。

31f4974a9ef1832bac4301f306a80616.png

为此,作者提出了一种新的实时语义分割体系结构,重点是特征提取的感受野的设计。

  • 首先,引入了一个Dilation-wise Residual(DWR)模块,用于提取网络高层的特征,如图2a所示。多分支结构用于扩展感受野,其中每个分支采用不同空洞率的空洞深度卷积。
  • 然后,专门设计了一个Simple Inverted Residual(SIR)模块来提取网络低层的特征,如图2b所示。该模块仅具有3×3的微小感受野,但使用inverted bottleneck式结构来扩展通道数量,确保更强的特征提取能力。
  • 最后,基于DWR和SIR模块,构建了一个编码器-解码器风格的网络DWRSeg,如图5所示,其中解码器采用了简单的类似FCN的结构。解码器使用来自最后两个阶段的强语义信息直接对特征图进行上采样,然后将它们与来自较低阶段的特征图(包含丰富的详细信息)拼接起来,以进行最终预测。

c5543227889c30dfe226f09edebc1541.png

主要贡献概括如下:

  1. 提出了一种具有多分支结构的新型DWR模块,用于从网络高层的可扩展感受野中提取特征;
  2. 设计了一个 inverted bottleneck式的SIR模块,以增强网络低层的特征提取能力;
  3. 基于DWR和SIR模块,构建了一个编码器-解码器风格的网络DWRSeg,该网络使用相当简单的类似FCN的解码器来聚合语义和细节特征;
  4. 大量实验验证了方法的有效性,在Cityscapes上取得了令人印象深刻的结果,如图1所示。具体而言,在一张NVIDIA GeForce GTX 1080 Ti卡上以322.1 FPS的速度在Cityscapes测试集上获得了72.6%的mIoU。

2、本文方法

在本节中,首先阐述了网络的设计动机,然后介绍了核心模块,即DWR模块和SIR模块。最后,给出了用于实时语义分割的整个网络的架构。

2.1、设计动机

最近的许多方法都为实时语义分割任务设计了专用主干,其中感受野的设计是其中的一个重要部分。通常,这些方法追求广阔的感受野以捕获更多的上下文信息,从而提高特征表示能力。然而,作者认为,在实践中这可能会导致低效的特征提取。


DABNet和CGNet在其网络的深层使用具有大空洞率的空洞卷积,但作者观察到,这些卷积中几乎没有任何参数可以被学习。这种现象的原因是,这种卷积几乎不可能在实质上大的空间跨度上直接建立特征之间的连接,从而导致低的特征提取效率。而STDC在整个网络中保持相同的感受野大小,这对于low-level特征提取来说太大,从而限制了效率。作者观察到,在STDC的low-level,更少的卷积层但更多的通道可以产生更好的结果。

作者认为,确定合适的感受野大小对于提高特征提取的效率至关重要,并且在网络的不同阶段对感受野大小的要求是不同的。随着特征语义表示的增强,更高的阶段需要更大的感受野。因此,分别为较高和较低阶段设计了使用空洞卷积来扩展感受野的模块和使用规则卷积来限制感受野的模型。


此外,作者认为,对一层不同大小的感受野的要求也不同。具体而言,具有小空洞率的空洞卷积总是重要的,因为需要中间特征来建立具有大空间距离的特征之间的连接。因此,在本文的模块中采用了具有各种感受野的空洞卷积的多分支结构,并且每个分支持有不同的通道容量。最后,作者使用提出DWR和SIR模块来构建编码器。

2.2、Dilation-wise Residual模块

1、Module Structure

根据上述分析作者设计了图2a所示的特征提取模块结构,该结构应用于网络的深层。多分支结构用于适应一层中不同大小的感受野的要求。对于每个分支,首先使用具有3×3 kernel的标准卷积,结合批处理归一化(BN)层和ReLU层来提取特征。作者将这一步骤称为region-residualization,因为每个输出通道包含几个需要细化的小空间区域,所以整个输出是所有这些区域的集合。然后,展开深度3×3卷积,从这些区域提取语义信息。再然后,特征图通过BN层以获得语义残差。该操作被称为 semantic-residualization,它进一步分析来自区域特征的语义信息。

8aecff9831aee3e4b7ad3a3e0bc595d6.png

region-residualization和 semantic-residualization中的可视化特征如图3所示。然后,从所有分支连接特征图,并使用逐点卷积合并所有特征图,生成与输入特征图相对应的最终残差。最后,将最终残差添加到输入特征图中,以构建更强和更全面的特征表示。

此外,无论阶段如何,用小的感受野提取的特征都相对重要;因此,具有最低空洞率的空洞深度卷积通道的数量被设置为其他通道的两倍。根据不同空洞率的空洞卷积的特征组合以及残差结构的特点,该模块被命名为DWR模块。

2、设计细则

尽管模块的结构并不复杂,但有一些细节值得注意。首先,与其他多分支模块(如CG块)相比, beginning卷积(region residualization)位于所有分支中,而不是分支之前,为每个分支生成非共享区域。非共享region-residualization至关重要,因为需要不同感受野大小的semantic-residualization可能彼此不同。

其次,与其他残差块(例如CG块、DAB模块和GE层)相比,DWR模块中的非线性相对较低。过度的非线性可能不会产生更好的结果,同时可能会导致效率低下。因此,在一个DWR模块中仅使用两个BN层和一个ReLU层。

总的来说,最顶层DWR模块的公式如下等式所示:

1527106285087bd9033da55b47f84cde.png

其中x表示输入特征映射,1675319012967.png表示3×3标准卷积,1675319023011.png表示具有空洞率d的空洞深度方向3×3卷积,1675319047180.png表示逐点卷积,1675319057131.png表示所有d的级联运算。

2.3、Simple Inverted Residual Module

基于low level对大尺寸感受野的要求相对较低的设计思想,设计了一个专用模块SIR模块用于low level的特征提取,如图2b所示。与DWR模块相比,有3种修改:

  1. 仅采用一个分支来减小感受野的大小;
  2. 放弃3×3深度卷积以进一步限制整个模块中的感受野;
  3. 采用通道扩展来增强特征提取能力;

具体来说,开始卷积将输入的通道数扩展到三倍。然后,与DWR模块一样,使用逐点卷积合并通道。该模块的样式与MobileNet v2中的反向残差块的样式相似。然而,本文的模块更简单,因为只使用了两个卷积层;因此,将该模块命名为SIR模块。

SIR模块的公式如等式(2)所示:

0408c7853424189e6cfa8a054cf00ba1.png

2.4、Network Architecture

2567b224fed6667e5260bb2e4e34c6cd.png

整个体系结构如图5所示。一般来说提出的网络是在一种编码器-解码器的方式。该编码器包含四个阶段,解码器采用了一个简单的FCN类结构。

1、编码器

48ad52cddaef0cec7113ae7073304c87.png

在BiSeNetV2之后作者采用了一个stem block作为网络的第1个Stage,如图4a所示。对BiSeNetV2中提出的stem block进行了两个调整。首先,删除了第一个卷积的激活层,以从原始图片中保留更有效的信息。然后,最后一个卷积不执行特征收缩。该结构具有计算成本低和有效的特征表达能力。

第2个Stage由SIR模块组成,它可以生成具有丰富详细信息的高分辨率特征图。Stage-3和Stage-4都由DWR模块组成,这些模块生成具有强语义信息的特征。对于Stage-4,采用空洞率设置为1、3和5的3个分支DWR模块,而Stage-3放弃第3个分支。在最后3个Stage中,每个Stage的第一个模块通过调整第一个卷积的stride为2来进行降采样。

2、解码器

该解码器采用了一个简单的FCN类结构,如图5所示。首先对Stage-3和Stage-4的输出特征图进行上采样,然后与Stage-2中的特征图进行连接。在此之后,一个BN层作用于连接的特征映射。最后,使用分割头(SegHead)进行预测。

SegHead的结构如图4b所示。设置3×3与BN层和ReLU层的卷积来合并特征映射。然后,使用点卷积法进行预测。最后,特征映射被上采样到输入大小。解码器的公式见式:

6bb6a156598094a3c05c7b9de66b4750.png

其中1675319072900.png分别表示第4、3、2阶段的特征图,1675319139558.png表示第个step的上采样操作。然后,解码器的输出直接由GT监督。这里采用交叉熵损失与在线困难样本挖掘来优化语义分割学习任务。

3cea311bd1f2c8d9cf099e648b5aec1f.png

作者仔细地调整了整个网络中的超参数,直到达到精度和效率之间的最佳权衡。最后,报告了两个版本:DWRSeg-Base(DWRSeg-B)和DWRSeg-Large(DWRSeg-L)。表1显示了DWRSeg网络的详细结构。

3、实验

3.1、消融实验

9073e7d8727abf2b84c74c3b7a7fbd31.png

1、DWR模块中的非共享Region-Residualization

表2-I说明了DWR模块中非共享Region-Residualization('w')和Region-Residualization的结果('w/o')。结果表明,非共享Region-Residualization显著提高了性能。

2、DWR模块中不同感受野的比例

表2-II研究了DWR模块中3个分支(d-1:d-3:d-5)的输出通道数的不同比值α的影响。当调整α时,当比例为2:1:1时,效果最好。

3、DWR模块中Region-Residualization的通道数

表2-III显示了在DWR模块中设置输出通道数与Region-Residualization的输入通道数的不同比率β的结果。当β设置为0.5时,可以获得最佳输出。

4、DWR模块中的非线性

表2-IV说明了在DWR模块中不同程度的非线性的影响。Sitch 1表示没有ReLU的Region-Residualization,Sitch 2表示没有BN的Region-Residualization,Sitch 3表示没有BN的semantic-residualization,Sitch 4表示在semantic-residualization的BN后添加一个ReLU,Sitch5表示在点卷积后添加一个BN。

结果表明,当非线性度较低时,影响显著降低;然而,非线性度的增加并不能提高输出效率。

5、SIR模块中的深度卷积

如表2-V,与BN层(w)进行深度卷积获得的改进小于增加SIR模块中模块数量(w/o)获得的改进。

6、SIR模块中的通道扩展

表2-VI显示了在SIR模块中将开始卷积的通道数扩展到λ次数的效果。当通道数扩展到3倍时,得到了最佳的结果。

7、Block Number

更多Block的收益明显减少,更深的网络不利于并行计算和FPS。

3.2、SOTA对比

1、Cityscapes数据集

ff09a5fd214c6b3547985914cb301533.png

2、CamVid数据集

17fb628c9ba8d059b8b94830f2cb00f3.png

4、参考

[1].DWRSeg: Dilation-wise Residual Network for Real-time Semantic Segmentation.

5、推荐阅读

不盲目 | 客观、科学的看待Pytorch2.0更新的新特性,没你想的那么快!

Efficient-HRNet | EfficientNet思想+HRNet技术会不会更强更快呢?

DETR也需要学习 | DETR-Distill模型蒸馏让DETR系类模型持续发光发热!!!

相关文章
|
2月前
|
人工智能
Gemini 1.5:最高支持100万tokens,超长上下文有什么用?
【2月更文挑战第2天】Gemini 1.5:最高支持100万tokens,超长上下文有什么用?
64 1
Gemini 1.5:最高支持100万tokens,超长上下文有什么用?
|
2月前
|
机器学习/深度学习 数据处理 计算机视觉
YOLOv8改进 | 2023 | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)
YOLOv8改进 | 2023 | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)
52 0
|
5月前
|
人工智能 API
Chain-Of-Note:解决噪声数据、不相关文档和域外场景来改进RAG的表现
CoN框架由三种不同的类型组成,研究称之为阅读笔记。
45 0
|
11月前
|
监控 自动驾驶 数据可视化
超实时语义分割 | DWR-Seg超越STDC-1/2、BiSeNet v1/v2,1080ti单卡320+FPS(一)
超实时语义分割 | DWR-Seg超越STDC-1/2、BiSeNet v1/v2,1080ti单卡320+FPS(一)
114 0
|
11月前
|
并行计算
超实时语义分割 | DWR-Seg超越STDC-1/2、BiSeNet v1/v2,1080ti单卡320+FPS(二)
超实时语义分割 | DWR-Seg超越STDC-1/2、BiSeNet v1/v2,1080ti单卡320+FPS(二)
95 0
|
11月前
|
机器学习/深度学习 编解码 并行计算
432.4 FPS 快STDC 2.84倍 | LPS-Net 结合内存、FLOPs、CUDA实现超快语义分割模型(一)
432.4 FPS 快STDC 2.84倍 | LPS-Net 结合内存、FLOPs、CUDA实现超快语义分割模型(一)
125 0
|
11月前
|
并行计算 算法 数据可视化
432.4 FPS 快STDC 2.84倍 | LPS-Net 结合内存、FLOPs、CUDA实现超快语义分割模型(二)
432.4 FPS 快STDC 2.84倍 | LPS-Net 结合内存、FLOPs、CUDA实现超快语义分割模型(二)
84 0
|
11月前
|
机器学习/深度学习 并行计算 监控
YOLO超快时代终结了 | RT-DETR用114FPS实现54.8AP,远超YOLOv8(一)
YOLO超快时代终结了 | RT-DETR用114FPS实现54.8AP,远超YOLOv8(一)
417 0
|
11月前
|
机器学习/深度学习 数据可视化 计算机视觉
YOLO超快时代终结了 | RT-DETR用114FPS实现54.8AP,远超YOLOv8(二)
YOLO超快时代终结了 | RT-DETR用114FPS实现54.8AP,远超YOLOv8(二)
710 0
|
11月前
|
机器学习/深度学习 数据可视化 计算机视觉
全新数据增强 | TransMix 超越Mix-up、Cut-mix方法让模型更加鲁棒、精度更高(二)
全新数据增强 | TransMix 超越Mix-up、Cut-mix方法让模型更加鲁棒、精度更高(二)
234 0