语义分割学习 + 实践笔记 (一) 原理和网络结构"/>
DeepLabv3+图像语义分割学习 + 实践笔记 (一) 原理和网络结构
DeepLab3+学习与实践(一)
- DeepLabv3+ 图像语义分割 (一)
- 图像分割任务以及常用数据集
- 语义分割
- 常用数据集
- DeepLabv3+网络结构和原理
- DeepLabv3+网络结构
- 编码器/解码器(encoder/decoder)结构
- 卷积运算
- 空洞卷积或者膨胀卷积 DCNN
- DeepLabv3结构特点
- 获取多尺度上下文的架构比较
- 采用及联模块和带孔卷积提取多尺度信息
- 具有图像级功能的 ASPP 的并行模块
- DeepLab v3+
- DeepLabv3改进
- DeepLab-v3+网络结构
- 深度可分离卷积
- Xception架构
DeepLabv3+ 图像语义分割 (一)
labelme标记图形
tensorBoard查看分割性能
图像分割任务以及常用数据集
- 定义:图像分割(image segmentation)
- 根据某些规则将图片分成若干个特定的、具有独特性质的区域,并抽取出感兴趣的目标
- 子领域
- 语义分割 semantic segmentation
- 实例分割 instance segmentation
- 全景分割 panoptic segmentation
- 与其他任务的区别
语义分割
- 从像素层次来识别图像,为图像中的每个像素指定类别标记(稠密预测)
- 语义分割任务的表达
常用数据集
PASCAL VOC 2012 Segmentation Competition
COCO 2018 Stuff Segmentation Task
BDD100K:A Large-scale Diverse Driving Video Database
Cambridge-driving Labeled Video Database(Camvid)
Citycapes Dataset
Mapillary Vistas Dataset
ApolloScape Scene Parsing
DeepLabv3+网络结构和原理
- Deep Labelling for Semantic Image Segmentation
DeepLabv3+网络结构
编码器/解码器(encoder/decoder)结构
- 对输入的空间分辨率进行下采样,得到较低分辨率但经学习可以高效地 区分类别的特征图,然后上采样特征表示为全分辨率的分割图。
- DownSampling(下采样)
- Pooling,strided convolution
- Upsampling(上采样)
- Unpooling
- bilinear upsampling
- strided transpose convolution
卷积运算
空洞卷积或者膨胀卷积 DCNN
- Dilated/Atrous Convolution/Convolution with holes
(a). F1 is produced from F0 by a 1-dilated convolution; each element in F1 has a receptive field of 33.
(b). F2 is produced from F1 by a 2-dilated convolution; each element in F2 has a receptive of 77.
©. F3 is produced from F2 by a 4-dilated convolution; each element in F3 has a receptive of 15*15.
与每个层相关联的参数数量是相同的。感受野呈指数增长,而参数数量呈线形增长。 - 语义分割网络中引入膨胀卷积
- 增大网络的感受野
- 减少特征图像尺寸的损失
- 采用不同的方式来增大神经元的感受野
- 传统卷积通过添加池化层
- 膨胀卷积在卷积核中插入零元素,对卷积核上采样,可避免池化层引起的信息缺失
- atrous convolution 扩大感受野 (一维解释)
(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
获取多尺度上下文的架构比较
(a)图像金字塔(如SIFT)
(b)编码-解码框架
(c)采用不同尺度的膨胀卷积
(d)空间金字塔池化:使得任意大小的特征图利用多尺度特征提取都能够转换成固定大小的特征向量
采用及联模块和带孔卷积提取多尺度信息
- Cascaded modules without and with atrous convolution
- output stride:the ratio of input image spatial resolution to the final output resolution(before global pooling or fully connected layer)
(a)传统卷积,随着深度增大,特征图尺寸减小
(b)带孔卷积,避免特征图尺寸减小
具有图像级功能的 ASPP 的并行模块
- 修改第四个残差块,采用膨胀卷积(模块内的三个卷积采用不同的膨胀率)
DeepLab v3+
DeepLabv3改进
- Spatial pyramid pooling module(a) + encoder-decoder structure(b)
DeepLab-v3+网络结构
- DeepLab-v3+
- 通过添加一个简单有效的解码器模块来扩展DeepLab-v3,以优化分割结果,尤其是沿着目标边界
- 将深度可分离卷积(参考Xception)应用于ASPP和解码器模块,从而产生用于语义分割的更快和更强的编码器-解码器网络
深度可分离卷积
.html
- 3*3 Depthwise separable convolution decomposes a standard convolution into:
- (a) a depthwise convolution (applying s single filter for each input channel) and
- (b) a pointwise convolution (combining the outputs from depthwise convolution across channels)
- © In this work, we explore atrous separable convolution where atrous convolution is adopted in the depthwise convolution,as shown in © with rate=2
Xception架构
- Xception架构是具有残差连接的深度可分离卷积层的线性堆叠
- SeparableConv是修改后的深度可分离卷积
- 修改后的Xception架构
- more layers(same as MSRA’s modification except the changes in Entry flow)
- all the max pooling operations are replaced by depthwise separable convolutions with striding
- extra batch normalization and RELU are added after each 3*3 depthwise convolution, similar to MobileNet
更多推荐
DeepLabv3+图像语义分割学习 + 实践笔记 (一) 原理和网络结构
发布评论