全卷积神经网路【U-net项目实战】肺结节分割案例分析:DSB3Tutorial
文章目录
- 本文要分析的代码作者是jonrmulholland
- 数据集:
- 重要文件介绍:
- 第一步:运行LUNA_mask_extraction.py,生产images_#.npy,masks_#.npy
- 第二步:运行LUNA_segment_lung_ROI.py,生产trainImages.npy,trainMasks.npy,testImages.npy,testMasks.npy
- 第三步:运行LUNA_train_unet.py,训练U-Net模型
- 原因可度娘。
本文要分析的代码作者是jonrmulholland
https://github.com/booz-allen-hamilton/DSB3Tutorial
数据集:
LUNA 2016
重要文件介绍:
LUNA_mask_extraction.py,LUNA_segment_lung_ROI.py,LUNA_train_unet.py
第一步:运行LUNA_mask_extraction.py,生产images_#.npy,masks_#.npy
该步骤主要是生产掩码文件,该掩码文件作为实验的输出结果,运行成功后,可以通过下列代码查看结果:
#查看掩码生成的文件
def CheckImageMask():working_path = "./tutorial/"imgs = np.load(working_path + 'images_0001_0009.npy')lungmask = np.load(working_path + 'masks_0001_0009.npy')# np.set_printoptions(threshold=np.inf)# print("numpy 打印显示不全处理")# print(lungmask)# print(imgs[0])# print(imgs[0] * lungmask[0])for i in range(len(imgs)):print("image:",i)fig, ax = plt.subplots(2, 2, figsize=[8, 8])ax[0, 0].imshow(imgs[i], cmap='gray')ax[0, 1].imshow(lungmask[i], cmap='gray')ax[1, 0].imshow(imgs[i] * lungmask[i], cmap='gray')plt.show()input("hit enter to cont : ")
得到结果如下:
第二步:运行LUNA_segment_lung_ROI.py,生产trainImages.npy,trainMasks.npy,testImages.npy,testMasks.npy
该步骤主要进行肺实质的分割,该代码的思路是采用基于二值化的方法,分割好肺实质的后,图像重新resize到512*512,同样的方法对mask结果也进行处理。
第二步完成后,可以通过下列代码查看结果:
def CheckLungMask():imgs = np.load(working_path + 'images_0003_0024.npy')masks = np.load(working_path + 'masks_0003_0024.npy')lungmask = np.load(working_path + 'lungmask_0003_0024.npy')# np.set_printoptions(threshold=np.inf)# print("numpy 打印显示不全处理")# print(lungmask)for i in range(len(imgs)):print("image:", i)fig, ax = plt.subplots(2, 2, figsize=[8, 8])ax[0, 0].imshow(imgs[i], cmap='gray')ax[0, 1].imshow(lungmask[i], cmap='gray')ax[1, 0].imshow(imgs[i] * lungmask[i], cmap='gray')ax[1, 1].imshow(masks[i], cmap='gray')plt.show()input("hit enter to cont : ")
结果图如下:
第三步:运行LUNA_train_unet.py,训练U-Net模型
本文使用显卡为GTX1060,设置为20个epoch,训练集大小为307,批量大小为2。 运行后dice系数大约0.3
结果保存在masksTestPredicted.npy中,查看了一下结果:一片黑,没有任何东西
分割效果非常不理想,why? 步骤是完全按照文档一步步进行的
分析原理:
1.查看了部分肺实质分割结果,发现有一下分割效果很差的,难道是因为这样?
2.原实验是使用使用TitanX训练得到的,太贵了,我是买不起,我个人用的是GXT1060,难道是因为这样?
3.dice系数才0.3,这个也太低了
原因可度娘。
全卷积神经网路【U-net项目实战】肺结节分割案例分析:DSB3Tutorial相关推荐
- 全卷积神经网路【U-net项目实战】语义分割之U-Net详解
文章目录 1.简介 2.U-net典型应用 3. U-net详解 4.参考文献 1.简介 语义分割(Semantic Segmentation)是图像处理和机器视觉一个重要分支.与分类任务不同,语义分 ...
- 全卷积神经网路【U-net项目实战】U-Net源码上实现自己数据集的分割任务
文章目录 环境: 数据集准备: 主要代码: 接下来是训练,此处将训练和测试分开在两个.py文件中,好调用! 接下来就是愉快的测试了:main_test.py 测试结果部分展示:(裂缝检测) 问题 : ...
- 全卷积神经网路【U-net项目实战】LUNA 2016 数据集详解
文章目录 1.LUNA 2016 数据集详解 2.mdh数据格式详解 3.python读取mdh的方法 4.annotations.csv坐标转换 5.LUNA16数据集肺结节显示 1.LUNA 20 ...
- 全卷积神经网路【U-net项目实战】Unet++
文章目录 前言 概述 细节部分 1.一张结构图 & 解释: 2.loss:binary cross-entropy和dice coefficient两部分的组合.以下的loss应用到每一个不同 ...
- 全卷积神经网路【U-net项目实战】U-Net网络练习题: Kaggle - 2018 Data Science Bowl
因为Kaggle有该比赛,而且code写的很简单易懂,于是乎拿来玩一下. https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277?scri ...
- 全卷积神经网路【U-net项目实战】论文中U-Net网络实现
文章目录 设计神经网络的一般步骤 Unet网络设计的步骤 Unet网络最重要的特征 示例代码 设计神经网络的一般步骤 设计框架 设计骨干网络 Unet网络设计的步骤 设计Unet网络工厂模式 设计编解 ...
- 全卷积神经网路【U-net项目实战】ISBI 挑战数据集图像分割-keras实现
文章目录 1.数据准备 2.程序准备 3.运行网络 4.测试结果 5.参考 1.数据准备 原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集.数据可以在(https://github.co ...
- 全卷积神经网路【U-net项目实战】U-net网络结构为什么在医学影像分割上表现不错
文章目录 前言 个人的理解: 1.医学图像边界模糊.梯度复杂,需要较多的高分辨率信息,深度学习可以做到这一点,比如上采样下采样以及skip connection和concatenation 2.待分割 ...
- 目标检测——卷积神经网路基础知识
目标检测--卷积神经网路基础知识 卷积神经网络 LeCun的LeNet(1998)网络结构 卷积神经网络发展历史 卷积神经网络可以做什么 全连接层 介绍 BP神经网络 通过BP神经网络做车牌数字识别 ...
最新文章
- 调试了半天,全都是复制代码惹得祸!
- hive 查看某表字段类型
- xml和java用户管理系统_XMLBeans首页、文档和下载 - XML-Java绑定工具 - OSCHINA - 中文开源技术交流社区...
- MySQL_列值为null对索引的影响
- mysql综合查询索引优化_MySQL数据库SQL优化之确定问题使用索引提高查询效率
- PyTorch 1.0 中文文档:torch.utils.checkpoint
- 【MyBatis】Mybatis使用SqlSessionFactory加载xml文件
- 宾夕法尼亚在线计算机硕士,申请访谈:宾夕法尼亚大学(Upenn)计算机科学(CS)的录取攻略...
- 网络营销的关键你知道多少
- FLEX 24节气算法
- 推荐参加国际会议海报制作(poster)的Latex模板
- 机器学习案例(十):新闻分类
- Android Tech Weekly - 45 :再不好好学习,Copilot 就取代你了
- MOOC(massive open online courses)
- html 93c,对93c46编程
- java单继承和多继承
- 【Python 骚操作】使用 Gitbook + Typora 打造一个属于自己的电子书网站
- 【JAVA内存回收】Java 内存回收机制
- DDoS攻击的一些防护方法
- Oracle数据库的JDBC毗邻
热门文章
- Can't connect to HTTPS URL because the SSL module is not available
- onedrive下载
- res2net 测试
- 华为交换机STP端口角色状态
- SDK与API的联系与区别
- 长沙理工大学计算机系教师,长沙理工大学数学与计算机科学学院导师介绍:王晚生...
- java创建solr core_Solr定义core.properties
- angular元素属性绑定_AngularJS语法基础及数据绑定——详解各种数据绑定指令、属性应用...
- java的total_Java LabelResourcePool.totalNum方法代码示例
- php左右滑动翻页代码,C#_NGUI实现滑动翻页效果实例代码,废话不多说了,直接给大家上 - phpStudy...