首页 > 其他分享 >基于MindSpore框架的室内场景图像分割方法研究

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

时间:2022-08-16 17:44:06浏览次数:89  
标签:本文 场景 训练 模型 NYU V2 图像 MindSpore

基于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等优化器的集大成者,能够有效控制学习率步长和梯度方向。

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

结果展示

 

 

标签:本文,场景,训练,模型,NYU,V2,图像,MindSpore
From: https://www.cnblogs.com/tianyuzou/p/16592356.html

相关文章

  • 家电上云后,智能家居如何构建场景化应用
    摘要:当智能家居行业正在从盲目的家电上云,转变为体验为主的场景驱动,AIoT企业如何具备持续的商业化能力?本文分享自华为云社区《【云享·伙伴】第8期:家电上云后,智能家居......
  • 找出对应的设计模式-优化下面的场景开发。
    packagecom.iit.observer;//研究性的作业://业务场景:(到了吃饭时间)管理员就调用sendMsg方法,//需要向Cat和Dog发送一条消息。//发布,关注(订阅):Cat和Dog关注......
  • C#/VB.NET 替换 PDF 文件上的现有图像
    我们都知道对PDF文件进行修改和编辑不是一件容易的事。但有时当我们想用新的图像来替换PDF文件上的现有图像时,该怎么办呢?别担心,本文将向您展示如何在C#/VB.NET中替换PDF......
  • ENVI5.4 全新图像分类框架
    ENVI5.4全新的图像分类框架(ENVIclassificationframework)提供了强大、灵活的分类方法。我们可以基于一幅图像创建并训练一个分类算法(分类器),然后将其应用于其他相似的数......
  • TCP和UDP的应用场景
    传输层的两个协议,TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDatagramProtocol,用户数据报协议),有各自的应用场景。TCP应用场景TCP为应用层协议提供可靠传输......
  • 技术分享 | 如何模拟真实使用场景?mock 技术来帮你
    原文链接mock是一种通过代理修改请求与响应,从而辅助构造更多应用场景的工具。比如在工作中,可能需要mock第三方的回调给到测试人员测试的环境,从而更顺利的开展测试工作,......
  • redis五种数据类型及使用场景(转载)
    (19条消息)【Redis】五种数据类型及其使用场景_编程芝士的博客-CSDN博客_redis有几种数据类型......
  • 华为5700三层交换机在生产场景中做策略路由
     我们在工作中经常会遇到这样的问题,就是有两条线路,一条电信一条移动,一条ADSL一条光纤。诸如此类的。但由于有三层交换机,我们往往把默认路由就指向了某一个出口。这样我......
  • 长篇图解java反射机制及其应用场景
    一、什么是java反射?在java的面向对象编程过程中,通常我们需要先知道一个Class类,然后new类名()方式来获取该类的对象。也就是说我们需要在写代码的时候(编译期或者编译期之......
  • 1066 图像过滤——15分
    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格......