文章目录

  • 本文要分析的代码作者是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相关推荐

  1. 全卷积神经网路【U-net项目实战】语义分割之U-Net详解

    文章目录 1.简介 2.U-net典型应用 3. U-net详解 4.参考文献 1.简介 语义分割(Semantic Segmentation)是图像处理和机器视觉一个重要分支.与分类任务不同,语义分 ...

  2. 全卷积神经网路【U-net项目实战】U-Net源码上实现自己数据集的分割任务

    文章目录 环境: 数据集准备: 主要代码: 接下来是训练,此处将训练和测试分开在两个.py文件中,好调用! 接下来就是愉快的测试了:main_test.py 测试结果部分展示:(裂缝检测) 问题 : ...

  3. 全卷积神经网路【U-net项目实战】LUNA 2016 数据集详解

    文章目录 1.LUNA 2016 数据集详解 2.mdh数据格式详解 3.python读取mdh的方法 4.annotations.csv坐标转换 5.LUNA16数据集肺结节显示 1.LUNA 20 ...

  4. 全卷积神经网路【U-net项目实战】Unet++

    文章目录 前言 概述 细节部分 1.一张结构图 & 解释: 2.loss:binary cross-entropy和dice coefficient两部分的组合.以下的loss应用到每一个不同 ...

  5. 全卷积神经网路【U-net项目实战】U-Net网络练习题: Kaggle - 2018 Data Science Bowl

    因为Kaggle有该比赛,而且code写的很简单易懂,于是乎拿来玩一下. https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277?scri ...

  6. 全卷积神经网路【U-net项目实战】论文中U-Net网络实现

    文章目录 设计神经网络的一般步骤 Unet网络设计的步骤 Unet网络最重要的特征 示例代码 设计神经网络的一般步骤 设计框架 设计骨干网络 Unet网络设计的步骤 设计Unet网络工厂模式 设计编解 ...

  7. 全卷积神经网路【U-net项目实战】ISBI 挑战数据集图像分割-keras实现

    文章目录 1.数据准备 2.程序准备 3.运行网络 4.测试结果 5.参考 1.数据准备 原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集.数据可以在(https://github.co ...

  8. 全卷积神经网路【U-net项目实战】U-net网络结构为什么在医学影像分割上表现不错

    文章目录 前言 个人的理解: 1.医学图像边界模糊.梯度复杂,需要较多的高分辨率信息,深度学习可以做到这一点,比如上采样下采样以及skip connection和concatenation 2.待分割 ...

  9. 目标检测——卷积神经网路基础知识

    目标检测--卷积神经网路基础知识 卷积神经网络 LeCun的LeNet(1998)网络结构 卷积神经网络发展历史 卷积神经网络可以做什么 全连接层 介绍 BP神经网络 通过BP神经网络做车牌数字识别 ...

最新文章

  1. 调试了半天,全都是复制代码惹得祸!
  2. hive 查看某表字段类型
  3. xml和java用户管理系统_XMLBeans首页、文档和下载 - XML-Java绑定工具 - OSCHINA - 中文开源技术交流社区...
  4. MySQL_列值为null对索引的影响
  5. mysql综合查询索引优化_MySQL数据库SQL优化之确定问题使用索引提高查询效率
  6. PyTorch 1.0 中文文档:torch.utils.checkpoint
  7. 【MyBatis】Mybatis使用SqlSessionFactory加载xml文件
  8. 宾夕法尼亚在线计算机硕士,申请访谈:宾夕法尼亚大学(Upenn)计算机科学(CS)的录取攻略...
  9. 网络营销的关键你知道多少
  10. FLEX 24节气算法
  11. 推荐参加国际会议海报制作(poster)的Latex模板
  12. 机器学习案例(十):新闻分类
  13. Android Tech Weekly - 45 :再不好好学习,Copilot 就取代你了
  14. MOOC(massive open online courses)
  15. html 93c,对93c46编程
  16. java单继承和多继承
  17. 【Python 骚操作】使用 Gitbook + Typora 打造一个属于自己的电子书网站
  18. 【JAVA内存回收】Java 内存回收机制
  19. DDoS攻击的一些防护方法
  20. Oracle数据库的JDBC毗邻

热门文章

  1. Can't connect to HTTPS URL because the SSL module is not available
  2. onedrive下载
  3. res2net 测试
  4. 华为交换机STP端口角色状态
  5. SDK与API的联系与区别
  6. 长沙理工大学计算机系教师,长沙理工大学数学与计算机科学学院导师介绍:王晚生...
  7. java创建solr core_Solr定义core.properties
  8. angular元素属性绑定_AngularJS语法基础及数据绑定——详解各种数据绑定指令、属性应用...
  9. java的total_Java LabelResourcePool.totalNum方法代码示例
  10. php左右滑动翻页代码,C#_NGUI实现滑动翻页效果实例代码,废话不多说了,直接给大家上 - phpStudy...