基于MindSpore框架的室内场景图像分割方法研究

概述

本文以华为最新国产深度学习框架Mindspore为基础,研究室内场景语义分割方法。本文基于注意力机制改进U-Net网络,并选取VGG16与ResNet50作为骨干网络,并且利用VGG16与ResNet50的预训练权重进行迁移学习。整体的技术路线如图1所示。

​ 图片1

项目地址

https://gitee.com/zou-tianyu/mind-spore-unet-tianyu.git

相关配置

名称 配置信息
NPU Ascend910
操作系统 Ubuntu 20.04
编译器 Python3.7
框架 MindSpore1.6

NYU-V2数据集

本文利用公开数据集NYU-V2作为实验数据集,选取该数据集被标注的RGB图片用于训练和测试。作为常用的语义分割数据集,NYU-V2面向各种类型任务,选取的数据是由微软的 RGB摄像机记录的各种室内场景图片组成,其中共有464个不同的室内场景、1449张图片、894个类别标签。由于在NYU-V2数据集中,接近70%的数据集标签由前10类标签组成,所以本文选取该数据集室内场景的主要语义类别:墙壁(wall)、地板(floor)、橱柜(cabinet)、床(bed)、椅子(chair)、沙发(sofa)、桌子(table)、门(door)、窗户(window)、书柜(bookshelf)作为训练分割的语义类别,NYU-V2数据集中其他类别归为背景(background)类

数据集下载地址:NYU Depth V2 « Nathan SilbermanNYU Depth V2 « Nathan Silberman

实现流程记录

1、基于U-Net网络实现室内场景语义分割模型

U-Net是由Ronneberger 等人在2015年构建的一种完全对称的U型结构神经网络。参考华为官方gitee仓库的modelzoo克隆至本地,找到research/cv/unet目录,在此代码基础上进行修改。在原有U-Net模型的基础上,本文将输入图片的大小统一归为512×512,便于网络的卷积计算。本文实现的U-Net网络结构如图2所示。

2、模型权重文件转换

MindSpore采用ModelCheckpoint对象保存模型参数到CheckPoint文件(简称ckpt文件),由于MindSpore目前没有VGG16和ResNet50的相关预训练模型,导致本文在迁移学习的过程中无法直接使用MindSpore官方提供的预训练权重。PyTorch上采用pth文件保存模型参数且与MindSpore在保存模型参数的机制上不同,无法直接采用PyTorch上的预训练权重加载到MindSpore中。

本文在查阅了MindSpore与PyTorch相关文档后,成功编写了将pth模型文件转换为ckpt模型文件的脚本。经过实际训练发现该脚本切实有效的解决了MindSpore中预训练模型缺失的问题。

3、优化器的选择

优化器运用在神经网络的反向传播中,通过引导损失函数的参数向正确的方向更新适当的大小,使得损失函数的值能够到达全局最优。其中最为重要的两个部分是优化方向和步长。本文选取Adam作为模型训练的优化器,Adam是SGD、AdsGrad等优化器的集大成者,能够有效控制学习率步长和梯度方向。

本文由于运用到了迁移学习故将整个训练分为两个阶段。第一阶段冻结骨干网络预训练权重,将主要资源运用在扩张路径上,从而缩短训练时间,节约训练资源。第二阶段解冻骨干网络的参数,让网络中的所有参数参与训练。通过冻结训练后再解冻可以加快训练效率同时防止骨干网络的参数权值被破坏,从而获得更好的训练效果。

结果展示


