• 利用深度学习技术,分析图像与视频,并且将之应用在诸如自动驾驶,无人机等等领域已经成为最新研究方向。在最新的一篇名为“A Neural Algorithm of Artistic Style”[1508.06576] A Neural Algorithm of Artistic ...

    https://www.toutiao.com/a6701130271518884366/

     

    医学图像处理与深度学习入门

     

    利用深度学习技术,分析图像与视频,并且将之应用在诸如自动驾驶,无人机等等领域已经成为最新研究方向。在最新的一篇名为“A Neural Algorithm of Artistic Style”[1508.06576] A Neural Algorithm of Artistic Style中,作者描述了一种新的方式,从艺术作品中获得,并且应用到图像中,生成新的图像。另外,在 “Generative Adversarial Networks” [1406.2661] Generative Adversarial Networks(GAN) and “Wasserstein GAN” https://arxiv.org/pdf/1701.07875.pdf文章中,作者提出了新的模型,这些模型能够生成,类似于我们给出的原始数据。至此开启了半监督学习的新世界,并且为半监督学习铺平了道路。

    然而这些研究领域仍然停留在普通图像上,然而我们的目标是将这些研究应用于医学图像,进而辅助医疗诊断。在进入主题之前,我们将从图像处理的基础开始,介绍基本的医学图像格式数据,并且将这些数据可视化。在下一篇文章中,我们将深入CNN方法,并且利用Keras(Keras Documentation),对肺癌进行预测。

     

    图像处理基础(python)

    当前,图像处理工具可谓层出不穷,其中,OpenCV(OpenCV library) 因为其强大的社区支持,以及广泛的可用性,在c++, java python等等编程语言中皆可使用,因此,OpenCV已经成为图像处理主流工具。在这篇文章中,我们将使用jupyter notebook与OpenCV。

    安装OpenCV:

    pip install opencv-python 或者直接从http://opencv.org中下载并安装。

    医学图像处理与深度学习入门

     

    打开jupyter notebook, 并且确认是否可以 import cv2. 接下来我们将使用到numpy 和 matplotlib。

    医学图像处理与深度学习入门

     

    在notebook中 ,输入以下代码检验是否可以打开并且查看图像。

    医学图像处理与深度学习入门

     

     

    基本脸部识别

    让我们做一些有趣的事情,比如检测脸部。为了检测脸部,我们将使用最初由Rainer Lienhart创建的基于开源xml残片的20x20柔和的adaboost正面人脸检测器。这里有一个好的帖子,详细介绍哈尔级联检测Face Detection using Haar Cascades。

    医学图像处理与深度学习入门

     

    在http://opencv.org中,还有很多类似的例子,http://docs.opencv.org/trunk/d6/d00/tutorial_py_root.html , 读者可以多多练习。现在我们已经了解一些基本的图像处理知识,下面我们将学习如何处理医学图像。

    医学图像数据格式

    医学图像采用数字成像和通信(DICOM)作为存储和交换医学图像数据的标准解决方案。这个标准的第一个版本是在1985年发布的。发展到现在,该方案有了一些改变。该标准使用文件格式和通信协议。

    文件格式 - 所有患者医疗图像都以DICOM文件格式保存。除了其他图像相关数据(例如用于拍摄图像的设备以及医疗处理的一些背景)之外,该格式具有关于患者的PHI(受保护的健康信息),例如姓名,性别,年龄。医学影像设备创建DICOM文件。医生使用DICOM查看器,可显示DICOM图像的计算机软件应用程序,读取和诊断图像中的发现。

    通信协议 - DICOM通信协议用于搜索档案中的成像研究,并将成像研究恢复到工作站以显示。连接到医院网络的所有医疗成像应用程序都使用DICOM协议来交换信息,主要是DICOM图像,还包括患者和手术信息。还有更先进的网络命令,用于控制和跟踪治疗,调度程序,报告状态,分担医生和成像设备之间的工作量。关于DICOM标准细节,在这里推荐一个很好的博客http://dicomiseasy.blogspot.com

    分析DICOM图像

    用于分析DICOM图像的一个很好的python包是pydicom。在本节中,我们将看到如何在Jupyter笔记本上呈现DICOM图像。安装OpenCV使用:pip install pydicom

    安装pydicom软件包后,请回到jupyter笔记本。在笔记本中,导入dicom包和其他包,如下所示。

    医学图像处理与深度学习入门

     

    初次之外,我们还可以用pandas,scipy, skimage,mpl_toolkit 进行数据处理和分析。

    医学图像处理与深度学习入门

     

    接下来,我们介绍一些可以获得DICOM 数据库,如下:

    • kaggle competitions and Datasets
    • Dicom Library
    • Osirix Datasets
    • Visible Human Datasets
    • The Zubal Phantom

    从以上数据库中下载dicom文件,并且载入jupyter notebook

    医学图像处理与深度学习入门

     

    医学图像处理与深度学习入门

     

    第一步:在jupyter 中读取DICOM文件,并可视化

    医学图像处理与深度学习入门

     

    上图中,第一行代码,我们导入第一个dicom文件,我们使用它作为一个reference,用来获取元数据。

    医学图像处理与深度学习入门

     

    然后我们计算三维NumPy数组的总和,它们等于(切片中像素行的数量)x(切片中像素列的数量)x(切片的数量)沿着x,y和z笛卡尔坐标轴。最后,我们使用PixelSpacing和SliceThickness属性来计算三个轴上的像素之间的间距。我们将数组维存储在ConstPixelDims中,并将间距存储在ConstPixelSpacing [1]中。

    医学图像处理与深度学习入门

     

    医学图像处理与深度学习入门

     

    医学图像处理与深度学习入门

     

    第二步:进一步了解DICOM 格式数据:

    CT扫描的测量单位是Hounsfield单位(HU),它是放射性强度的量度。仔细校准CT扫描仪以准确测量。关于这方面的详细了解可以在这里找到。https://web.archive.org/web/20070926231241/http://www.intl.elsevierhealth.com/e-books/pdf/940.pdf

    每个像素被分配一个数值(CT值),它是相应体素中所有衰减值的平均值。将这个数字与水的衰减值进行比较,并在戈弗雷·豪斯菲尔德爵士(Sir Godfrey Hounsfield)之后以胡恩斯菲尔德单位(Hounsfield units,HU)的任意单位的比例显示。

    这个标度将水分配为零的衰减值(HU)。CT数字的范围是2000HU宽,尽管一些现代扫描仪的HU的范围可以达到4000.每个数字代表在光谱两端的+1000(白色)和-1000(黑色)的灰色阴影。

    医学图像处理与深度学习入门

     

    一些扫描仪具有圆柱扫描边界,但是输出图像是方形的。落在这些边界之外的像素的固定值为-2000。

    医学图像处理与深度学习入门

     

    第一步通常是将这些值设置为0.接下来,让我们回到HU单位,通过乘以重新调整斜率并添加拦截(这些拦截方便地存储在扫描的元数据中!)。

     

    Acknowledgements

    【1】https://pyscience.wordpress.com/2014/09/08/dicom-in-python-
    【2】importing-medical-image-data-into-numpy-with-pydicom-and-vtk/
    【3】http://www.osirix-viewer.com/resources/dicom-image-library/
    【4】http://wearables.cc.gatech.edu/paper_of_week/viola01rapid.pdf
    【5】http://adilmoujahid.com/posts/2016/06/introduction-deep-learning-python-caffe/
    【6】http://dicomiseasy.blogspot.com/
    【7】https://www.kaggle.com/c/data-science-bowl-2017
    【8】http://docs.opencv.org/trunk/d6/d00/tutorial_py_root.html
    Kaggle community for all the different scripts and support
    

     

    作者 | william张真人william张真人 - 知乎

    版权声明

    本文版权归《william张真人》,转载请自行联系

    展开全文
  • 医学图像数据格式 医学图像采用数字成像和通信(DICOM)作为存储和交换医学图像数据的标准解决方案。这个标准的第一个版本是在1985年发布的。发展到现在,该方案有了一些改变。该标准使用文件格式和通信协议。 文件...

    医学图像数据格式

    医学图像采用数字成像和通信(DICOM)作为存储和交换医学图像数据的标准解决方案。这个标准的第一个版本是在1985年发布的。发展到现在,该方案有了一些改变。该标准使用文件格式和通信协议。

    文件格式 - 所有患者医疗图像都以DICOM文件格式保存。除了其他图像相关数据(例如用于拍摄图像的设备以及医疗处理的一些背景)之外,该格式具有关于患者的PHI(受保护的健康信息),例如姓名,性别,年龄。医学影像设备创建DICOM文件。医生使用DICOM查看器,可显示DICOM图像的计算机软件应用程序,读取和诊断图像中的发现。

    通信协议 - DICOM通信协议用于搜索档案中的成像研究,并将成像研究恢复到工作站以显示。连接到医院网络的所有医疗成像应用程序都使用DICOM协议来交换信息,主要是DICOM图像,还包括患者和手术信息。还有更先进的网络命令,用于控制和跟踪治疗,调度程序,报告状态,分担医生和成像设备之间的工作量。关于DICOM标准细节,在这里推荐一个很好的博客http://dicomiseasy.blogspot.com

    分析DICOM图像

    用于分析DICOM图像的一个很好的python包是pydicom。初次之外,我们还可以用pandas,scipy, skimage,mpl_toolkit 进行数据处理和分析。
    接下来,我们介绍一些可以获得DICOM 数据库,如下:

    • kaggle competitions and Datasets
    • Dicom Library
    • Osirix Datasets
    • Visible Human Datasets
    • The Zubal Phantom

    在医学影像处理中使用的到的深度学习的模型框架主要有:

    • SAE(stack auto-encoder) 无监督学习方案,逐层训练,得到特征描述为主
    • RBM(restricted Boltzmann machine) 无监督学习方案,与SAE 类似
    • CNN(convolutional neural network)
      卷积神经网络,使用最为广泛,可以用来提取图片特征或者直接完成分类检测等任务
    • RNN(recurrent neural network) 循环神经网络,用来获取时序上的信息,在CT等逐行扫描图像中使用
    • U-net (with a single downsampling stage)
      类似于带short-cut的全卷机网络,用来融合不同尺度的图像的特征
    • FCNN(fully convolutional neural network)
    • 全卷机网络,可以获取与原图相同分辨率的图片,常用于分割等任务 FRCNN(Faster Region-proposal based neural network)

    深度学习框架

    • caffe
    • tensorflow
    • torch
    • Theano

    暂时没有使用到的深度学习技术

    • VAE
    • GAN

    State of Arts
    在这里插入图片描述

    深度学习在医学图像领域的一些限制

    • 缺少高质量的标注的训练样本,因此训练出来的模型可能是过拟合的或者说推广性不好,因此需要将的到的模型放在各种情况下测试推广性]

    • 深度学习得到的模型是一个黑盒子,无法解释其有效性,在一些特殊的情况下会出现非常奇怪无法解释的问题,因此在医疗行业中的接受度也是一个问题[^doc3]
      在商业系统中使用临床上的图片资料会存在法律和伦理上的问题而不使用这样的样本无法进一步的提高深度学习模型的水平

    2D VS 3D

    从文献综述来看,大部分的工作都是基于2D图像的,其实在医学图像中,CT 和 MRI都是3D的数据2D化的结果,在医疗图像处理的算法中3D重建等等也是非常重要的一大类算法,但是现有的基于3D的算法一来耗时比较高,二来并没有比基于2D的算法提高很多,使用2D还是3D是一个值得思考的问题。

    Feature vs Result

    从文献综述中来看,稍微久远一些的算法就是把CNN当作是一个特征提取的算子获得图像的描述特征而最新的一些方法直接将CNN的结果就作为最终的输出结果来使用, 这里喔感觉直接使用CNN的输出作为结果,会涉及到文献中所说的黑盒子的限制,可解释型一般是比较差的,而作为特征来使用解释性可能会好一些,因为后续的一些后处理中可以增加的规则类的比较多,解释性会更佳

    过滤 vs 诊断

    一直以来作者觉得在医疗行业中,计算机能做的最大的贡献就是帮助医生做大量医学影像的过滤工作,至于使用诊断上最多也只是一个辅助的诊断工具,而机器学习到达了深度学习的时代,有些本来以为不太可能的任务都被深度学习算法一个一个的攻克了,在未来的工作做,计算机深度学习是不是可能独立的进行本属于医生独享的诊断工作我还是不得而知,然后我们可以知道的是,技术的发展使得过滤的正确率大大的提高,极大的提高生产的效率,这一方面是肯定有助于医疗行业的,相应深度学习在医疗领域的前景还是很广阔的。
    原文:https://zhuanlan.zhihu.com/p/27568550

    展开全文
  • 本文参考了三篇深度学习医学图像处理中的三篇综述性的文章,旨在对于深度学习和医学图像相结合的现有情况做一个小总结,并探讨一下未来的一些发展趋势和自身的一些思考 医学影像深度学习工具 深度学习模型 ...

    简介

    本文参考了三篇深度学习在医学图像处理中的三篇综述性的文章,旨在对于深度学习和医学图像相结合的现有情况做一个小总结,并探讨一下未来的一些发展趋势和自身的一些思考

    医学影像深度学习工具

    深度学习模型


    在医学影像处理中使用的到的深度学习的模型框架主要有:

    • SAE(stack auto-encoder)
    无监督学习方案,逐层训练,得到特征描述为主
    • RBM(restricted Boltzmann machine)
    无监督学习方案,与SAE 类似
    • CNN(convolutional neural network)
    卷积神经网络,使用最为广泛,可以用来提取图片特征或者直接完成分类检测等任务
    • RNN(recurrent neural network)
    循环神经网络,用来获取时序上的信息,在CT等逐行扫描图像中使用
    • U-net (with a single downsampling stage)
    类似于带short-cut的全卷机网络,用来融合不同尺度的图像的特征
    • FCNN(fully convolutional neural network)
    全卷机网络,可以获取与原图相同分辨率的图片,常用于分割等任务
    • FRCNN(Faster Region-proposal based neural network)

    一种快速的深度学习检测网络框架,分为rpn 和 rcnn 两层,用于检测图像中的多种物体

    深度学习框架

    • caffe
    • tensorflow
    • torch
    • Theano

    暂时没有使用到的深度学习技术

    * VAE

    * GAN

    State of Arts


    深度学习在医学图像领域的一些限制

    • 缺少高质量的标注的训练样本,因此训练出来的模型可能是过拟合的或者说推广性不好,因此需要将的到的模型放在各种情况下测试推广性[^doc3]
    • 深度学习得到的模型是一个黑盒子,无法解释其有效性,在一些特殊的情况下会出现非常奇怪无法解释的问题,因此在医疗行业中的接受度也是一个问题[^doc3]
    • 在商业系统中使用临床上的图片资料会存在法律和伦理上的问题而不使用这样的样本无法进一步的提高深度学习模型的水平[^doc3]

    一些自己的思考

    2D VS 3D

    从文献综述来看,大部分的工作都是基于2D图像的,其实在医学图像中,CT 和 MRI都是3D的数据2D化的结果,在医疗图像处理的算法中3D重建等等也是非常重要的一大类算法,但是现有的基于3D的算法一来耗时比较高,二来并没有比基于2D的算法提高很多,使用2D还是3D是一个值得思考的问题。

    Feature vs Result

    从文献综述中来看,稍微久远一些的算法就是把CNN当作是一个特征提取的算子获得图像的描述特征而最新的一些方法直接将CNN的结果就作为最终的输出结果来使用, 这里喔感觉直接使用CNN的输出作为结果,会涉及到文献中所说的黑盒子的限制,可解释型一般是比较差的,而作为特征来使用解释性可能会好一些,因为后续的一些后处理中可以增加的规则类的比较多,解释性会更佳

    过滤 vs 诊断

    一直以来作者觉得在医疗行业中,计算机能做的最大的贡献就是帮助医生做大量医学影像的过滤工作,至于使用诊断上最多也只是一个辅助的诊断工具,而机器学习到达了深度学习的时代,有些本来以为不太可能的任务都被深度学习算法一个一个的攻克了,在未来的工作做,计算机深度学习是不是可能独立的进行本属于医生独享的诊断工作我还是不得而知,然后我们可以知道的是,技术的发展使得过滤的正确率大大的提高,极大的提高生产的效率,这一方面是肯定有助于医疗行业的,相应深度学习在医疗领域的前景还是很广阔的。








    Refs:
    • A Survey on Deep Learning in Medical Image Analysis
    • Deep Learning in Medical Image Analysis
    • Deep Learning in Medical Imaging: General Overview
    • Volumetric ConvNets with Mixed Residual Connections for Automated Prostate Segmentation from 3D MR Images
    • DEEP LEARNING BASED CANCER METASTASES DETECTION
    • Proceedings of MICCAI-BRATS 2016
    展开全文
  • 医学图像分割技术的发展不仅影响到医学图像处理中其他相关技术的发展,如可视化、三维重建等,而且在生物医学图像的分析中也占有极其重要的地位。近年来,由于深度学习算法在医学图像分割中的应用, 医学图像分割技术...

    摘要:医学图像分割是决定医学图像在临床诊疗中能否提供可靠依据的关键问题。医学图像分割技术的发展不仅影响到医学图像处理中其他相关技术的发展,如可视化、三维重建等,而且在生物医学图像的分析中也占有极其重要的地位。近年来,由于深度学习算法在医学图像分割中的应用, 医学图像分割技术取得了显著的进展。


    MR图像

     

    磁共振成像(MRI)是无线电成像领域中使用最广泛的技术。作为一种动态且灵活的技术,MRI可以实现多变的图像对比度,该过程的实现是通过使用不同的脉冲序列和改变成像参数对应纵向松弛时间(T1)和横向松弛时间(T2),T1加权和T2加权成像的信号强度与特定组织的特征有关[10]。MR成像中,图像的对比度依赖于相位对比脉冲序列参数,最常见的脉冲序列是T1加权和T2加权自旋回波序列[12]。通过MR成像可以观察大脑、肝脏、胸、腹部和骨盆的结构细节,这有利于诊断检测或治疗[13]。

    MRI对软组织有很好的成像能力;有非常高的分辨率;具有较高的信噪比;利用不同的脉冲序列可以得到对比度多变的多通道图像,进而用于不同解剖结构的目标分割和分类[14]。然而,在MRI中存在多种伪影,如部分容积、随机场噪声、强度不均匀性、梯度、运动、环绕、吉布斯振铃、磁化性等[15]。此外,相比于CT图像,MRI的获取需要相当长的时间,且通常条件下很难得到统一的图像质量。
     

    CT图像

    医学CT成像设备使用X射线(一种电磁波)得到人体的结构和功能信息。CT影像是基于X射线吸收剖面的重构图像,由于不同物质和组织吸收X射线能力不同,因此X射线可用于诊断[16]。CT成像作为当前多类疾病实体诊断的金标准,广泛应用于大脑、肝脏、胸部、腹部、骨盆、脊柱等身体部位以及CT血管造影的早期诊断筛查[17]。但是与MR图像相比较,CT图像敏感性和特异性相对较差。

    CT成像中的伪影[18]包括:部分容积效应、条形伪影、运动伪影、束硬化伪影、环状伪影、金属伪影等。由于这些伪影的存在给CT图像分割带来了一定的难度,不同组织部位分割精度也不一样[19]。
     

     医学图像分割的特点
    医学图像分割是医学图像处理与分析领域的复杂而关键的步骤,其目的是将医学图像中具有某些特殊含义的部分分割出来,并提取相关特征,为临床诊疗和病理学研究提供可靠的依据,辅助医生做出更为准确的诊断[20]。图像分割过程是把图像分割成多个区域,这些区域内部有类似的性质,如灰度、颜色、纹理、亮度、对比度等。医学图像分割的目标是(以放射治疗为例)[21]:(1)研究解剖结构;(2)识别感兴趣区域(即定位肿瘤、病变和其他异常组织);(3)测量组织体积;(4)观察肿瘤生长或治疗中肿瘤体积的减少,为治疗前的计划和治疗中提供帮助;(5)辐射剂量计算。

    从医学图像中自动分割出目标是个艰巨的任务,因为医学图像具有较高的复杂性且缺少简单的线性特征;此外分割结果的准确率还受到部分容积效应、灰度不均匀性、伪影、不同软组织间灰度的接近性等因素的影响[22]。针对通常采用的校正技术来说,可以将MR和CT图像中的伪影分类为[23]:(1)需要适当的滤波算法处理的伪影,如噪声伪影、敏感性伪影、存在非清晰边缘的伪影;(2)需要适当图像修复算法的伪影,如运动伪影;(3)需要特定算法的伪影,如部分容积和灰度不均匀性。图像处理领域尽管在已存在很多算法处理上述问题,但是医学图像分割仍然是个复杂和具有挑战性的问题。从医学图像处理过程的角度来看,基于灰度和基于纹理特征技术的分类是常规的分类方式[24]。此外,用机器学习的工具去优化这些图像分割算法是当前较受关注的技术[25].

    CT和MR图像的分割主要涉及3个相关问题:变化的噪声、像素灰度分类的不确定性及灰度的非均衡性[26]。图像中单一组织的灰度水平一般是逐渐变化的,且其概率密度服从特定的分布函数,该组织对应的图像区域包含有限的像素(或体素)且满足部分容积平均,然而该区域中的单个像素(或体素)的灰度不与任何一类一致,往往被看作混合组织类[28]。

    CT和MR图像分割常用的一些方法有:基于阈值[29]、基于区域[30]、基于形变模型[31]、基于模糊[32]及基于神经网络[34]。

    当前,基于深度学习的方法已在图像分割领域取得了显著成就,其分割准确率已超过了传统分割方法。本文在对近几年深度学习和医学图像分割文献研习的基础上,对深度学习方法和常用的图像分割算法进行了深入的研究和比较,总结了各种深度学习方法的优缺点及其在医学图像分割领域的应用,最后展望了深度学习在医学图像分割领域的未来发展。
     

     

     

    展开全文
  • 医学图像分割技术的发展不仅影响到医学图像处理中其他相关技术的发展,如可视化、三维重建等,而且在生物医学图像的分析中也占有极其重要的地位。近年来,由于深度学习算法在医学图像分割中的应用, 医学图像分割技术...

    (自己写的,需要转载请联系作者,或者标明出处呀,欢迎加微信交流:wx604954)

     

    摘要:医学图像分割是决定医学图像在临床诊疗中能否提供可靠依据的关键问题。医学图像分割技术的发展不仅影响到医学图像处理中其他相关技术的发展,如可视化、三维重建等,而且在生物医学图像的分析中也占有极其重要的地位。近年来,由于深度学习算法在医学图像分割中的应用, 医学图像分割技术取得了显著的进展。在本文中,我们讨论了用于医学图像分割最先进的深度学习架构及其优化。在最后一节中,我们讨论了深度学习算法在医学图像分割领域的未来发展及面临的挑战。

     

    关键词: 深度学习;卷积神经网络;图像分割;医学图像

     

    0引言

    随着医学影像学设备的快速发展和普及,成像技术包括磁共振成像(MR)、计算机断层扫描(CT)、超声、正电子发射断层扫描(PET)等,成为医疗机构开展疾病诊断、手术计划制定、预后评估、随访不可或缺的设备。全世界每天都产生大量的医学影像学信息,有报道显示全世界医学影像信息量占全世界信息总量的1/5以上[1]。医学图像处理是分析医学图像的首要步骤,有助于使图像更加直观、清晰,提高诊断效率,因此国内外都十分重视医学影像处理[2]。图像分割是图像处理的重要环节,也是难点,是制约三维重建等技术应用的瓶颈性问题[3]。近年来,由于深度学习方法的迅速发展,基于深度学习的图像分割算法在医学图像分割领域取得了显著的成就。

    深度学习是机器学习领域中一系列试图使用多重非线性变换对数据进行多层抽象的算法,不仅学习输入和输出之间的非线性映射,还学习输入数据向量的隐藏结构[4],以用来对新的样本进行智能识别或预测。20世纪80年代末期,用于人工神经网络的反向传播算法的发明掀起了基于统计模型的机器学习热潮[5],20世纪90年代,浅层学习掀起机器学习的第一次浪潮[6],这些浅层结构虽然相比于过去基于人工规则的系统展现了很大的优越性,但对于处理复杂的问题,表现出特征学习能力不足、维数灾难、易陷入局部最优等缺点[7]。针对上述问题,2006年,Hinton在《Science》上首次提出“深度学习”并掀起了机器学习的第二次浪潮[8],多隐层的网络具有优异的特征学习能力,学习到的特征对数据有更本质的刻画。深度学习在医学图像分割方面的突破对于医学领域的发展至关重要[9]。

                                                                                                                

    1. 医学图像分割

    医学成像有多种图像模态,诸如MR、CT、PET、超声成像等等。成像可以获得反映二维和三维区域人体的生理和物理特性的图像,本文的内容主要侧重于MR和CT成像的特点和临床应用。二维图像中的每个元素称为像素,三维区域中每个元素称为体素,在某些情形下,可以把三维图像表示为一系列的二维切片进行观察,优点是计算复杂度低且需要的内存较小。

    1.1 MR图像

    磁共振成像(MRI)是无线电成像领域中使用最广泛的技术。作为一种动态且灵活的技术,MRI可以实现多变的图像对比度,该过程的实现是通过使用不同的脉冲序列和改变成像参数对应纵向松弛时间(T1)和横向松弛时间(T2),T1加权和T2加权成像的信号强度与特定组织的特征有关[10]。MR成像中,图像的对比度依赖于相位对比脉冲序列参数,最常见的脉冲序列是T1加权和T2加权自旋回波序列[12]。通过MR成像可以观察大脑、肝脏、胸、腹部和骨盆的结构细节,这有利于诊断检测或治疗[13]。

    MRI对软组织有很好的成像能力;有非常高的分辨率;具有较高的信噪比;利用不同的脉冲序列可以得到对比度多变的多通道图像,进而用于不同解剖结构的目标分割和分类[14]。然而,在MRI中存在多种伪影,如部分容积、随机场噪声、强度不均匀性、梯度、运动、环绕、吉布斯振铃、磁化性等[15]。此外,相比于CT图像,MRI的获取需要相当长的时间,且通常条件下很难得到统一的图像质量。

    1.2 CT图像

    医学CT成像设备使用X射线(一种电磁波)得到人体的结构和功能信息。CT影像是基于X射线吸收剖面的重构图像,由于不同物质和组织吸收X射线能力不同,因此X射线可用于诊断[16]。CT成像作为当前多类疾病实体诊断的金标准,广泛应用于大脑、肝脏、胸部、腹部、骨盆、脊柱等身体部位以及CT血管造影的早期诊断筛查[17]。但是与MR图像相比较,CT图像敏感性和特异性相对较差。

    CT成像中的伪影[18]包括:部分容积效应、条形伪影、运动伪影、束硬化伪影、环状伪影、金属伪影等。由于这些伪影的存在给CT图像分割带来了一定的难度,不同组织部位分割精度也不一样[19]。

    1.3 医学图像分割的特点

    医学图像分割是医学图像处理与分析领域的复杂而关键的步骤,其目的是将医学图像中具有某些特殊含义的部分分割出来,并提取相关特征,为临床诊疗和病理学研究提供可靠的依据,辅助医生做出更为准确的诊断[20]。图像分割过程是把图像分割成多个区域,这些区域内部有类似的性质,如灰度、颜色、纹理、亮度、对比度等。医学图像分割的目标是(以放射治疗为例)[21]:(1)研究解剖结构;(2)识别感兴趣区域(即定位肿瘤、病变和其他异常组织);(3)测量组织体积;(4)观察肿瘤生长或治疗中肿瘤体积的减少,为治疗前的计划和治疗中提供帮助;(5)辐射剂量计算。

    从医学图像中自动分割出目标是个艰巨的任务,因为医学图像具有较高的复杂性且缺少简单的线性特征;此外分割结果的准确率还受到部分容积效应、灰度不均匀性、伪影、不同软组织间灰度的接近性等因素的影响[22]。针对通常采用的校正技术来说,可以将MR和CT图像中的伪影分类为[23]:(1)需要适当的滤波算法处理的伪影,如噪声伪影、敏感性伪影、存在非清晰边缘的伪影;(2)需要适当图像修复算法的伪影,如运动伪影;(3)需要特定算法的伪影,如部分容积和灰度不均匀性。图像处理领域尽管在已存在很多算法处理上述问题,但是医学图像分割仍然是个复杂和具有挑战性的问题。从医学图像处理过程的角度来看,基于灰度和基于纹理特征技术的分类是常规的分类方式[24]。此外,用机器学习的工具去优化这些图像分割算法是当前较受关注的技术[25].

    CT和MR图像的分割主要涉及3个相关问题:变化的噪声、像素灰度分类的不确定性及灰度的非均衡性[26]。图像中单一组织的灰度水平一般是逐渐变化的,且其概率密度服从特定的分布函数,该组织对应的图像区域包含有限的像素(或体素)且满足部分容积平均,然而该区域中的单个像素(或体素)的灰度不与任何一类一致,往往被看作混合组织类[28]。

    CT和MR图像分割常用的一些方法有:基于阈值[29]、基于区域[30]、基于形变模型[31]、基于模糊[32]及基于神经网络[34]。

    当前,基于深度学习的方法已在图像分割领域取得了显著成就,其分割准确率已超过了传统分割方法。本文在对近几年深度学习和医学图像分割文献研习的基础上,对深度学习方法和常用的图像分割算法进行了深入的研究和比较,总结了各种深度学习方法的优缺点及其在医学图像分割领域的应用,最后展望了深度学习在医学图像分割领域的未来发展。

     

    2. 深度学习

    2.1 深度学习与图像处理

    传统的图像处理技术主要包括特征提取和分类器两部分,特征提取算法的设计复杂性与应用局限性、稳定性,以及特定的特征提取算法与特定的分类器相结合的多样性限制着图像处理技术的发展[36]。神经网络的出现,使端到端的图像处理成为可能,当网络的隐藏层发展到多层时便称之为深度学习,但同时需要用逐层初始化技术解决深层次网络训练难度大的问题,之后深度学习便成为时代的主角[37]。而卷积神经网络(Convolutional Neural Network,CNN)便是深度学习与图像处理技术相结合所产生的经典模型,实现该模型的网络实例在特定的图像问题处理上都卓有成效[38]。

    神经网络之所以能和图像领域相结合,并呈现巨大的发展前景,是有生物学依据的。人类视觉信息处理机制的发现,是 19 世纪 19 年代生物学界的重大发现之一,它证明了大脑可视皮层是分级存在的。人的视觉系统是一个反复抽象和迭代的过程。而卷积神经网络,就模拟了这个过程。首先,每一个卷积层,便是将具体信息做抽象的过程,而多个卷积层串联操作,便是将上一层的抽象结果再做抽象处理的过程,称之为迭代[39]。在这个抽象迭代的过程中,不断抽取大脑可感知的高维度特征。如当一幅图像经过视网膜进入视野,首先会将光线像素等信息抽象为图像边缘信息,然后再抽象为目标物体的某一部位,再抽象为物体轮廓形成对整个目标的感知[41]。

    2.2 卷积神经网络

    卷积神经网络(CNN)是一种多阶段的、全局可训练的人工神经网络模型,可以经过少量预处理,从原始数据中学习到抽象的、本质的、深层的特征[42]。在CNN中,每一层的数据都是大小为h×w×d的三维数组,其中h、w是空间维度,d是特征维数或通道维数。在图像处理领域,h×w代表图像尺寸,d代表颜色通道。CNN高层中的每一点对应于图像中的一块区域,称为局部感受野。

    CNN运行于局部输入区域的基本操作包括卷积(Convolution)、激活函数(Rectified Linear Units, ReLu)和池化(Pooling),这些操作仅依赖于相关的空间坐标[43]。记 为某层上坐标 的数据向量,下一层中坐标为 的数据向量为 , 可由以下公式计算:  

    (2-2)

    式中: 为卷积核的大小,s为步长或降采样系数,  决定层的类型:矩阵相乘对应卷积层或者平均池化层;空间域最大值对应最大池化层;非线性函数对应激活函数层。

    (1)卷积

    研究表明,自然图像某一部分的统计特性与其他部分统计特性相同,因此CNN网络在图像某一部分学习到的特征也能用在图像其他部分上[44]。在CNN网络对一张图像进行卷积运算时,对于图像上的所有位置可以采用相同的卷积核进行卷积运算。在卷积层,卷积核与前一层得到的特征图进行卷积,卷积操作的计算公式如下:

               (2-3)

    式中, 为 的邻域.

    (2)激活函数

    卷积神经网络中每一层的特征图经常与前一层的多个特征图有关,是前一层特征图的卷积结果经过激活函数后得到的。CNN网络中常用的激活函数有ReLu函数、Sigmoid函数和双曲正切函数,其计算公式如下:

    (3)池化

    在CNN网络完成卷积特征提取之后,把每个隐藏单元提取到的特征看作成一个矩阵,并将该矩阵上划分成几个不重叠的区域,计算划分后的每个区域内特征的平均值或最大值,然后用计算得到的平均值或最大值进行后续的训练,这个过程就是池化。上述采用均值和最大值计算区域特征的池化方法分别称为均值池化和最大值池化。

    2.3卷积神经网络在图像分割领域的应用

    卷积神经网络自从在手写字体识别领域获得巨大突破后[45],逐渐开始应用在图像处理领域中。CNN网络在ImageNet比赛中的杰出表现[46]表明其在图像特征提取、图像分类等图像处理领域拥有巨大的潜能。目前,CNN网络已广泛应用于医学图像分割中。

    Wu, Xundong等人[47]提出了基于迭代的卷积神经网络的细胞膜分割方法,通过在细胞膜检测概率图上迭代使用卷积神经网络算法,细胞膜分割精度有了一定的提升。曹贵宝等人[48]提出了用卷积神经网络和随机森林分类器相结合的方法实现了对神经细胞图像的分割,用随机森林分类器代替了传统的softmax分类器,实验中分别训练卷积神经网络模型和分类器模型,并用其学习到的特征训练随机森林分类器,最后完成电子显微图像的神经细胞膜的分割。实验结果的分割准确度明显高于传统的分割算法SVM,而且用随机森林做分类器比用传统的softmax做分类器效果也要好一些。

    CERNAZANUGLAVAN等人[49]提出使用卷积神经网络分割X射线图像中的骨骼结构,通过使用四种不同的卷积神经网络提取骨骼X射线图像的图像特征,并将提取到的图像特征用softmax分类器进行分类,从而实现骨骼结构的分割。实验通过对比表明,第四种网络卷积神经网络结构的分割准确率更高。

    Su, Hai 等人[50]提出了一种快速扫描卷积神经网络的方法,用于乳腺磁共振图像的分割。与传统卷积神经网络结构不同,该文献在卷积层采用卷积核去卷积整张图像或者上一卷积层提取到的特征图,并重新排列最大池化层,从而减少冗余计算。实验表明,该文献提出的基于快速扫描卷积神经网络的分割方法大大提高的图像分割速度,并保证了分割精度的不变,对乳腺癌实时诊断提出了技术支持。

    卷积神经网络在进行图像分割操作时,因其具有优良的特征提取能力和良好的特征表达能力,不需要人工提取图像特征或对图像进行过多预处理,因此近年来CNN网络在医学影像(MRI、CT、X射线等)分割领域以及辅助诊断方面取得了巨大成功[51]。

     

    3深度学习在医学图像分割中的应用

    3.1FCN

    传统的基于卷积神经网络的分割方法的做法通常是:为了对一个像素分类,使用该像素周围的一个图像块作为卷积神经网络的输入用于训练和预测。这种方法有几个缺点:一是存储开销很大。例如对每个像素使用的图像块的大小为15x15,则所需的存储空间为原来图像的225倍。二是计算效率低下。相邻的像素块基本上是重复的,针对每个像素块逐个计算卷积,这种计算也有很大程度上的重复。三是像素块大小的限制了感知区域的大小。通常像素块的大小比整幅图像的大小小很多,只能提取一些局部的特征,从而导致分类的性能受到限制。

    针对以上问题, Long Jonathan等人[52]2015年提出全卷积网络(FullyConvolutional Networks, FCN)结构。FCN可以对图像进行像素级的分类,从而解决了语义级别的图像分割问题。与经典的卷积神经网络在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax 输出)不同,全卷积网络可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的特征图进行上采样, 使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类,完成最终的图像分割。FCN的网络结构如图 1 所示。

    图1  FCN网络结构

     

    在FCN网络结构的基础上,Korez 等人[53]提出了3D FCN网络结构,并将3D FCN网络分割出的脊椎结构用形变模型算法进行优化,进一步提高了脊柱MR图像的分割准确率。Zhou等人[54]将FCN算法和多数投票算法相结合,在人体躯干CT图像中分割出了19个目标。在网络训练过程中,将经过每一个像素点的矢状面、轴状面、冠状面的CT图像分别输入至2D FCN网络进行训练,并用3D Majority Voting算法对三幅图像的分割结果进行表决,得到最后的分割结果。Moeskops等人[55]采用脑部MRI、心肌MRI和冠状动脉在心脏CT血管造影(CTA)中的冠状动脉图像同时训练一个FCN网络,使得训练好的网络可同时用于这三类目标的分割。

    FCN在对图像进行分割时,上采样层将特征恢复到原图像的大小,此过程会导致像素定位不精确,从而影响分割结果的准确性。为了解决这一问题,许多研究者采用MRF算法[56]或CRF算法[58]对FCN输出的分割结果进行改进,进一步优化分割结果。

     

    3.2U-net

    2015年,OlafRonneberger等人[64]提出了U-net网络结构,U-net是基于FCN的一种语义分割网络,适用于做医学图像的分割。

    U-net网络结构与FCN网络结构相似,也是分为下采样阶段和上采样阶段,网络结构中只有卷积层和池化层,没有全连接层,网络中较浅的高分辨率层用来解决像素定位的问题,较深的层用来解决像素分类的问题,从而可以实现图像语义级别的分割。与FCN网络不同的是,U-net的上采样阶段与下采样阶段采用了相同数量层次的卷积操作,且使用skip connection结构将下采样层与上采样层相连,使得下采样层提取到的特征可以直接传递到上采样层,这使得U-net网络的像素定位更加准确,分割精度更高。此外,在训练过程中,U-net只需要一次训练,FCN为达到较精确的FCN-8s结构需要三次训练,故U-net网络的训练效率也高于FCN网络。

    U-net网络结构如图2所示, 蓝色箭头代表卷积和激活函数, 灰色箭头代表复制剪切操作, 红色箭头代表下采样, 绿色箭头代表反卷积,conv 1X1代表卷积核为1X1的卷积操作。从图中可以看出,U-net网络没有全连接层,只有卷积和下采样。U-net可以对图像进行端到端的分割,即输入是一幅图像, 输出也是一幅图像。

    图2  U-net网络结构

     

    U-net网络提出后,在医学图像分割领域表现优秀,许多研究者均采用U-net网络结构做医学图像分割,并在U-net网络结构基础上提出改进。Çiçek等人[65]提出3D U-net网络结构,该结构通过输入3D图像连续的2D切片序列实现3D图像分割。Milletari等人[66]提出了U-net网络结构的一种3D变形结构V-net,V-net结构使用Dice系数损失函数代替传统的交叉熵损失函数,且使用3D卷积核对图像进行卷积,通过1x1x1的卷积核减少通道维数。Drozdzal等人[67]提出在U-net网络结构中不仅可以使用长跳跃连接结构,也可以使用短跳跃连接结构。

    在病灶分割任务中,深度学习算法需要完成目标识别、器官分割和组织分割等多项任务,因此分割过程中应结合图像的全局信息和局部信息来实现病灶的准确分割,Kamnitsas等人[68]和Ghafoorian等人[69]都提出使用多尺度卷积来提取图像全局信息和局部信息。此外,Wang等人[70]提出一种伤口图像分析系统,先用U-net网络对伤口图像进行分割,再用SVM分类器对分割出的伤口图像进行分类,判断伤口是否感染,最后用GP回归算法对伤口愈合时间进行预测。Brosch等人[71]使用U-net网络对脑部MRI中的脑白质病灶进行分割,并在U-net网络的第一层卷积和最后一层反卷积之间加入跳跃连接结构,使得该网络结构在训练数据较少的情况下仍得到了很好的分割结果。

     

    3.3RNN

    循环神经网络(Recurrent Neural Networks,RNN)是为离散序列分析而开发的,已经在众多自然语言处理(Natural Language Processing,NLP)中取得了巨大成功以及广泛应用[72]。传统的神经网络假定不同输入和输出之间是相互独立的,网络中不存在反馈连接,而RNN网络结构中至少包含一个反馈连接(自循环),即假定当前输出不仅与当前输入有关,也与先前输出有关,所以RNN适合于解决时间处理和顺序学习问题[73]。

    在实际训练过程中,梯度消失的问题使得传统RNN在实际中很难处理长期依赖[75],而长短期记忆网络(Long ShortTerm Memory,LSTM)作为一种 RNN 的特殊类型,则绕开了这些问题,可以从学习到长期依赖关系。LSTM 由Hochreiter等人[76]提出,并在近期被Alex Graves[77]进行了改良和推广。Cho 等人[78]提出在LSTM网络结构中加入门控复发单元,可对LSTM网络结构进行简化。在很多实际问题中,LSTM 都取得相当巨大的成功,并得到了广泛的使用。

    虽然RNN在最初提出时,网络输入为一维向量,但在近几年的应用中,RNNs越来越多地应用于图像处理。在自然图像中,像素级的RNN被用作自回归模型,生成模型最终可以产生类似于训练集样本的新图像。

    对于医疗应用而言,RNN可用于医学图像分割问题。 Stollenga等人[79]首次在六个方向上使用3D LSTM-RNN对脑部MR图像进行分割,用金字塔方式重新排列MD-LSTM中传统的长方体计算顺序,使得网络可以在GPU上并行训练,大大提高了网络训练效率,并在MRBrainS挑战中取得了很好的分割结果。Andermatt等人[80]使用带有门控单元的3D RNN网络分割脑MR图像中的灰质和白质,结合数据预处理和后处理操作,进一步提高了分割准确率。Chen等人[81]提出了一个基于FCN和RNN的三维图像分割新框架,这是第一个明确利用3D图像各向异性的DL分割框架。使用来自ISBI神经元结构分割挑战的数据集和3D真菌图像进行评估,他们的方法比已知的基于DL的3D分割方法在分割准确率上更胜一筹。Poudel等人[82]提出了循环全卷积网络(RFCN),将解剖学检测和图像分割将结合,形成一个端到端的网络结构,从而大大缩短了计算时间,简化了分割流水线,并为实时应用提供了可能。

     

    4未来发展方向

    4.1加强领域间合作

    随着计算机视觉及人工智能领域的发展,医学图像分割的准确率不断上升,为医学诊断提供了极大的帮助。然而,由于人工智能科学家不了解临床需求,临床医生不了解人工智能具体技术,导致人工智能不能很好地满足临床具体需求[83]。为了促进人工智能在医学领域的应用,应加强临床医生与机器学习科学家的广泛合作。这种合作将解决机器学习研究人员无法获得医学数据的问题,也可以帮助机器学习研究者开发出更符合临床需求的深度学习算法,应用到计算机辅助诊断设备中,从而提高诊断效率和准确率。

    4.2医学影像数据共享

    深度学习算法的训练需要大量的数据集支持,然而,与自然图像相比,带注释的医学图像相对稀缺,且标注成本较高。由于医学领域的敏感性和特殊性,医学数据的注释需要大量专家手动完成,这需要投入大量的人力物力,然而即使在这种情况下,由于病例的复杂性和图像本身模糊等原因,也不能保证标注的完全准确[84]。为了克服这一问题,需要不同医疗服务者共享数据资源,或建立医学影像知识库,为人工智能研究者们提供更多的数据支持。

    4.3深度学习技术的进步

    目前,大多数医学图像分割采用的是有监督的深度学习算法,然而,针对某些缺乏大量数据支持的罕见疾病,有监督的深度学习算法便无法发挥其性能。为了克服数据缺乏或数据不可用的问题,对于深度学习算法的研究可以从有监督领域转移到半监督或无监督领域[85]。如何在医疗领域有效地使用半监督和无监督算法,同时又不影响医疗系统的准确性,这是目前很多研究者正在研究的一个问题,但却没有提供被临床接纳的解决方案,这将是一个需要被继续研究的方向。

     

    5 总结

    深度学习算法在医学图像处理领域具有重要的理论意义和实际应用价值。本文从医学图像分割的基本概念出发,详细阐述了不同医学影像的特点以及分割难点。然后介绍了深度学习的基本原理及适用于进行图像处理的卷积神经网络算法,并详细介绍了FCN、U-net、RNN三种网络结构和它们在医学图像分割领域的应用。最后从加强领域间交流合作、医学影像数据共享、深度学习技术的进步这三个方面对深度学习技术在医学图像处理领域的未来发展进行展望。深度学习算法的发展必然会对医学图像分割的发展起到积极的促进作用。

    总之,借助大数据的潮流,结合人工智能自身潜力,争取深度学习算法在医学领域取得更大的进步并早日实现智能医疗的初衷。

     

     

     

    参考文献

     

     

    展开全文
  • 基于深度学习医学图像分割模型研究_曹祺炜 1.基于改进的3D-FCN+CRF以及MS-CapsNetGAN实现脑肿瘤图像分割 图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类,不同颜色代表不同类别。图像分割...
  • 在这篇文章中,我们追溯了3D CNN的发展历史,从它的机器学习的根源,简单的数学描述3D CNN和医学图像在输入到3D CNNs之前的预处理步骤。我们回顾了在不同医学领域,如分类、分割、检测和定位,使用三维CNNs(及其变体...
  • 这几天看了些有关医学图像处理的网络,大概整理了一些,仅供自己学习积累 医学影像的特点: 1、图像语身的。由于器官本身结构固定和语义信息没有特别丰富,所以高级语义信息和低级特征都显得很重要(UNet的skip ...
  • 例如如果对图像的颜色没有识别要求,为了训练和计算方便采用的降维处理是将其灰化处理,然后使用分割算法将其不同的形态结构分离,该过程包含先将其腐蚀再膨胀然后过滤(一般情况中值滤波能去...
  • 例如如果对图像的颜色没有识别要求,为了训练和计算方便采用的降维处理是将其灰化处理,然后使用分割算法将其不同的形态结构分离,该过程包含先将其腐蚀再膨胀然后过滤(一般情况中值滤波能去掉白色噪...
  • 本文由图普科技编译自《Medical Image Analysis with Deep Learning 》, 在系列的第一篇文章中,我们介绍了一些使用OpenCV和DICOM图像基础知识进行图像处理的过程。在系列的第二篇文章中,我们将从“卷积神经网络”...
  • 深度学习医学超声图像分析中的应用综述关键词摘要1.引言2. 常用深度学习结构2.3 模型训练的困难及其应对策略3. 深度学习医学超声图像分析中的应用3.1 分类3.2 检测3.3 分割3.4 3D 超声图像分析4. 结论 关键词 ...
  • 没想到我的一篇深度学习做配准入门级的综述,竟然炸出来了这么多配准小白,甚是惊讶!我相信大家的初衷是一样的,都是为了交流学习配准而来。配准是个复杂的问题,刚开始接触这个,我也很迷茫,不知道从何下手,不...
1 2 3 4 5 ... 20
收藏数 8,006
精华内容 3,202