写在前面
博主目前(至2021-4)研究 脑部 MRI 图像(Brain MRI),医学图像分割工作或者定位工作,基本差不太多,以下文章如有问题或错误,请指正。
入门
入门看 “Deep Learning for Brain MRI Segmentation: State of the Art and Future Directions” 一文基本就足够了,文中从当前常用的深度学习框架,到医学图像的描述,再到当年现有的公共数据集,再到深度学习处理方法,对分割结果的评估方法。
- 深度学习框架:TensorFlow、PyTorch、Caffe、Theano、Keras等等。
- 医学图像:MRI(核磁共振)、CT(断层扫描)等等。
- 公共数据集(脑部分割):BraTS、Isles、mTOP、MSSEG、NeoBrainS12、MRBrainS
- 深度学习方法:图像预处理 + 深度学习模型 + 后处理。
- 评估方法:Dice系数,Sensiticity(敏感性),Specificity(特异性),真、假阳性,真、假阴性 等等。
本系列,基本使用PyTorch + MRI + BraTS dataset + Deep Learning
。
背景知识
- PyTorch
深度学习框架,不多赘述。直接安装,打开 PyTorch官网 ,首页下方。
安装按照自己的操作系统、CUDA版本、安装工具(pip、conda);注意:安装时,要考虑自己使用训练的电脑的配置情况,选择跟显卡型号和显卡驱动相配的CUDA版本,然后再对应相应的PyTorch版本。建议,先去Nvidia官网下载与显卡硬件适配的驱动(如果没有驱动的话),然后去Nvidia CUDA网站,下载相应版本的CUDA,最后再安装PyTorch。
CUDA是在这里用来跑高密度并行程序,通俗的来讲,就是把在CPU上计算的程序代码,放到显卡(GPU)上计算,GPU的计算能力要比CPU强大的多,尤其是在深度学习中高密度的矩阵计算。
这里的环境搭建可能会比较繁琐,如果出现版本不相配的情况,请多次尝试其他版本。
PyTorch安装反而比较简单,在控制台输入上图Run This Command
中的指令就可以安装了。安装后还需要测试一下PyTorch能不能使用CUDA进行GPU计算,写一个简短的代码就可以测试。
import torch
print(torch.cuda.is_available())
# 如果输出True,则表示CUDA可以正常使用
# 如果输出False,那么还需要检查这一步出现的问题
一般不推荐使用自己的电脑训练程序,比如博主使用Mac笔记本进行写代码,然后上传到服务器(3台8 * 2080Ti)进行训练。为什么呢?因为一般训练时间都比较长,比如一次实验要跑好几天才能完成,如果用自己电脑运行程序,风扇太响不说,还不安全,如果散热不充足还容易起火;再加上万一出现断电的现象,简直崩溃;电脑还会很卡。
- 医学图像
核磁共振图像(MRI)是最常见的,当然在计算机里一张图像是以一定的文件格式出现的,大部分为.nii.gz
,图像在程序里其实就是一种矩阵。
这种格式的图像图和访问呢?需要一个Python库—nibabel。使用pip、conda都可以安装,pip或pip3为例:
pip3 install nibabel
# 嫌安装慢或者加个速
pip3 install n