基于MindSpore框架的室内场景图像分割方法研究相关推荐

  1. 【技术综述】基于弱监督深度学习的图像分割方法综述​

    文章首发于微信公众号<有三AI> [技术综述]基于弱监督深度学习的图像分割方法综述​ 本文是基于弱监督的深度学习的图像分割方法的综述,阐述了弱监督方法的原理以及相对于全监督方法的优势,首发 ...

  2. 技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验

    摘要:通过对篮球动作的分类训练及识别检测实例的讲解和体验,使我们了解了Yolov3模型的原理.架构等基本知识,为日后的深入学习奠定了基础. 背靠全新的设计理念,华为云推出了 MindSpore深度学习 ...

  3. yolov3模型识别不出训练图片_技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验...

    摘要:通过对篮球动作的分类训练及识别检测实例的讲解和体验,使我们了解了Yolov3模型的原理.架构等基本知识,为日后的深入学习奠定了基础. 背靠全新的设计理念,华为云推出了 MindSpore深度学习 ...

  4. 图像分割方法分享 | 基于优选集成ConvNet的脑癌图像分割方法

    前言 略. 1 方 法 使用单个的神经网络进行图像分割的效果通常精度较低达不到预期,因此笔者对深度神经网络进行优选集成以适应脑肿瘤分割的任务.具体来说,提出了由2个网络组成的轻量级集成方法,每个网络都 ...

  5. php 使用tp框架写留言板,基于thinkPHP框架实现留言板的方法

    这篇文章主要介绍了基于thinkPHP框架实现留言板的方法,简单分析了thinkPHP框架实现留言板的流程及控制器与模型的相关核心代码,需要的朋友可以参考下 本文实例讲述了基于thinkPHP框架实现 ...

  6. 综述:基于影像基因组学的肺癌诊断治疗方法研究

    介绍: 肺癌是世界上发病率和死亡率最高的恶性肿瘤之一,据美国癌症协会和癌症统计中心统计,每年超过15万个病人死于肺癌,20万个新诊病例.肺癌的致病因素有很多种,其发病率和死亡率都是最高的,是癌症中的第 ...

  7. 基于深度神经网络的高光谱影响分类方法研究---MNF+自动编码器+Softmax (准确率比较低,17年的论文)

    论文地址 基于深度神经网络的高光谱影响分类方法研究 装备学院学报 遥感影像分类的问题:预处理复杂,高维特征提取困难,分类不够精确等缺陷 首先采用最大噪声分数来降低特征空间维度,然后将自动编码器与sof ...

  8. matlab 程序 收缩,基于MATLAB的小波收缩去噪方法研究(程序)

    基于MATLAB的小波收缩去噪方法研究(程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文15400字,程序,答辩PPT) 摘 要 信号在采集.传输和获取的过程中难免会受到各种噪声的干扰 ...

  9. 基于迁移学习的农作物病虫害检测方法研究与应用

    基于迁移学习的农作物病虫害检测方法研究与应用 1.研究思路 迁移学习方式并结合深度学习提出了一种基于残差网络(ResNet 50)的 CDCNNv2 算法.通过对 10类作物 3 万多幅病虫害图像进行 ...

最新文章

  1. Linux下 C语言统计时间差
  2. 看博客学学Android(十三)
  3. Notepad++加上xml格式化的功能
  4. thingsboard官网单机并发量
  5. MHA+LAMP+Keepalived实现高可负载均衡综合实验
  6. css网页布局兼容性有哪些要点与诀窍
  7. Codeforces Round #727 (Div. 2) E. Game with Cards dp + 思维
  8. Broadcast简单使用
  9. 使用telephonymanager真机调试 闪退_watchOS 上的一次 SKView 内存泄露调试
  10. mysql源码分析书籍_从源码分析 MySQL 死锁问题入门
  11. 用MobaXterm远程连接Centos系统_使用技巧---Linux工作笔记047
  12. CSDN发布博文时出错的截图
  13. Adobe Acrobat Reader离线安装包下载
  14. android 蓝牙 发送字符串,Android向TLSR8266蓝牙mesh发送指令
  15. 360加速球效果实现
  16. 提高百度竞价广告质量度的5个关键方法
  17. 黑屏后面藏了什么?--解读微软打击盗版
  18. 2014年第五届蓝桥杯C++B组第四题:史丰收速算
  19. PS图层混合模式实例详解
  20. 航天环宇提交招股书上会稿:计划募资6亿元,控股股东为李完小

热门文章

  1. Microsoft Naive Bayes 算法——三国人物身份划分
  2. 金蝶盘点机PDA条码标签打印条码生成器
  3. pytorch实现VGG网络
  4. 重磅!你们一直催的 PyEcharts教程来啦
  5. (python)下载秒拍美拍视频
  6. 全球与中国工业自动化系统市场深度研究分析报告
  7. 【跨域异常】Cross origin requests are only supported for protocol schemes: http, data, chrome,chrome-exten
  8. python混淆加密ios代码_用AES(MODE_CBC/NoPadding)解密用Python加密的iOS文件
  9. error202mysql_mysql远程连接问题 Access denied for user 'root'@'192.168.1.13' (using password: YES)...
  10. 分布式基础-拜占庭将军问题