2019-09-25 14:15:54 chens3333 阅读数 258

深度医疗是笔者基于深度学习的医学项目应用开发实践,经过整理输出了文档和本系列课程,希望通过分享可以和大家共同讨论、相互学习,探索更好的解决方案。笔者是一名普通的大数据和人工智能领域从业者,过程中如有错误和理解不到位的地方请广大同仁不吝赐教。笔者一直坚信深度学习和医学的有机结合一定能碰撞出性能强大的深度医疗系统,服务大众。

深度医疗(4) - 眼底毛细血管分割

本文主要介绍了通过深度学习进行眼底毛细血管分割的应用,首先简单介绍了眼底病变医学背景和相关知识,接着介绍了公开的眼底毛细血管数据集,最后介绍了神经网络的实现方式和处理后的效果以及性能分析,其中涉及到了PSP网络的图像分割问题。

1.概述

背景

我们的眼球底部布满了丰富的毛细血管,在平时用眼过程中可能会出现毛细血管出血的症状,而造成这个现象的有多种眼底血管疾病,比如糖尿病性视网膜病变、视网膜静脉阻塞、高血压性视网膜病变、高度近视性视网膜病变等等。

大部分人眼底出血可能是由于劳累、外部挤压等造成,如果出血量不大可以不用处理,会自行缓解,但如果出血量大,同时难于康复,就需要进一步进行诊断,情况严重的需要进行手术,所以该诊断对于整个疾病的治疗和康复非常的重要。

眼底病变

很多眼部疾病需要通过眼球的毛细血管状况来进行判别

在这里插入图片描述

2.数据集

数据集包含两类图片,一类是原始的眼底医学图片;另外一类是蒙版图片,也就是我们需要的label文件。两类图片的尺寸相同,当把两张图片叠加在一起的时候血管的分布完全重合,这样便于进行对齐分割。

原始图片是.tif格式,标签文件是.png格式,图片分辨率均为720 X 720;训练图片有20张,测试图片也有20张,其中训练集包含了原始图片和标签图片,测试集只有原始图片。

在这里插入图片描述

下载地址1
下载地址2

4.神经网络结构

神经网络采用了PSPnet作为图像分割的网络。

在这里插入图片描述

因为蒙版(标签文件)是黑白图像,所以这里的分割我们认为是有两个类别组成的:1-黑色、0-白色

在这里插入图片描述

网络结构

在这里插入图片描述

5.结果分析和系统优化

误差收敛曲线

在这里插入图片描述

精度曲线

在这里插入图片描述

6.预测结果比对

左边为蒙版(标签)文件,右边为预测输出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.存在的问题和后续优化方案

  1. 神经网络的输出图片分辨率较低,目前是180x180,精细度是不够的,原始图片的分辨率是720x720,相当于压缩了4倍,可以理解为原始的一个4x4的矩阵被压缩成了一个点,细节损失了16倍,这个对精准度存在比较大影响;但如果提高输出分辨率,资源占用会呈指数增长,这里如果把180修改成720,系统资源要求提高16倍,我们如果把前面的网路改成5个大的ResNet结构的话,内存或者显存要求是10G左右,16倍相当于要求160G内存和显存;
  2. 目前的训练集比较少,在这样的情况下精度的提高存在一定的瓶颈,可以通过翻转、裁剪等方式来增加训练集的精度,但提高的精度也是比较有限的,应该不会超过1%;
  3. 训练会不会出现过拟合,需不需要加入dropout,仔细看前面的网络结构会发现,这个网络都是通过cnn作为最小模块来实现的,cnn有个特点,每个channel的滤波器是一样的,都是通过这个滤波器来处理当前channel的所有像素信息,所以整个神经网络的系数并不像加入全连接层那样计算复杂度很高,而且在最后一层需要把所有特征进行加权计算,所以这里不需要加入dropout,如果加入了dropout反而会破坏整个系统性能;
2018-11-27 13:43:40 chens3333 阅读数 8037

深度医疗是笔者基于深度学习的医学项目应用开发实践,经过整理输出了文档和本系列课程,希望通过分享可以和大家共同讨论、相互学习,探索更好的解决方案。笔者是一名普通的大数据和人工智能领域从业者,过程中如有错误和理解不到位的地方请广大同仁不吝赐教。笔者一直坚信深度学习和医学的有机结合一定能碰撞出性能强大的深度医疗系统,服务大众。

视频教程:深度医疗(1) - 心电图特征识别

