论文阅读学习 - (DeepLabV3+)Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
摘要:
空间金字塔池化模块(spatial pyramid pooling,SPP) 和 编码-解码结构(encode-decoder) 用于语义分割的深度网络结构. SPP 利用对多种比例(rates)和多种有效接受野(fields of view)的不同分辨率特征处理,来挖掘多尺度的上下文内容信息. 解编码结构逐步重构空间信息来更好的捕捉物体边界.
DeepLabv3+ 对 DeepLabV3 添加了一个简单有效的解码模块,提升了分割效果,尤其是对物体边界的分割. 基于提出的编码-解码结构,可以任意通过控制 atrous convolution 来输出编码特征的分辨率,来平衡精度和运行时间(已有编码-解码结构不具有该能力.).
DeepLabV3+ 进一步利用 Xception 模块,将深度可分卷积结构(depthwise separable convolution) 用到带孔空间金字塔池化(Atrous Spatial Pyramid Pooling, ASPP)模块和解码模块中,得到更快速有效的 编码-解码网络.
DeepLabV3 采用多个不同比例的并行 atrous conv 来挖掘不同尺度的上下文信息,记为 ASPP.
PSPNet 对不同尺度的网络进行池化处理,处理多尺度的上下文内容信息.
深度网络最后层输出的 feature map 虽然能够编码丰富的语义信息,但由于 pooling 和不同步长的卷积处理,会导致物体边界信息丢失. 且,计算 GPU 显存占用较多.
编码-解码模型编码计算速度快,且解码能够逐步重构更好的物体边界.
DeepLabV3 的输出能够编码丰富的语义信息,其利用 atrous 卷积来控制编码输出的特征分辨率,取决于计算资源.
DeepLabV3+ 新添加了解码模块来重构精确的图像物体边界,如 Fig 1.
Fig 1. SPP、Encoder-Decoder 和 Encoder-Decoder with Atrous Conv(DeepLabV3+ ) 网络结构对比.
深度可分离卷积结构(depthwise separable convolution) 和 group convolution 能够有效降低计算量与参数量,同时保持模型表现.
1. Encoder-Decoder with Atrous Convolution
1.1 Atrous Convolution
Atrous Convolution 扩展了标准的网络卷积操作,其通过调整卷积 filter 的接受野来捕捉多尺度的上下文内容信息,输出不同分辨率的特征.
以 2D 信号为例,对于输出 feature map y y 的每个位置 ,卷积 filter w w ,输入 feature map ,atrous 卷积计算为:
y[i]=∑kx[i+r⋅k]w[k] y