deeplab系列:deeplabv3语义分割算法解析

Deeplabv3算法介绍

Deeplab系列算法一直都在语义分割领域占有重要地位!目前Deeplab全系列分为deeplabv1、deeplabv2、deeplabv3、deeplabv3+四部曲。
这一部分主要介绍deeplabv3。

网络结构解析

网络组成
deeplab系列:deeplabv3语义分割算法解析_第1张图片
Stem模块就是Conv+MaxPooling。
Res_LayersX就是ResNet模块对应的ResBlock。
Res_Layers4_copyX就是复制Res_Layers4的卷积层。
理论上整个ResNet网络最终输出特征图为32倍下采样,作者认为可能太小了,所以去掉了最后一个Maxpooling。但是感受野的也会减少2倍,因此采用扩张卷积来增加减少的感受野。
Muti-Grid(多网格):简单理解就是把ResNet基础瓶颈层中的卷积设置不同的扩张率。
单个卷积扩张率公式为
D i l a t e d = R a t e ∗ ( r 1 , r 2 , r 3 ) Dilated =Rate*(r_1,r_2,r_3) Dilated=Rate(r1,r2,r3)
deeplab系列:deeplabv3语义分割算法解析_第2张图片

已知Res_Layers4由三个瓶颈层组成,如上图所示。作者做了大量实验来找出最佳超参数 ( r 1 , r 2 , r 3 ) (r_1,r_2,r_3) (r1,r2,r3),最终找出来的超参数为(1,2,1)效果最好。下图是截取原论文数据:
deeplab系列:deeplabv3语义分割算法解析_第3张图片
改进ASPP模块
结构来源于PSPNet的空间金字塔池化的成功,它表明,在不同尺度上重新采样特征,可以准确有效地对任意尺度的区域进行分类。
对deeplabv2中的ASPP模型进行少量改进。增加一个1×1分支和Adaptive Pool分支,同时每个卷积后面加入了BN层,并将其concat拼接后用1×1卷积降维到C。
结构如下:
deeplab系列:deeplabv3语义分割算法解析_第4张图片
以上是整篇论文的网络结构,一些训练策略和数据扩充策略我就不详细展开了。

你可能感兴趣的:(算法,人工智能,深度学习,机器学习)