本文主要介绍了通过深度学习进行心电图特征识别的应用,首先简单介绍了心电图医学背景和相关知识,接着介绍了目前能获得的公开的心电图数据集,最后介绍了神经网络的实现方式和处理后的效果以及性能分析。

1.什么是心电图

心脏在收缩跳动过程,心肌内的电流产生在前,心肌机械性收缩在后,应用心电图机以图形形式记录这些心肌电流的变化就叫做心电图。大家对心电图应该都有直观的印象,我们去医院体检一般都有这项功能的检测。通过传感器的连接检测,会在终端打印出一张如下面所示的图,这个就是记录心脏整个生理周期过程的心电图。
在这里插入图片描述
心电图每一个横格代表时间为0.04秒,每一个纵格代表电压为0.1毫伏;1个大格=5个小格=0.04秒x5=0.2秒。所以可以得到下面的对应关系,这样就可以简单的通过纸上坐标快速得出心律的跳动次数。
在这里插入图片描述
心电图传感器不同的连接方式对应不同的导联方式,主要分为下列两种

肢体导联方式:

在这里插入图片描述
标准导联Ⅰ:左上肢接正极,右上肢接负极
标准导联Ⅱ:左下肢接正极,右上肢接负极
标准导联Ⅲ:左下肢接正极,左上肢接负极
aVR导联:右手接正极,负极接中心电端
aVL导联:左手接正极,负极接中心电端
aVF导联:左下肢接正极,负极接中心电端

胸导联方式:

在这里插入图片描述

2.心电图产生原理

当心肌细胞一端的细胞膜受到一定程度的刺激时,其对钾、钠、氯、钙等离子的通透性发生改变,引起细胞膜内、外和正、负离子的流动(主要是钠离子的内流),使细胞膜内外正、负离子的分布发生逆转,受刺激部位的细胞膜出现除极化,使膜外侧具负电荷而膜内侧具正电荷,产生动作电位使心脏产生收缩运动。
在这里插入图片描述
这样周而复始,一个周期一个周期持续下去就行成了有规律的心电图波形,也称为P-QRS-T波。
在这里插入图片描述
P-QRS-T波的形成
心电活动始于窦房结,并从此发出冲动,循此特殊传导系统的通道下传,先后兴奋心房和心室,使心脏收缩,执行泵血功能。这种先后有序的电兴奋的传播,将引起一系列的电位改变,形成心电图上相应的波形。
在这里插入图片描述

3.数据集介绍

我们采用的数据集是MIT-BIH Arrhythmia Database(心律失常数据库)它是由Massachusetts Institute of Technology - 麻省理工学院和Beth Israel Hospital – 美国麻萨诸塞州波士顿Beth Israel医院一起联合创建的。
在这里插入图片描述
数据集中包含48 条充分标注的2导联ECG数据,每条数据时长为30分钟,其中标注的数据是按每个心电图周期进行标记的,也就是说每个周期的P-QRS-T波形都进行了标准,标注非常的详细,同时提供了对应的label标签文件,标注的信息可以从label标签文件中找到对应的信息。标注的信息可以从label标签文件中找到对应的信息 可以通过按图中的选择进行数据集的查看,做得非常的详细。

数据的下载地址
在这里插入图片描述
每条数据包含都.atr注释文件,.dat数据文件,.hea头文件
头文件主要包含一些基础、单位信息
在这里插入图片描述
注释文件记录了心电专家对相应的心电信号做出诊断信息
在这里插入图片描述
数据文件包含了心电图的波形数据,存储格式是头文件中的212格式(针对两个信号的数据记录,两个信号交替存储,每三个字节存储两个数据)

官方提供了PhysioBank ATM可视化网站,可进行在线查看,非常方便
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.神经网络

因为心电图是周期性的波形数据,神经网络通过了两种方式进行处理,包含一个周期波形的数据通过single pattern模式进行处理,包含多个周期波形的数据通过multiple pattern模式处理。为什么这么做是因为single pattern模式下只包含一个周期的波形,我们简单的认为在一个周期波形下只包含一种病变信息,也就是说简单的认为它只包含一个判决结果,而multiple pattern模式中多个波形有可能就会包含多种病变信息,也就是多分类问题了(这里的single pattern也有可能一个波形对应几个病变信息,为了把问题简单化同时阐述得更清楚,这里就认为single pattern模式只包含一种判别结果)

基于single pattern模式

为了能完整的包含一个P-QRS-T波,所以数据两头多引入了半个波形。模型中用到了三层ResNet和一层全连接层,这个模型并不见得好,在这里只是为了抛砖迎玉,大家在实际开发中可以进行测试和架构的优化来提高性能。
在这里插入图片描述

