swiftnet

In Defense of Pre-trained ImageNet Architectures for Real-time Semantic Segmentation of Road-driving Images

代码:https://github.com/orsic/swiftnet

0摘要

对于实时语义分割,许多以前的网络通过自定义轻量化网络解决计算复杂度问题,这种体系结构通过减少相对于通用体系结构的深度、宽度和层容量来降低计算复杂度。

本文:1.借助一个轻量级的通用架构作为主要的 recognition engine。2.利用带横向连接的轻量级上采样恢复预测分辨率。3.以一种新颖的方式融合多分辨率的共享特征来扩大接受范围。

1 引言

2 相关工作

3 提出的分割方法

该方法假定有以下要求。模型应该基于ImageNet预训练的编码器,以便从迁移学习诱导的正则化中受益。解码器应该恢复编码特征的分辨率,以便预测保留细节。为了保持实时处理速度,上采样过程必须尽可能简单。梯度流应该在整个网络中推广,以支持在不寻常的事件中进行随机初始化的训练,因为ImageNet的预训练结果并不有用。

3.1 Basic building blocks

(基础模块)共三个模块

编码器:使用ResNet-18和MobileNet V2作为编码端。
上采样解码端:提出一种上采样结构,一分支是编码端经过卷积调整后的横向特征,另一分支是低分辨率特征直接上采样,采用残差连接逐元素求和。(见整体结构图理解)
扩大感受野:采用空间金字塔池化(采用PSPNet中SPP的简化版本);提出金字塔融合模块

Recognition encoder

(识别编码器)使用ImageNet预训练模型作为分割编码器。出于以下原因,使用ResNet-18和MobileNet V2。这些模型适合微调,因为预先训练的参数是公开的。它们也适合从头开始训练,由于中等的深度和残差结构。最后,这些模型与实时操作兼容。

ResNet-18的计算量比MobileNet V2复杂6倍左右。MobileNet V2使用深度可分离卷积,这在GPU固件(cuDNN库)中不直接支持。因此,在大多数实验设置中,MobileNet V2往往比ResNet18慢。注意,同样的问题限制了DenseNet体系结构的使用,因为它需要在一个非连续张量上进行有效的卷积,而这在cuDNN中仍然不支持。

Upsampling decoder
(上采样解码器)识别编码器将输入图像转换为语义丰富的视觉特征。这些特征必须有一个比较粗糙的空间分辨率,以节省内存和处理时间。解码器的目的是将这些特性上采样到输入分辨率。采用一种简单的解码器,具有横向连接的上采样模块序列。

提出的ladder-style上采样模块有两个输入:低分辨率特征(应该上采样)和来自编码器较早一层的横向特征。低分辨率特征首先用双线性插值上采样到与横向特征相同的分辨率。上采样输入特征和横向编码器特征逐元素求和,然后通过3×3卷积。结构如下:在这里插入图片描述
横向特征是残差求和后的输出。: 经过relu后再作为横向特征会降低性能。同样的,如果用1x1卷积或者深度可分离卷积代替标准的3x3卷积,也会降低性能。

Module for increasing the receptive field
在保持实时速度的同时增加感受野有两种可行的可能性:i)SPP空间金字塔池化,ii)金字塔融合。

SPP模块收集编码端在不同池化水平上产生的特征,并由此产生不同细节水平的特征表示。本文在单尺度模型中采用SPP。本文的SPP块是PSPNet中的金字塔池模块的简化版本。

金字塔融合产生真正的多尺度表示,需要在解码器内仔细融合,以避免对部分细节的过拟合。本文提出了一种金字塔池化方法,它混合了不同抽象层次的表示,从而在不牺牲空间分辨率的情况下扩大了接受域。

3.2 Single scale model

(单尺度模型)在这里插入图片描述
所提出的单尺度模型通过下采样识别编码端和上采样解码端将输入图像转换为密集的语义预测,如上图。黄色的梯形表示卷积组,即在相同的空间分辨率上运算的编码器部分。所有编码器都由四个这样的卷积组组成。第一个卷积组产生H/4×W/4分辨率的特征,而接下来的每一个组将下采样增加2倍。因此,编码器最后的特征大小是H/32×W/32。这些特征被送到空间金字塔池化层SPP(由绿色菱形表示),以增加模型感受野。最终得到的张量送到解码端,其上采样模块以蓝色显示。

注意,解码端和编码端是非对称的:编码端在每个卷积组中有多个卷积,而解码器在每个上采样模块中只有一个卷积。此外,编码端特征的维度沿下采样路径增加,而解码端特征的维度是恒定的。因此,横向连接必须用红色方块指定的1×1卷积来调整维度。上采样模块分三个步骤操作:i)低分辨率特征的双线性上采样,ii)上采样后的特征与横向特征求和,iii)求和后使用3×3卷积进行混合

编解码端卷积数的设置?
3.3 Interleaved pyramid fusion model

(交错金字塔融合模块)
在这里插入图片描述
编码端相对好小的话,虽然有利于快速推理,但是与其他卷积模型相比,这也会导致视觉识别的感受野减少和容量变小。为了克服这些缺点,我们利用图像金字塔来扩大模型的感受野,降低模型容量要求。

提出的模型如上图所示。两个编码端分支(黄色)用于不同分辨率的图像金字塔。这有利于增加激活的感受野,对图像金字塔中最低分辨率的感知。此外,共享参数使得能够识别具有公共参数集的不同大小的对象,这可以放松对模型容量的需求。为了加强横向连接和改善整个编码端的梯度流,将来自不同编码端相邻级别的特征张量连接在一起(因为它们具有相同的空间分辨率)。此连接用绿色圆圈表示。在concat之后,特征通过用红色正方形表示的1×1卷积映射到解码器特征空间上。解码器(蓝色)的工作方式与单尺度模型相同,但是现在为图像金字塔的每个额外级别增加了一个上采样模块。

4 实验

4.1 训练细节

full Cityscapes resolution :768x768
half Cityscapes resolution and CamVid :448×448
Cityscapes 200 epochs;CamVid 400 epochs;没有ImageNet预训练时额外增加 200 epochs

4.2 计算复杂度度量
4.3 cityscapes

在这里插入图片描述

4.4 camvid
4.5 Validation of the upsampling capacity

上采样路径中特征通道数设置为128
在这里插入图片描述

4.6 Ablation of lateral connections

为测试横向特征连接的作用,丢弃特征连接(即1x1)以及对应的逐元素求和,单尺度模型的准确率从75.35%下降到72.93%。

不能直接逐步上采样,还是需要高分辨特征图的帮助。
4.7 Execution profile
4.8 Size of the receptive field
4.9 Processing speed on Jetson TX2

在这里插入图片描述

5 结论

针对机器人和智能交通系统中的应用,实时性是语义分割模型的一个非常重要的特征。该领域以前的大多数工作都涉及从头开始训练的卷积编码端,以及没有横向跳连接的解码端。然而,作者认为更好的速度精度折衷方案是:i)为具有竞争力的ImageNet性能而设计的紧凑型编码器;ii)采用横向跳跃连接的轻量级解码器。此外,还提出了一种新的交错金字塔融合方案,该方案能够进一步改善靠近摄像机的大型目标的融合结果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值