paper:Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes
github:https://github.com/ydhongHIT/DDRNet
paddlepaddle复现:notebook在线快速体验
轻量级语义分割模型大致分为2类:Encoder-Decoder结构(如ESPNet)和two-pathway(如BiSeNet)。类似two-pathway结构,DDRNet使用Dual-resolution,并引入DAPPM( Deep Aggregation Pyramid Pooling Module)模块。在Cityscapes测试集、GPU 2080Ti,DDRNet-23-slim达到102FPS,miou77.4%。
一、网络结构
1、语义分割模型结构
下图为语义分割模型的几种结构:
(a)空洞卷积backbone:通过空洞卷积增加模型的感受野,保留高分辨率的特征图降低信息损失,模型计算量较大但是效果较好;
(b)Encoder-Decoder:通过Encoder(backbone)提取不同分辨率的特征图,然后将不同分辨率的特征图上采样融合,可以通过更换backbone来控制模型的大小;
(c)Two-pathway:模型包含2个path,一个path负责提取上下文语义信息,一个path保留细节信息,然后将2个path输出融合。(BiSeNetV1、V2)
(d)DDRNet结构,具体见下文。
2、网络结构
DDRNet网络结构如下图所示,模型包含2个分支,上面的分支分辨率较高,保存细节信息,下面的分支分辨率较低,用来提取上下文信息(使用了DAPPM模块增加其感受野)。
另外引入一个辅助损失函数。
DDRNet-23-slim和DDRNet-39具体结构配置如下图所示。
3、Bilateral fusion
DDRNet为了结合不同分辨率的特征图,使用了Bilateral fusion模块,不同分支不同分辨率的特征图分别通过上采样下采样后相加,保持自身分辨率不变的同时融合了另一分支的信息。
4、 Deep Aggregation Pyramid Pooling Module(DAPPM)
DAPPM为了获得多尺度信息,对输入特征图进行池化(核大小和步长不同),然后将不同大小的特征图上采样融合。
PS:池化部分类似PSPNet提出的Pyramid Pooling Module,整体结构类似ESPNetV2提出的EESP模块,具体可参考相关论文。
二、实验结果
下图为DDRNet在Cityscapes测试集的miou和fps对比,可以看出其效果提升显著。