神经网络结构

在这里插入图片描述

multiple pattern模式

输入数据包含几个周期波形,所以该情况下就会出现某个波形数据下包含一个以上特征,意味着softmax输出不是一种特征输出,而是会出现几种可能并列出现的情况,这个时候前面single pattern的神经网络就不能处理这种情况;
这里也以一个稍微简单的情况进行讲解,假设一个波形最多包含2种特征(最少也有一种,正常或者其他病理),这种情况下我们采用两个并行的网络进行处理,一个网络判别波形的一半label,另一个网络判别波形的另外一半label,完成鉴别后合并这些特征就能进行多特征判别。
在这里插入图片描述

神经网络结构

在这里插入图片描述

误差收敛曲线

在这里插入图片描述

5.存在的问题和优化方案

1)实际项目中输入数据不是.dat文件,可能是图片数据,这个时候需要通过调整CNN的滤波器维度来进行匹配,例如系统中现在用的是1x3的滤波器,图片处理时,由于是二维数据,所以需要变换成3x3的滤波器;
2)通过其他网络结构进行优化,例如可以考虑引入dense net或在multiple pattern下把并行的一个网络完成dense net;
3)在特定场景下可以考虑RNN网络的引入;

6.彩蛋

在心电图识别这个领域有一个每年都举办的比赛,大家有兴趣可以去参加。
心电图比赛
下面是2017年比赛的结果
在这里插入图片描述

2019-04-10 10:56:07 chens3333 阅读数 1009

深度医疗是笔者基于深度学习的医学项目应用开发实践,经过整理输出了文档和本系列课程,希望通过分享可以和大家共同讨论、相互学习,探索更好的解决方案。笔者是一名普通的大数据和人工智能领域从业者,过程中如有错误和理解不到位的地方请广大同仁不吝赐教。笔者一直坚信深度学习和医学的有机结合一定能碰撞出性能强大的深度医疗系统,服务大众。

深度医疗(3) - 肺部病变诊断识别

本文主要介绍了通过深度学习进行肺部病变识别的应用,首先简单介绍了影像学医学背景和相关知识,接着介绍了目前能获得的公开的肺部病变数据集,最后介绍了神经网络的实现方式和处理后的效果以及性能分析,其中涉及到了多特征识别的问题。

1.概述

背景

胸部X射线检查是最常见和最具成本效益的检查之一。医学影像学检查。然而,胸部X射线的临床诊断是具有挑战性的,有时被认为比胸部CT成像更难诊断。

目前有一些很前沿的研究,尤其是最近的深度学习被用于结核病(TB)分类上,实现了临床相关的计算机辅助检测,但在真实世界医学网站上的诊断(CAD)所有的X射线胸部数据仍然是非常困难的。

如何利用医院的知识库,并通过深度学习训练这些宝贵的影像,以建立真正大规模的高精度电脑辅助诊断,是现在一个非常前沿的课题。

影像学

影像学不仅扩大了人体的检查范围,提高了诊断水平,而且可以对某引些疾病进行治疗。这样,就大大地扩展了本学科的工作内容,并成为医疗工作中的重要支柱。自伦琴1895年发现X线以后不久,在医学上,X线就被用于对人体检查,进行疾病诊断,形成了放射诊断学的新学科,并奠定了医学影像学的基础。至今放射诊断学仍是医学影像学中的主要内容,应用非常的普遍。

2.数据集

数据是从美国国立卫生研究院临床中心临床PACS数据库中提取的,其中正前位的胸片占医院所有正前位胸片总数的60%。因此,这个数据集更具代表性。

数据集包括112120张前视图X射线图像,分别对应14个疾病图像标签。

下载地址

其中包括14种常见的肺部病理:肺不张(Atelectasis)、实变(consolidation)、浸润(Infiltration) 、气胸(pneumothorax) 、水肿(edema) 、肺气肿(emphysema) 、纤维化(fibrosis) 、渗出(effusion) 、肺炎(pneumonia) 、胸膜增厚(pleural thickening) 、心肥大(cardiomegaly) 、结节(nodule) 、肿块(mass )、疝气(hernia) 。

在这里插入图片描述

3.数据提取

数据是PNG格式,每个图片大小是1024 * 1024的分辨率;

在这里插入图片描述

其中包括label文件,如图中所示,标注了每个图片文件对应的病症、病人的相关信息和图像的一些基础信息。

在这里插入图片描述

4.神经网络结构

