Skip to content

jiafeng5513/VectorGeneratingNetwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vector-Generating Network

A convolutional neural network with the ultimate goal of generating eigenvectors

构想中的一种卷积神经网络

主要目标

用于肺结节分类和恶性预测,实现自动定位肺结节的位置,对每个结节进行恶性程度预测,并最终给出该病人患病的概率

主要思路

  1. 使用基于U-Net的网络进行语义分割
  2. 数据集用LIDC-IDRI
  3. 使用LidrReader读取数据集并生成语义分割所需的标签图
  4. 输入网络的训练数据图片应该只含有肺部区域
  5. 输入网络的标签图片应该是这样的,非肺部区域一种颜色,肺部非结节一种颜色,肺结节一种颜色.
  6. 考虑到重负样本的问题,可能要引入非结节的标注

数据集

  1. Luna16:
    文件形式:mhd/raw,csv
    组织结构:所有的mhd/raw文件存储在一个目录下;有两个csv文件,存储所有的标签;每一对mhd/raw中是一个序列.
    标签形式:一个csv文件列出所有的候选结节,标记有定位信息和(0/1)标签,标记为1的结节在另一个csv文件中标有有直径信息和定位信息
  2. DSB2017:
    文件形式:dcm,csv
    组织结构:图像数据分为两个stage文件夹,每个stage下存放一些series文件夹,每个series文件夹下存放一些dcm文件,每个dcm文件存储一张切片.
    标签形式:在csv文件中对每个序列给出(0/1)标签
  3. TCIA LIDC-IDRI:
    文件形式:dcm,xml,csv,xlsx
    组织结构:由1010个名称形如LIDC-IDRI-XXXX文件夹组成,每个文件夹存储一个病人的数据;
    病人文件夹下,是study文件夹,注意有的病人有两个study,有的只有一个study;共有1308个study;
    study文件夹下,是series文件夹,注意所有的study都只有一个series;共有1308个series,其中1018个CTseries,290个CR/DX series
    series文件夹下有该series的全部slice和一个xml文件,需要注意的是,dcm文件按名称排序的顺序并不是解刨学顺序,而Instance Number的顺序是解刨学顺序
    除此之外,还有数个表格文件
    标签形式:series文件夹下的xml文件中,存储标记信息,xml标注含义请看XmlPattern.
    另外,lidc-idri nodule counts.xlsx描述每个病人的结节总数,3mm以上的结节数,3mm以下的结节数
    LIDC-IDRI_MetaData.csv中给出了每个patient ID,扫描形式,seriesID的对应关系以及一些其他的元数据信息
    tcia-diagnosis-data-2012-04-20.xls中存储了158个病人的详细诊断信息,包括病人层次的诊断结论,原发位置,确诊方式以及结节层次的诊断结论和确诊方式等
    读取程序:请看./Project/LIDCReader.

参考

  1. DSB2017第一名:grt123
  2. Unet细胞分割
    对应的CSDN博客:全卷机神经网络图像分割(U-net)-keras实现
  3. Unet图像分割
  4. Luna16数据预处理
    对应的CSDN博客这篇经验说不定会帮你夺冠医疗AI大赛哦
  5. DSB2017数据集预处理(肺部图像形态学分割)Candidate Generation and LUNA16 preprocessing
    注意这篇文章虽然写的是处理Luna16,但是实际上他是处理DSB2017.事实上,这种分割方法并不是针对某个数据集的,但是这两个数据集的读取方式是不同的
  6. 关于内存溢出问题的解决方案TensorFlow和Keras解决大数据量内存溢出问题
  7. LIDC-IDRI数据集:
    LIDC-IDRI肺结节公开数据集Dicom和XML标注详解
  8. lidc nodule detection with CNN and LSTM network
    这个项目中对LIDC-IDRI的读取部分非常值得参考
    对应的博客文章:LIDC-IDRI肺结节Dicom数据集解析与总结
  9. 各领域公开数据集下载
  10. Kaggle是主要为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台。

工具

  1. Raw/mhd图像查看,三维检视:Fiji
  2. dcm/DICOM标准文件查看:RadiAnt
  3. 绘图工具:Draw.io

文献

./Reference/

工程说明

  1. ./log/:存放开发日志,记录一些想法和debug日志等信息.
  2. ./Project/:具体工程的父目录.
  3. ./Reference/:存放参考文献,主要是论文和论文的翻译版.

工程结构约定:

  1. 按照上述目录结构存放
  2. 如果是Demo,项目内部附带所需数据,如果数据大于100MB,在存放数据的文件夹下放置placeholder,并在项目的README中给出下载地址.
  3. 每个工程独立存放在一个文件夹中,并放置在Project文件夹下,每个工程自带自己的README文件.
  4. 如果有参考,论文下载到Reference文件夹下,博客和项目的地址除了在工程内部的README注明外,还要在整个项目的README中注明.

build

  1. Anaconda3-5.1.0 with python 3.6.4
  2. CUDA_9.0.176_win10
  3. cudnn-9.0-windows10-x64-v7.zip
  4. tensorflow 1.7.0
  5. keras 2.1.6

New Features

数据分析结束,清理工程结构

About

A convolutional neural network with the ultimate goal of generating eigenvectors

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published