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

举报
ganxu 发表于 2021/06/17 14:27:12 2021/06/17
【摘要】 一、概念介绍    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 intelligence40(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.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。