神经网络采用了Dense Net进行处理,主要有三层Dense Net进行级联,每个Dense Net包括4个block,每个block包含batch_norm、relu、cnn、dropout模块,特别要提出的是最后的合并concat不是相加,而是通过连接的方式处理的。

在这里插入图片描述

5.多特征判别

一张Xray的图像有可能包含一张病变,也有可能包含多个病变,例如某个病人只有肺炎一种病,但另外一个病人可能同时有肺气肿和胸膜增厚两种病,甚至有些病人同时患有三种以上的病;这个时候就出现了多特征的判别的问题:

在这里插入图片描述

6.结果分析和系统优化

误差收敛曲线

在这里插入图片描述

精度曲线

在这里插入图片描述

因为一个病人的一张X片可能对应几种病变,这个系统不是单一的分类问题,是一个多分类问题,所以前面采用了sigmoid取代了softMax作为输出的判别,但我们忽略了一个问题,这种多分类问题需要有一个置信区间,因为从原理上来说,神经网络在做预测的时候是不知道这个X片到底对应几个病变的,所以我们需要给一个置信区间,在训练的时候满足这个置信区间。

在这里插入图片描述

7.存在的问题和后续优化方案
  1. 原始图片的分辨率很高(1024x1024),为了提高处理速度,神经网络中reshape成了128x128大小的,相对图像信息损失较大,可以通过修改网络输入的大小把输入图片reshape成分辨率更高,从而来提高系统的精度;

  2. 通过优化网络结构,例如加深dense net或加入其它网络,类似Residual Net进行处理;

  3. 对输入的原始数据进行预处理,通过剪裁、翻转等方式增加训练数据的数据量;

2019-03-02 17:00:25 qq_38847246 阅读数 423

机器学习对于癌症数据的分析应用学习总结

应用背景

      机器学习与医疗数据结合辅助医师诊断应用已然相当广泛。利用机器学习、神经网络、深度学习、logistic回归与随机森林算法等构造诊断预测模型在实验应用过程中都取得了一定的成果。

项目概要

     在本次测试中主要采用深度学习与机器学习中FNN(前馈神经网络)、KNN(K最邻近算法)等常用模型对宫颈癌、肝癌诱发因素相关数据进行训练,最终识别患者是否患病。并将深度学习的预测精确度与机器学习中SVM网络模型训练识别的结果进行对比,分析优劣性。最终将实验结果较好的网络模型投入癌症辅助诊断医疗设备的诊断算法的研发中。

数据说明

     本次实验过程主要采用宫颈癌诱发因素与肝癌诱发因素数据进行训练。数据为csv格式,标签为该患者是否在较短时间内患有癌症。

项目内容

  • 数据预处理
    • 数据归一化,格式转换。将所有数据转换成矩阵形式。
    • 数据清洗,标签对应。去除重复的无用的数据,补齐缺失的数据。
  • 模型相关参数
  • SVM使用多项式核函数、径向基函数等作为核函数
  • FNN(前馈神经网络)使用三层神经元,前两层使用relu函数进行激活,最后一层使用sigmoid函数实现二分类
  • 训练结果
    训练时使用交叉熵验证的方法处理并验证训练结果,对
    宫颈癌患病与否的分析正确率要高于肝癌患病分析的正确率,这与数据本身的完整度和分布特征有一定关系。从总体情况来看,对所有数据分析预测的正确率都能够达到95%以上,在辅助医师判断方面具有一定的可行性。
2016-07-25 11:55:03 Yt7589 阅读数 17568

随着谷歌的AlphaGo战胜韩国棋手李世石之后,深度学习从学术界的热点技术,变为大众热捧的热门技术,成为当前人工智能热潮中,最吸引眼球的技术方向。深度学习也从传统的图像、视频、语音识别领域,向文本处理、自然语言理解、人机对话、情感计算等各方面渗透,形成了如果一个领域如果没有应用深度学习,这个领域就不够先进的观点。虽然医疗领域相对保守,但是医疗界也在第一时间,拥抱深度学习技术,产生了很多意义深远的应用方向。本文将对当前深度学习技术进行梳理,探讨其在医疗领域的应用前景,并重点讨论深度深习在医学诊断方面的应用。

其实深度学习理念,在上世纪六七十年代就有人提出过,但是由于缺乏有效的算法,没有形成规模应用。在上世纪80年代,由于出现了BP算法,多层前馈网络也曾经风靡一时,但是由于误差反向传播(BP)算法,对权值的调整从输出层开始,效果会每层递减,因此训练多层网络速度会变慢,而且多层网络额外增加了很多参数,需要更多的训练样本,而且由于当时计算能力的限制,最终多层前馈网络也没有流行起来。

