图像分割—DeepLabv3的理论与实践

【摘要】 一、概念介绍    Deeplab网络是一个专门用来处理语义分割的模型,该系列一共有三篇文章,分别对应Deeplabv1[1], Deeplabv2[2]和Deeplabv3[3]。因为之前的语义分割网络存在池化导致丢失了信息,并且没有利用标签之间的概率关系,所以Deeplab系列使用空洞卷积来避免池化带来的信息损失。二、网络结构    Deeplabv3为解决多尺度物体问题给出四种方案:(…

一、概念介绍

Deeplab网络是一个专门用来处理语义分割的模型,该系列一共有三篇文章,分别对应Deeplabv1[1], Deeplabv2[2]和Deeplabv3[3]。因为之前的语义分割网络存在池化导致丢失了信息,并且没有利用标签之间的概率关系,所以Deeplab系列使用空洞卷积来避免池化带来的信息损失。

二、网络结构

Deeplabv3为解决多尺度物体问题给出四种方案:

(a) 把输入图片缩放成不同尺度,经过同一个网络后最终融合成一个特征图。

(b) 在解码过程中融合编码过程网络中不同阶段的特征图。

(c) 在原先网络中加入context模块。

(d) 最后一层中加入并行结构(空间金字塔池化),获取不同尺度的物体信息。

文章[3]先提出了串联结构,把block4重复几次串联起来,这样连续的下采样能获取更大范围的特征,但是会随着膨胀率的增大而使卷积核的权重无效。当使用并行池化时能比较有效解决这个问题,如下图在最后一个特征上使用全局平均池化。

三、Deeplabv3实践

可以订阅ModelArts的Deeplabv3算法来入门和熟悉Deeplabv3在目标检测中的使用流程并能部署GPU或者Ascend310推理。

3.1 准备数据集

在AI Gallery的算法中进入“图像分割-DeeplabV3”。

进入适合图像分割的数据集“VOC2012”。

点击“下载”。

下载方式选择“对象存储服务(OBS)”,将训练集下载到OBS桶内。

3.2 订阅DeeplabV3算法

在算法中选择“图像分割-DeeplabV3”,订阅后前往控制台。

进入控制台后会有不同版本的DeeplabV3,可以选择当前最新版本并创建训练作业。

3.3 训练DeeplabV3模型

创建训练作业后只需要填写刚才保存的OBS位置为数据输入,模型输出train_url,超参数据可以选择默认值,也可以根据实际情况修改,创建完毕后点击“提交”,超参数修改可见链接:AI Gallery_算法_模型_云市场-华为云 (huaweicloud.com)

3.4 GPU/CPU部署

当模型训练完毕后,点击“创建模型”。

点击“从训练中选择”和“训练作业”,选择刚才训练完毕的作业。

在“部署上线”的“在线服务”中点击“部署”。

选择刚才导入的模型进行部署,可以选择GPU也可以选择CPU训练。

就能上传本地文件来进行预测。

3.4 Ascend在线推理部署

选择“模型管理”中的“压缩/转换”,点击“创建任务”

输入框架选择“TensorFlow”,转换输入目录选择输出路径下的”frozen_graph”文件夹,输出框架选择“MindSpore”,转换输出目录选择输出路径下的”om/model”文件夹,当使用Ascend310时将转换模板选择“TF-FrozenGraph-To-Ascend-C32”,还需要填写输出张量形状“images:1,513,513,3”,不填写转换输出节点,其余可按默认。

在“模型管理”的“模型”中点击“导入”。

选择“从模板中选择”-“MindSpore”-“ARM-Ascend模板”,模板目录选择训练输出路径下的”om/model”,选择“预制图像处理模式”。

在“部署上线”的“在线服务”中点击“部署”。

选择“我的模型”,模型选择刚才导入的模型,计算节点规格选择1*Ascend-D310。

模型导出成功后,选择在线服务来进行部署,选择模型后就能上传本地文件来进行预测。

四、参考文献

[1]Chen, L. C., Papandreou, G., Kokkinos, I., Murphy, K., & Yuille, A. L. (2014). Semantic image segmentation with deep convolutional nets and fully connected crfs.arXiv preprint arXiv:1412.7062.

[2]Chen, L. C., Papandreou, G., Kokkinos, I., Murphy, K., & Yuille, A. L. (2017). Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs.IEEE transactions on pattern analysis and machine intelligence,40(4), 834-848.

[3]Chen, L. C., Papandreou, G., Schroff, F., & Adam, H. (2017). Rethinking atrous convolution for semantic image segmentation.arXiv preprint arXiv:1706.05587.

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享