我对DeepLab V3的理解(基于V1和V2)

一、概述

1.前言

1.1 DeepLab v1

在这里插入图片描述

创新点:

  1. 空洞卷积(Atrous Conv);
    <解决编码过程中信号不断被下采样,细节丢失的问题>

  2. 全连接条件随机场(Fully-connected Conditional Random Field)。
    <由于conv层提取的特征具有平移不变性,这就限制了定位精度。因此引入全连接CRF来提高模型捕获结构信息的能力,解决精分割问题。>

1.2 DeepLab v2

与v1不同点:

  1. 空洞空间金字塔池化 ASPP(Atrous spatial pyramid pooling )

  2. 将v1使用的backbone VGG16替换成了 Resnet101

在这里插入图片描述

ASPP可用于解决不同检测目标大小差异的问题:通过在给定的特征层上使用不同dilation的空洞卷积,可以有效的进行重采样。构建不同感受野的卷积核,用来获取多尺度物体信息。

1.3 DeepLab v3

创新点:

改进了v2的ASPP模块:

  1. 加入了BN层;

  2. 将v2中的ASPP中尺寸3×3,dilation=24的空洞卷积替换成一个普通的1×1卷积,以保留滤波器中间部分的有效权重;(随着空洞率的增大,滤波器中有效权重的个数在减少)

  3. 增加了全局平均池化以便更好的捕捉全局信息。

在这里插入图片描述

二、整体结构

1.前置知识

1.1 Astrous conv空洞卷积
  • Atrous Convolution 从字面上就很好理解,是在标准的 convolution map 里注入空洞,以此来增加
    reception field。

  • 相比原来的正常convolution,dilated convolution 多了一个 hyper-parameter 称之为
    dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是 dilatation rate
    1)。

用这个动图可以很好理解

1.2 ASPP空洞空间金字塔池化

如上所述

2.Deeplab v3提出的的结构

Deeplab v3是为了解决捕获multi-scale context的问题

在这里插入图片描述

论文中Fig2画了几种常见的捕获multi-scale context的方法:

(a)图像金字塔。输入图像进行尺度变换得到不同分辨率input,然后将所有尺度的图像放入CNN中得到不同尺度的分割结果,最后将不同分辨率的分割结果融合得到原始分辨率的分割结果,类似的方法为DeepMedic;

(b)编码-解码。FCN和UNet等结构;

(c)本文提出的串联结构。

(d)本文提出的Deeplab v3结构。最后两个结构右边其实还需要8×/16×的upsample,在deeplab v3+中有所体现。当然论文的Sec 4.1也有提到,下采样GT容易在反向传播中丢失细节,因此上采样feature map效果更好。

DeepLab V3有cascade和parallel两种的形式:

1.1 "串联"结构

DeepLab V3将空洞卷积应用在级联模块。具体来说,我们取ResNet中最后一个block,在下图中为block4,并在其后面增加级联模块。
在这里插入图片描述

1.2 ASPP的改进

因为在cascade模型中,网络做的太深效果反而出现下降,所以就引用了ASPP。
在这里插入图片描述

改进的ASPP包括:

  1. 一个1 × 1 1×11×1卷积和三个3 × 3 3×33×3的采样率为rates={6,12,18}的空洞卷积,滤波器数量为256,包含BN层。针对output_stride=16的情况。如上图(a)部分Atrous Spatial Pyramid Pooling

  2. 图像级特征,即将特征做全局平均池化,经过卷积,再融合。如下图(b)部分Image Pooling. 改进后的ASPP模块如上图所示。

后续的实验证明:

两种方法的结构合并并不会带来提升,相比较来说,ASPP的纵式结构要好一点。所以deeplab v3一般也是指ASPP的结构。

三、总结

  1. DeepLabV1为了避免池化引起的信息丢失问题,提出了空洞卷积的方式,这样可以在增大感受野的同时不增加参数数量,同时保证信息不丢失。为了进一步优化分割精度,还使用了CRF(条件随机场)。

  2. DeepLab V2在之前的基础上,增加了多尺度并行,解决了对不同大小物体的同时分割问题。

  3. DeepLab V3将空洞卷积应用在了级联模块,并且改进了ASPP模块。

Reference:
1.deeplab系列总结(deeplab v1& v2 & v3 & v3+)
2.deeplab v3论文翻译
3.DeepLabv3论文解析
4.深度学习|语义分割:DeepLab系列

猜你喜欢

转载自blog.csdn.net/m0_58770526/article/details/125873104