在(一)和(二)中简单介绍了LUNA16数据集的组成,以及肺结节的可视化,有了对数据集的基本了解后,还要对数据集进行预处理,计算机视觉中原始数据一般不会直接送入神经网络,这里也是如此。

这篇博客想写已经有好久了,迟迟没有动笔,还是因为自己看过几个版本的预处理,有些地方有些混淆,有些地方犹豫该采取哪种方法,最近思路逐渐理清,遂决定动笔。

首先说一个前提,LUNA16数据集附带了一个seg-lungs-LUNA16的文件夹,里面是所有case(此处case指一个病例,也就是一张CT图像,由好多张切片组成)的mask,用来剔除与肺部无关的区域,但是通常来讲拿过来一个case,是不会有mask的,LUNA16还是为参赛选手降低了难度,不过在DSB2017中就没有mask,选手需要自行生成mask。

前提说完,就说说预处理需要哪些步骤吧。

大致来讲,共有以下三步。

  1. 将CT图像灰度数值转为HU值,HU值指的是人体组织器官对辐射的透光性,越是不透光,值越高,比如骨头的值就非常高。这里附一张HU值表,里面有常见的组织器官的透光性。顺便说一句,LUNA16的数据已经处理成HU值,真是很人性化了。
  2. 生成mask,这一步的处理方法我看过两种,一种训练一个分割网络,然后对每张切片进行分割,另一种是阈值化,第二种更简单些,我倾向于使用第二种,这也是DSB2017第一名的方案。下面就说一下方案二,阈值化采取的阈值不是随便定的,这里采取-600,这样水,空气基本就被过滤掉了,剩下的部分,进行以下膨胀处理,将肺部内部的小孔洞填上,这样,一张mask就完成了,简洁高效。
  3. 归一化,首先将所有体素的值截取到-1200~600这个范围,小于-1200的设为-1200,大于600的设为600,然后再缩放至0~255,最后再加上mask。

完结撒花~

LUNA16数据集(三)预处理的更多相关文章

  1. LUNA16数据集(一)简介

    LUNA16,全称Lung Nodule Analysis 16,是16年推出的一个肺部结节检测数据集,旨在作为评估各种CAD(computer aid detection计算机辅助检测系统)的ban ...

  2. LUNA16数据集(二)肺结节可视化

    在检测到肺结节后,还需要可视化,这样才能为诊断服务. 我使用的项目地址为:https://github.com/wentaozhu/DeepLung 项目基于论文:DeepLung: Deep 3D ...

  3. DeepLearning (三) 预处理:主成分分析与白化

    [原创]Liu_LongPo 转载请注明出处 [CSDN]http://blog.csdn.net/llp1992 PCA算法前面在前面的博客中已经有介绍,这里简单在描述一下,更详细的PCA算法请参考 ...

  4. LUNA16数据集的百度云链接

    可能需要会员链接:https://pan.baidu.com/s/1KTjoGKfLB_1Y-BQzerhGgg 提取码:g901

  5. 自然语言处理(二)——PTB数据集的预处理

    参考书 <TensorFlow:实战Google深度学习框架>(第2版) 首先按照词频顺序为每个词汇分配一个编号,然后将词汇表保存到一个独立的vocab文件中. #!/usr/bin/en ...

  6. Candidate Generation and LUNA16 preprocessing

    在这个kernel中,我们将讨论有助于更好地理解问题陈述和数据可视化的方法. 我还将提供有用的资源和信息的链接. 此脚本是用Python编写的. 我建议人们在桌面上安装anaconda,因为here提 ...

  7. TensorFlow从1到2(三)数据预处理和卷积神经网络

    数据集及预处理 从这个例子开始,相当比例的代码都来自于官方新版文档的示例.开始的几个还好,但随后的程序都将需要大量的算力支持.Google Colab是一个非常棒的云端实验室,提供含有TPU/GPU支 ...

  8. C#中的深度学习(二):预处理识别硬币的数据集

    在文章中,我们将对输入到机器学习模型中的数据集进行预处理. 这里我们将对一个硬币数据集进行预处理,以便以后在监督学习模型中进行训练.在机器学习中预处理数据集通常涉及以下任务: 清理数据--通过对周围数 ...

  9. 数据挖掘入门系列教程(三)之scikit-learn框架基本使用(以K近邻算法为例)

    数据挖掘入门系列教程(三)之scikit-learn框架基本使用(以K近邻算法为例) 简介 scikit-learn 估计器 加载数据集 进行fit训练 设置参数 预处理 流水线 结尾 数据挖掘入门系 ...

随机推荐

  1. 利用XmlDocument操作XML文件

    利用XmlDocument可以方便的操作XML文件. .操作XML文件基本方法 ()添加对System.Xml的引用,并使用using语句添加引用: ()假设要读取的XML文件如下: <?xml ...

  2. linux命令-vim

    vim是vi的升级版 //////////////////////////////////////////////////////////////////////////////// 首先安装vim ...

  3. ssh框架搭建实例代码教程步骤

    http://blog.csdn.net/u010539352/article/details/49255729

  4. [Python Study Notes]饼状图绘制

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  5. Android studio导入svn工程

    Quick Start——> Check outproject from Version——> Subversion——> ‘+’加号 ——> 输入网址 ——> 注意选择 ...

  6. cocos2d-js动作模块使用(自用,只有代码)

    // var UIBase = require("src/views/ui/UIBase.js")// cc.loader.loadJs("src/views/ui/UI ...

  7. 通过iOS中的按钮来触发html文件中按钮所触发的函数

    html文件的代码 <!DOCTYPE html> <html> <head> <title>标题</title> </head> ...

  8. 算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-003比较算法及算法的可视化

    一.介绍 1. 2. 二.代码 1. package algorithms.elementary21; /*********************************************** ...

  9. wordCount总结

    1.github地址:https://github.com/husterSyy/SoftTest 2.PSP表格   psp 2.1 psp阶段 预估耗时(分钟) 实际耗时(分钟) Planning ...

  10. [译]在Javascript中制造二维数列

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...