随着技术的方法和计算能力的增强,以前制约深度学习的条件逐渐得到了解决,尤其是人们意识到,以前的神经网络,需要研究人员对问题进行深入的研究,提取出问题的关键属性,然后才是设计合适的神经网络,然后训练神经网络来解决这个问题。人们发现,在整个过程中,最困难的地方并非神经网络本身,而是抽取所研究问题的特征,这才是制约神经网络应用的核心问题。基于对这个问题的认识,逐渐出现了利用非监督学习网络来获取所研究问题的特征,然后再采用监督学习方式来训练网络,不仅可以使最为费时费力的特征提取来自动化,而且还可以对网络进行预训练,降低网络训练工作量以及所需训练样本。正是因为上述原因,深度学习技术才会在十年前逐渐流行起来。

目前深度学习神经网络已经有成熟应用的算法,主要有以下几种:卷积网络CNN、RNN。其中卷积神经网络主要用于图像处理领域,因为在图像识别过程中,图片中物体在图片中的位置、姿态,都会影响识别的效果,经过卷积操作,可以对图片中的物体进行大小、位置、角度方面的处理,进行归一化,从而提高图片的识别率,例如采用6层卷积网络,对MNIST的6万多张手写数字图片进行识别,识别准确率可以达到98%以上,甚至超过了人工的识别率。而RNN网络,就是将神经元的输出,重新作为输入,从而影响神经网络的最终行为。RNN网络更多应用于语音识别,因为在语音识别中,需要根据前一个单词来判断当前单词,而RNN网络正好可以满足这个特性。

以上是深度学习中比较成熟的算法,目前深度学习研究中,最热的领域莫过于产生式网络,如自动编码器、深度信念网络等。这些网络都用了限制性波尔兹曼机(RBM),先通过这种非监督学习网络,利用其隐藏层作为提取的特征,通过使网络能量函数达到最小,可以认为是所研究问题的特征,然后通过堆叠多层限制性波尔兹曼机(RBM),提取出一系列问题特征,最后再用监督学习算法,使问题得到最终解。

深度学习在医疗方面的应用,最容易想到的方面就是医学影像学方面的应用。采用卷积神经网络CNN,可以极大提高识别率,同时降低对原始图片质量的要求,同时可以降低对训练样本数量的要求,因此CNN在医学影像处理方面,应该是目前应用最广泛也是最成功的领域。

近年来,精准医学越来越受到追捧。在精准医学中,基因测序技术又是其核心。我们知道,人类基因组有64亿个碱基对,通过对这64亿个碱基对的研究,可以从病理根源来确定诊断疾病,以及确定相应的靶向治疗方案。但是这64亿个由ATGC组成的碱基对,包括大量无用的垃圾信息,如远古时代将自己DNA嵌入到我DNA中的细菌的DNA片断,还包括一些短的重复序列,同时也包括与基因调控相关的Regulator和Promoter,在基因内部同样有外显子和内显子,上述这些复杂的DNA结构,是制约精准医疗快速发展的瓶径。而深度学习里边的RNN网络,正是可以在基因分析领域大显身手,期待有这方面划时代的成果出现。

深度学习在医疗领域最激动人心的应用,无疑是在在医学诊断方面的应用。谷歌的DeepMind和IBM的watson,都在这方面积极布局,尤其是watson,在某些特定领域,其诊断精度已经超过了人类专家。由于医疗中病例大多数为非结构化文本数据,因此采用多层限制性波尔兹曼机(RBM)堆叠成的深度信念网络(DBN),可以自动提取文本病例中的特征,可以有效的学习病历中的知识,同时可以高效地进行诊断。

综上所述,深度学习在医疗中将有非常广泛的应用,文中所举的应用实例,仅仅是冰山的一角而已。根据笔者的理解,结合当前中国医改的趋势,我们有理由认为,深度学习在医学诊断方面的应用,将是可以产生最大社会及经济效益的应用领域。因为,目前医改中最难啃的硬骨头是分级诊疗,由于基层缺乏高水平的全科医生,老百姓不愿或不敢到基层医疗机构去看病,而养高水平的全科医生,优质医疗资源下沉到基层,不是远水解不了近渴就是违备客观规律而难以推动下去。而深度学习在医学诊断方面的应用,可以迅速提高基层医生的诊疗水平,使老百姓可以放心地到基层医疗机构就医,具有非常巨大的应用前景。

深度学习如何入门

阅读数 3136

没有更多推荐了,返回首页