【语义分割semantic segmentation】--DeepLab(ASPP)系列学习笔记

关键问题概要:

像素级稠密预测任务中为提高感受野通常采用池化采样降低分辨率,容易丢失关键信息;
必要的多尺度特征提取能力有助于对场景中不同尺寸大小的物体信息进行捕获,提高特征表现能力;
DCNNS对局部图像转换的内置不变性有助于学习日益抽象的数据表示。这种不变性对分类认为是可取的,但会阻碍密集的预测任务。

DeepLabV1&V2

DeepLabv1: Semantic Image Segmentation with Deep Convolutional Nets, and Fully Connected CRFs
DeepLabv2: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
DeepLabv1首次提出了‘atrous’ algorithm,其实就是膨胀卷积的实现,本文不再赘述。DeepLabv2首次提出了Atrous ConvolutionASPP,将最终DCNN层的响应与全连接条件随机场(CRF)相结合来提高目标边界定位性能。

将DCNN应用到语义图像分割中的三个挑战:(1)降低特征分辨率,(2)多尺度上目标的存在,以及(3)由于DCNN的不变性导致定位精度降低。
deeplab的解决思想:使用深度卷积神经网络,如VGG-16或ResNet-101,以完全卷积的方式使用,使用atrous卷积来降低信号下采样的程度(从32x降到8x)。双线性插值阶段扩大特征映射到原始图像的分辨率。然后,应用全连接CRF来细化分割结果,更好地捕捉对象边界。
端对端分割模型

空洞卷积Atrous Convolution

如何扩大感受野是卷积神经网络在多个应用场景中的一项重要目标,通常的做法是连续的池化采样,得到抽象的低分辨特征图,然后通过线性插值或反卷积等上采样手段恢复分辨率,这个过程难免会造成一些信息的丢失。使用更大的卷积核或多个小卷积核的串行叠加固然可以也提高感受野,但其中参数量的增加是不可忽视的。

(Atrous convolution/dilated convolution)明确的控制输出特征图分辨率并提高感受野,在不增加参数量和复杂度的前提下捕获更大尺寸的场景信息。
在这里插入图片描述

在这里插入图片描述

如上图所示,一个普通的3×3的卷积核,可以理解为dilation rate(膨胀率) =1时的空洞卷积,作为空洞卷积的一个特殊形式;而dliation rate = 2的空洞卷积是在普通的3×3的卷积核的基础上,通过在该卷积核九个采样点的周围增加权重为0的空洞点,来将一个3×3的卷积核等同扩张为5×5的卷积核,增大了感受野。
这样的设置下虽然卷积核的感受野扩大了,但是采样点仍然是9个,参数量并未增加;同时通过Atrous Convolution可针对不同需要调整超参数,控制卷积核大小和输出特征图大小,避免下采样和上采样过程。

空洞空间卷积池化金字塔(Atrous spatial pyramid pooling)
针对场景中多尺度特征的提取需要,deeplab提出了一种得到广泛应用的结构:空洞空间卷积池化金字塔。
在这里插入图片描述
如上图所示,该结构使用不同膨胀率的多个并行Atrous Convolution,对每个Atrous Convolution提取的特征在单独的分支中进一步处理,并融合生成最终结果。
上述结构的的pytorch实现代码如下:

class ASPP(nn.Module):
    def __init__(self, in_channel=64, depth=32):
        super(ASPP, self).__init__()
        self.atrous_block6 = nn.Conv2d(in_channel
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值