[深度学习从入门到女装]DeepLab v3

DeepLab v3

论文地址:Rethinking Atrous Convolution for Semantic Image Segmentation

 

 

1、相比于DeepLab v2,有一点改进就是,在v2的时候,dilaconv只是用在最后一层也就是pool5层,然后通过不同的rate进行尺寸的融合,而在v3中,dilaconv在图像缩小16倍的时候,之后全部都使用了dilaconv,用来捕捉感受野而不降低分辨率

如上图所示,(a)为正常的ResNet,(b)为v3中提出来的使用dilaconv的方式

2、ASPP(Atrous Spatial Pyramid Pooling)中加入了BN(batch normalization),并且使用了image-level future

并且特征图进行1*1卷积,三个3*3卷积(rate=6、12、18),在经过一个global average pooling(image level future),然后把这五个特征图concat一起,在使用1*1卷积降低纬度得到特征图

 

DeepLab v3+

论文地址:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

相较于v3的改进:

1、使用了encoder和decoder模型,encode还是使用之前v3的结构,然后在此基础上又加入了decode

文中提到了使用output stride来表示最终输出特征图和输入图像尺寸之间的倍数关系,如最终特征图缩小了32倍,则output stide=32

encoder:也就是DeepLab v3的结构中,可以通过调整最后几层atrous conv的参数来调整output stide,v3中在ASPP中还加入了image-level future(也就是用global average pooling得到的1*1特征图)

decoder:如下图(c)所示,也就是在根据最后的output stide进行4倍双线性插值,然后在找到encoder中相同尺寸中特征图层中最后的输出进行concate(在concate之前会用1*1卷积调整到合适的通道数),然后再通过3*3卷积调整特征图,再通过4倍上采样得到最后的score map

文中还提到了output stide=16的时候,是速度和准确率最均衡的一种,output stide=8的时候会使分割的边界效果更好但是会增加计算量

上图中(a)就是DeepLab v3的结构,(b)是传统encoder-decoder,(c)是本文提出的使用atrous conv的encoder-decoder结构

2、使用了Xception中的Depthwise separable convolution(深层可分离卷积)

3、融合了Depthwise separable convolution和atrous convolution得到atrous separable convolution

如上图所示,(a)为Xception中的Depthwise conv,(c)就是本文提出的融合了Depthwise separable convolution和atrous convolution得到atrous separable convolution

4、对Aligned Xception进行了改进

所有的maxpooling替换成了depthwise separable convolution以便于在任意的分辨率上使用atrous separable convolution提取特征

在每个3*3depthwise convolution后边都加上了BN(batch normalization)和ReLU激活函数

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值