Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes

深度双分辨率网络,实现道路场景的实时、准确的语义分割

论文链接:https://arxiv.org/pdf/2101.06085v2.pdf

代码链接:https://github.com/ydhongHIT/DDRNet.git

Untitled

摘要

语义分割是自动驾驶汽车理解周围场景的一项关键技术。如今模型出色的表现通常是以繁重的计算和冗长的推理时间为代价的,这对自动驾驶来说是不可容忍的。使用轻量级架构(编码器-解码器或双路径)或在低分辨率图像上进行推理,最近的方法实现了非常快的场景解析,甚至在单个1080Ti GPU上以超过100 FPS运行。然而,这些实时方法与基于dilation backbone的模型在性能上仍有很大差距。为了解决这个问题,我们提出了一个专门为实时语义分割设计的高效骨干网系列。所提出的深度双分辨率网络(DDRNets)由两个深度分支组成,在这两个分支之间进行多次双边融合。此外,我们设计了一个新的上下文信息提取器,名为深度聚合金字塔池模块(DAPPM),以扩大有效的感受野,并基于低分辨率特征图融合多尺度上下文。我们的方法在Cityscapes和CamVid数据集上实现了准确性和速度之间的新的最先进权衡。特别是,在单个2080Ti GPU上,DDRNet-23-slim在Cityscapes测试集上以102 FPS产生77.4%的mIoU,在CamVid测试集上以230 FPS产生74.7%的mIoU。在广泛使用测试增强的情况下,我们的方法优于大多数最先进的模型,并且需要更少的计算。

介绍

随着深度学习技术的兴起,卷积神经网络被应用于图像分割,大大优于传统的基于手工特征的分割方法。 由于全卷积网络(FCN)被提出来处理语义分割问题,因此提出了一系列新的网络。 DeepLab消除了ResNet中的一些下采样,以保持高分辨率,并利用大的扩展卷积来扩大感受野。 基于上下文提取模块的扩展卷积的骨干已经成为广泛应用于各种方法的标准布局,包括DeepLabV2、DeepLabV3、PSPNet和DenseASPP。

由于语义分割是一种密集的预测任务,神经网络需要输出大感受野的高分辨率特征图才能产生令人满意的结果,因此计算成本较高。这个问题对于自动驾驶的场景解析尤其关键,这需要在非常大的图像,以覆盖广泛的视野。因此,上述方法在推理阶段非常耗时,不能直接部署在实际的自动驾驶车辆上。由于使用多尺度测试来提高精度,它们甚至不能在一秒钟内处理一幅图像。

随着移动设备部署需求的不断增加,实时分割算法得到越来越多的关注。DFANet采用了深度多尺度特征聚合和轻量级深度可分离卷积,在100FPS的情况下实现了71.3%的测试mIoU。与编码器-解码器范式不同,作者提出了一个由空间路径和背景路径组成的新型双边网络。特别是,空间路径利用三个相对宽的3×3卷积层来捕捉空间细节,而上下文路径是一个紧凑的预训练骨干,用于提取上下文信息。当时取得了比encoder decoder结构更高的推理速度。

近年来,人们提出了一些具有竞争力的实时道路场景语义分割方法。这些方法可以分为两类。一种是利用gpu效率高的骨干,特别是ResNet-18。一种开发了从头训练的复杂轻量级编码器。其中,BiSeNetV2在实时性能方面达到了一个新的峰值,在城市景观上以156FPS实现了72.6%的测试mIoU。然而,这些最近的工作并没有显示出更高质量的结果的潜力。由于故意设计的架构和调整的超参数,其中一些系统缺乏可扩展性。此外,ResNet-18对于更强大的骨干来说并没有什么优势

在本文中,作者提出了具有深度高分辨率表示的双分辨率网络,用于高分辨率图像的实时语义分割,特别是道路驾驶图像。DDR网络从一个主干开始,然后分成两个具有不同分辨率的平行深度分支一个深层分支生成相对高分辨率的特征图,另一个通过多次降采样操作提取丰富的语义信息。两个分支之间连接多个双边连接,以实现高效的信息融合。此外,我们提出了一个名为DAPPM的新模块,它输入低分辨率的特征图,提取多尺度的上下文信息,并以级联的方式将它们合并。在对语义分割数据集进行训练之前,双分辨率网络在ImageNet上按照通常情况进行训练。

根据在三个流行的基准测试(Cityscapes、CamVid和COCOStuff)上的广泛实验结果,DDRNets在分割精度和推理速度之间取得了良好的平衡。与其他实时算法相比,该方法在城市景观和CamVid上都获得了最好的精度,没有注意机制和额外的附加功能。通过标准的测试增强,DDRNet可以与最好的模型相媲美,并且需要的计算资源要少得多。并且公布了统计上相关的性能,并进行了消融实验,以分析架构改进和标准训练技巧的效果。

主要贡献:

相关工作

近年来,基于扩张卷积的方法提高了语义分割在许多具有挑战性的场景下的性能。开创性的工作探索了轻量级架构的更多可能性,如编码解码器和双路径。此外,上下文信息被证明对场景解析任务是非常重要的。在本节中,我们将相关的工作分为三类,即高性能语义分割、实时语义分割和上下文提取模块。

高性能的语义分割

由于缺乏空间细节,一个普通编码器的最后一层的输出不能直接用于预测分割masks。如果只去掉分类主干的下采样,有效的接受域将太小,无法学习高级语义信息。一个可接受的策略是利用扩展卷积来建立像素之间的长程连接,同时去除最后两个下采样层,如下图a所示。然而,由于高分辨率特征图维数的指数增长和扩张卷积实现的优化不足,给实时推理带来了新的挑战。大多数模型是建立在dilation backbone上,因此在很大程度上不适合自动驾驶的场景解析。

Untitled

一些研究试图探索标准dilation backbones的替代物。DeepLabv3plus的作者提出了一个简单的解码器,将上采样的特征图与低层次的特征图融合在一起。它减轻了对直接由扩张卷积产生的高分辨率特征图的要求。DeepLabv3plus可以取得有竞争力的结果,尽管编码器的输出步长被设置为16。HRNet突出了深层的高分辨率表征,体现了比dilation backbones更高的效率。我们发现,HRNet更高的计算效率和推理速度归功于其更稀疏(thinner)的高分辨率信息流。以HRNetV2-W48为例,1/4分辨率和1/8分辨率特征的尺寸分别为48和96,这比预训练的ResNets的扩张卷积小得多。虽然HRNet的高分辨率分支要细(thinner)得多,但通过平行的低分辨率分支和重复的多尺度融合,可以大大增强它们。