语义分割 DeepLabv3,DeepLabv3+

 语义分割实例

 

感受野(receptive field):CNN中,某一层输出结果中一个元素所对应的输入层的区域大小.。越大的感受野包含越多的上下文关系
Dilated/Atrous Convolution(中文叫做空洞卷积或者膨胀卷积) 或者是 Convolution with holes 从字面上就很好理解,是在标准的 convolution map 里注入空洞,以此来增加 reception field。相比原来的正常convolution,dilated convolution 多了一个 hyper-parameter 称之为 dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是 dilatation rate 1)。
卷积核的dialate属性定义为卷积核的元素间距,如 dialate=2 是每隔一个像素位置应用一个卷积元素,dialate=1就是普通的无孔卷积。

空洞卷积优点:在不做pooling损失信息和相同的计算条件下的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。空洞卷积经常用在实时图像分割中。当网络层需要较大的感受野,但计算资源有限而无法提高卷积核数量或大小时,可以考虑空洞卷积。

空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。利用添加空洞扩大感受野,让原本3x3的卷积核,在相同参数量和计算量下拥有5x5(dilated rate =2)或者更大的感受野,从而无需下采样。扩张卷积(dilated convolutions)又名空洞卷积(atrous convolutions),向卷积层引入了一个称为 “扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。换句话说,相比原来的标准卷积,扩张卷积(dilated convolution) 多了一个hyper-parameter(超参数)称之为dilation rate(扩张率),指的是kernel各点之前的间隔数量,【正常的convolution 的 dilatation rate为 1】。
 

 

语义分割 DeepLabv3,DeepLabv3+_第1张图片

 

空洞卷积感受野的计算:
空洞卷积感受野的大小分两种情况:
(1)不带padding的空洞卷积:
若空洞卷积率为dilate rate
则感受野尺寸=(dilate rate-1)×(k-1) + k        #k为卷积核大小;

不带padding的感受野其实就是添加空洞之后的卷积核大小;


(2)带padding的空洞卷积:
若空洞卷积率为dilate rate
则感受野尺寸=2×(dilate rate-1)×(k-1) + k     #k为卷积核大小;
 

dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。

原理:
扩张卷积与普通的卷积相比,除了卷积核的大小以外,还有一个扩张率(dilation rate)参数,主要用来表示扩张的大小。扩张卷积与普通卷积的相同点在于,卷积核的大小是一样的,在神经网络中即参数数量不变,区别在于扩张卷积具有更大的感受野。感受野是卷积核在图像上看到的大小,例如3×3卷积核的感受野大小为9。

(a) 普通卷积,1-dilated convolution,卷积核的感受野为3×3=9
(b) 扩张卷积,2-dilated convolution,卷积核的感受野为7×7=49
(c) 扩张卷积,4-dilated convolution,卷积核的感受野为15×15=225

  • 语义分割网络中引入膨胀卷积
    • 增大网络的感受野
    • 减少特征图像尺寸的损失
  • 采用不同的方式来增大神经元的感受野
    • 传统卷积通过添加池化层
    • 膨胀卷积在卷积核中插入零元素,对卷积核上采样,可避免池化层引起的信息缺失
    • atrous convolution 扩大感受野 (一维解释)
    • 语义分割 DeepLabv3,DeepLabv3+_第2张图片

     

(a)在低分辨率输入特征图上使用标准卷积(rate=1)进行稀疏特征提取
(b)在高分辨率输入特征图上利用rate=2的膨胀卷积进行密集特征提取 

atrous convolution 扩大感受野 (二维解释)

 

上行:在低分辨率输入特征图上使用标准卷积进行稀疏特征提取
下行:在高分辨率输入特征图上利用rate=2的膨胀卷积进行密度特征提取

各种版本的DeepLab总结对比
DeepLabv1: 使用空洞卷积来明确控制在深度卷积神经网络中计算特征响应的分辨率。
DeepLabv2: 使用ASPP(Atrous Spatial Pyramid Pooling)以多个采样率和有效视野的滤波器对多个尺度的目标进行鲁棒分割。
DeepLabv3: 使用图像级别特征增强ASPP模块以捕获更长距离的信息。还引入BN,以促进训练。
DeepLabv3+: 用一个简单有效的解码器模块扩展DeepLabv3优化细分结果,尤其是沿目标边界。此外,在这种编码器-解码器结构中,可以通过空洞卷积任意地控制所提取的编码器特征的分辨率,以折衷准确率和运行时间。
 

DeepLabv3结构特点

  • 主要特点
    • 采用预训练的ResNet-50或ResNet-101来提取特征
    • 修改第四个残差块,采用膨胀卷积(模块内的三个卷积采用不同的膨胀率)
    • 加入image-level的ASPP
    • 语义分割 DeepLabv3,DeepLabv3+_第3张图片

     



 

 

你可能感兴趣的:(目标检测,深度学习,计算机视觉,人工智能)