深度学习论文: Rethink Dilated Convolution for Real-time Semantic Segmentation及其PyTorch实现
发布时间
阅读量:
阅读量
Re-examining Dilated Convolution for Real-time Semantic Segmentation
PDF: https://arxiv.org/pdf/2111.09957.pdf
PyTorch code provided by https://github.com/shanglianlm0525/CvPytorch and https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
常见的一类基于ImageNet预训练Backbone的语义分割算法通常会遇到两个主要问题:
- ImageNet Backbone一般在最后几个卷积层中拥有大量通道。
然而,Mobilenetv3发现将最后一个卷积层的通道数减半并未显著影响其语义分割性能。 - ImageNet模型通常接收分辨率约[公式]输入图像。
然而,在语义分割任务中使用的图像尺寸往往较大得多。
例如,在Cityscapes数据集上使用的是1024 \times 2048像素,在CamVid数据集上则是720 \times 960像素。

创新点:
- 采用了一种新型膨胀结构" D Block "进行设计,并将其应用于语义分割任务中的Backbone架构。该架构显著扩展了感受野范围的同时实现了通道数量的有效缩减。
- 开发了一种简洁高效的解码器模块,在恢复 backbone丢失细节方面表现出色。
- RegSeg不仅能够实现实时处理,在Cityscapes测试基准上达到了30帧每秒的运行速度,在 CamVid 数据集上则可达到70帧每秒的理想性能表现。
2 RegSeg
2-1 Dilated block
Dilatated Block(D Block)源自于RegNet中的SE-ResNeXt模块。该模块通过在不同处理路径上设置各异的扩张率来捕获多层次特征。经过一系列实验测试发现采用两支并行支路的结构能够显著提升整体性能。

2-2 Backbone
Backbone采用了重复堆叠的方式构建其架构,并呈现出与RegNet相似的整体风格。其基础模块从一个具有32个通道的三维卷积层开始,并通过stride参数设置为2进行扩展。具体而言,在四分之一分辨率下配置了一个具有48个通道的D-Block模块,在八分之一分辨率下布置了三个各有128个通道的不同种类块,在十六分之一分辨率时部署了十三个各包含256个通道的不同种类块,并在此基础上增加了最后的一个拥有320个通道的独特设计以完成整个架构体系。值得注意的是,在此结构中并未指定下采样比率设为32。

2-3 Decoder
该解码模块旨在从Backbone中重建丢失的局部细节特征。对于非最后一层的卷积操作而言,在其后均会伴随BatchNorm和ReLU激活函数的引入。

3 Experiments
3-1 Cityscapes

3-2 CamVid

全部评论 (0)
还没有任何评论哟~
