brain segmentation调研–NiftyNet
NiftyNet 是一个基于 TensorFlow 的开源卷积神经网络平台,用来研究医疗影像分析和影像导向的治疗。NiftyNet 有着模块化的架构设计,能够共享网络架构和预训练模型。使用该模块架构,你可以:
- 使用内建工具,从建立好的预训练networks开始训练
- 根据自己的图像数据改造已有的networks
- 根据自己的图像分析问题快速构建新的解决方案
一、安装NiftyNet
1.安装 NiftyNet package
通过pip,conda
pip 安装 :pip install niftynet
conda 安装:conda install nifynet
通过github
git clone https://github.com/NifTK/NiftyNet.git
2、安装依赖环境
- 安装tensorflow-gpu 1.3版本
详细安装教程 - 其他依赖库
cd NiftyNet/
pip install six>=1.10
pip install nibabel>=2.1.0
pip install numpy>=1.12
pip install scipy>=0.18
pip install configparser
# pip install tensorflow-gpu==1.3 已经安装
pip install pandas
pip install pillow
pip install SimpleITK # 可选择是否安装,图像格式为.mha/.mhd的文件需要安装SimpleITK
注意:安装过程中注意是否已经安装过该库,安装过的不用再次安装,如果发现安装的库版本没达到要求,那么先卸载再安装
二、使用demo
如若用的pip或者conda安装的 NiftyNet package
# 下载barin_parcelaltion demo
net_download highres3dnet_brain_parcellation_model_zoo
# 用demo进行inference,需要inference的数据在highres3dnet_config_eval.ini配置文件中
net_segment inference -c ~/niftynet/extensions/highres3dnet_brain_parcellation/highres3dnet_config_eval.ini
如果用的git clone安装的 NiftyNet package
python net_download.py highres3dnet_brain_parcellation_model_zoo
python net_segment.py inference -c ~/niftynet/extensions/highres3dnet_brain_parcellation/highres3dnet_config_eval.ini
segmentation后的结果保存在:
~/niftynet/models/highres3dnet_brain_parcellation/segmentation_output/
注意
- 该demo的inference对显卡显存要求比较高。显存不足会报下面的错误
- 虽然官方文档说能支持python 2.7,但最好版本选择pyhton 3.6。我在一个linux环境下,通过python2.7执行是报错 ConfigParser instance has no attribute ‘__getitem__’,后换成python3.6就ok了。
三、源码粗解
- NiftyNet 0.2.1 documentation,源码详解
- brain segmentation调研–On the Compactness, Eciency, and Representation of 3D Convolutional Networks:Brain Parcellation as a Pretext Tas 源码详解