深度学习下的医学图像分析(三)

本文将从卷积神经网络的角度讨论深度学习。在本文中,我们将使用Keras和Theano,重点关注深度学习的基本原理。本文将展示两个例子——其中一个例子使用Keras进行基本的预测分析,另外一个使用VGG进行图像分析。

我们谈论的话题其实是相当广泛和深入的,需要更多的文章进行探讨。在接下来的一些文章中,我们将会讨论医学影像中DICOM和NIFTI格式之间的不同,并且研究如何使用深度学习进行2D肺分割分析。除此之外,我们还将讨论在没有深度学习时,医学图像分析是如何进行的;以及我们现在如何使用深度学习进行医学图像分析。在这里,我非常欢迎和感谢我的新伙伴Flavio Trolese——4Quant的联合创始人和ETH Zurich的讲师——他将协助我整合所有讨论的内容。

在本文中,我们将讨论Keras并且展示两个示例——其中一个使用Keras完成简单的预测性分析任务,另一个进行图像分析。

  • 何为Keras?

根据Keras官网的介绍,Keras是Theanos和Tensor Flow的一个深度学习库。

运行于Theano和TensorFlow之上的Keras api

Keras是一个高级Python神经网络API,它能够运行于TensorFlow和Theano之上。Keras的开发重点在于支持快速实验。

  • 何为Theano和Tensor Flow?

James Bergstra教授等人在2010年的Scipy曾说,Theano是一个CPU和GPU的数学表达式编译器。换句话来说,Theano是一个能够让你高效地对数学表达式进行定义、优化和评估的Python学习库。Theano是由一些高级研究人员,如Yoshua Bengio,和“蒙特罗学习算法研究所”(MILA)共同研发的。下图是发布于2010年Scipy上的Theano教程,图中对比了Theano下的GPU和CPU与当年其他的工具。这张图片发表于原创论文——《Theano——CPU和GPU的Python数学编译器》。

《Theano——CPU和GPU的Python数学编译器》作者:James Bergstra, Olivier Breuleux, Frédéric Bastien, Pascal Lamblin, Razvan    Pascanu, Guillaume Desjardins,Joseph Turian, David Warde-Farley, Yoshua Bengio

建立在Theano之上的还有一些其他的深度学习库,包括Pylearn2、GroundHog(同样是由MILA开发的)、Lasagne和Blocks and Fuel等。

  • 《使用Theano计算的透明GPU》——James Bergstra

TensorFlow是由“谷歌机器智能研究所”组织下的“谷歌大脑”团队研发完成的。TensorFlow的开发是为了进行机器学习和深度神经网络的研究,除此之外,它还广泛适用于其他的领域。根据TensorFlow官网介绍,TensorFlow是一个使用数据流图表进行数值计算的开源软件库。图表中的节点代表数学运算,而表格边缘则代表沟通节点的多维数据数组(tensors)。其中的代码视觉上正如下图所展示的:

图片来源:《TensorFlow:异构分布系统上的大规模机器学习》 

  • 使用Keras进行预测性分析的示例

在本文中,我们将使用来自UCI网站的Sonar数据集来完成一个简单的预测模型示例。在下面的代码中,我们直接从UCI网站获取数据,并将这些数据按照60::40的比例分为训练数据和测试数据。我们使用Keras进行预测建模,使用sklearn对标签进行编码。

在下一个代码片段中,我们使用之前定义好的函数来读取数据集中的数据。打印数据集之后,我们会发现我们的独立变量是需要进行编码的。

我们使用来自Scikit-learn的LabelEncoder(标签编码器)对标签进行编码,将字母R和M分贝转换为数字0和1。一种热编码还将分类特征转换成为了一种与算法更合适的格式。在这个示例中,我们的Y变量与R和M一样是分类对象,使用标签编码器,我们将这些字母变量转换为了1或0。

Scikit-learn的标签编码器

之后,我们创建了一个使用Keras的模型:

在没有任何预处理操作的情况下,使用简单模型的准确度为81.64%

  • 使用Keras进行图像分析的示例

为了更好地用Keras解释图像处理过程,我们将使用来自“Kaggle猫狗竞赛”的数据。这个竞赛的目的是开发一个能够用来区分图像中包含的是一只狗还是一只猫的算法。对于人类来说,区分猫狗是很简单的,但对于计算机来说可就复杂的多了。在这项“区分猫狗”的挑战中,有25000张标记了猫狗的训练图片,测试数据库中还有12500张等着我们去标记。根据Kaggle官网,当这个竞赛开始时(2013年年底):

“目前的文献表明,机器分类器在这个任务上的准确度能达到80%以上。”因此,如果我们能成功突破80%的准确度,我们就能跃居2013年的技术发展最前沿。

想要了解更多细节、进行下一步的学习或对深度学习进行尖端研究,我强烈推荐Fast.ai的网络公开课程。我在下面的代码中引用了fast.ai,它为我们的学习提供了一个很好的起点。

第一步:完成设置

从Kaggle网站上下载猫、狗的图片数据,将其保存在你的电脑上。在本文提到的示例中,我会在我的iMac电脑上运行代码。

基本的设置

Jeremy Howard提供了一个Python实用文件,帮助我们获取已封装的基础函数。我们要做的第一步就是使用这个实用文件。下图就是这个实用文件。随着细节的深入,我们将一步步打开这个文件,看看隐藏在文件背后的信息。

第二步:使用VGG

我们在第一步中简单地使用了一个完全为我们建立的模型,这个模型能够识别各种各样的图像。第二步,我们将使用VGG。VGG是一个非常容易创建和理解的模型,它赢得了2014年的“ImageNet挑战赛”。VGG imagenet团队创建了两个模型——VGG 19和VGG 16。VGG 19是一个大型的、操作性能慢的、准确度稍佳的模型;而VGG 16是一个小型的、操作性能快的模型。我们将会使用VGG 16,因为VGG 19的操作性能比较慢,通常不值得在精确度上再做改进。

我们建立了一个Python类——Vgg16。Vgg16能让VGG 16模型的使用更加简单。在fast.ai的github上同样能找到Vgg16,具体细节如下图:

第三步:实例化VGG

Vgg16建立于Keras(我们将在稍后讨论更多关于Keras的内容)之上。Keras是一个灵活的、易于使用的、建立在Theano和TensorFlow上的深度学习库。Keras使用一个固定的目录结构来分批查看大量的图像和标签,在这个目录结构下,每一类训练图像都必须放置在单独的文件夹里。

下面是我们从文件夹中随意抓取的数据:

第四步:预测猫、狗

第五步:将图像和代码文件汇总

为了汇总这些图像和文件,我推荐的方法如下图:

总结: 

阅读到这里,就证明你就已经采纳了我们在上一篇文章中讨论的理论,并做了一些实际的编程。如果你按照上面的指示和说明完成了两个示例,那么你就已经成功建立了你的第一个预测模型,并完成了图像分析。

====================================分割线================================

本文作者:图普科技

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-12-11 12:32:41

深度学习下的医学图像分析(三)的相关文章

深度学习下的医学图像分析(二)

在<深度学习下的医学图像分析>系列的第一篇文章中,我们介绍了一些使用OpenCV和DICOM图像基础知识进行图像处理的过程.本文,我们将从"卷积神经网络"的角度讨论深度学习.在系列的第三部分,我们将利用Kaggle的肺癌数据库,重新查看肺癌DICOM图像中的关键内容和信息,并且利用Kera开发一个肺癌预测模型. "卷积神经网络"(CNN) 在了解"卷积神经网络"之前,我们要先知道什么是"卷积". 何为"卷

深度学习下的医学图像分析(四)

对与深度学习相关的医疗保障工作而言,2017年的"Nvidia GTC大会"绝对是一个绝佳的信息来源.在大会上,有诸如Ian GoodFellow和Jeremy Howard的深度学习专家分享了他们对深度学习的见解:还有一些顶级医学院(例如西奈山医学院.纽约大学医学院.麻省综合医院等)和Kaggle在大会上介绍他们的建模战略.  在上一篇文章中,我们谈论了深度学习相关的基本内容.本文,我们将关注于医学图像及其格式.  本文分为三个部分--医学图像及其组成.医学图像格式和医学图像的格式转

深度学习下的医学图像分析(一)

近年来,深度学习技术一直都处于科研界的前沿.凭借深度学习,我们开始对图像和视频进行分析,并将其应用于各种各样的设备,比如自动驾驶汽车.无人驾驶飞机,等等. A Neural Algorithm of  Artistic  Style是一篇最新发表的研究性论文,论文向我们介绍了如何将一种风格和气质从艺术家身上转移至一张图像,并由此创建出另一张新图像.其他的一些论文,比如Generative Adversarial  Networks和Wasserstein GAN,也已经为开发模型铺平了道路,这个

深度学习下一个大突破:机器阅读

机器阅读将是深度学习的下一个重大进展 回顾2016年,深度学习在应用领域取得了三个重大进展. 1. Google DeepMind 的 AlphaGo,战胜了人类顶级围棋高手. 2. Google Translate 上线,达到了与人类媲美的精度. 3. Tesla 的 AutoPilot 投入使用,让自动导航成为大众使用的日常工具. 展望2017年,深度学习在应用领域将会有新的突破,其中一大看点,就是机器阅读. 书籍是人类文明的主要传承工具.让机器掌握自动阅读的能力,将会颠覆性地降低知识传承和

深度学习如何“助攻”医学影像?我们来听听学界大拿的解释 | CNCC 2017

雷锋网消息, 10 月 26 日上午 8:30 分,由中国计算机学会(CCF)主办,福州市人民政府.福州大学承办,福建师范大学.福建工程学院协办的 2017 中国计算机大会(CNCC 2017)在福州海峡国际会展中心隆重召开.雷锋网作为独家战略合作媒体对本次会议进行全程报道. 雷锋网(公众号:雷锋网)了解到,本次大会主题是"人工智能改变世界(AI Changes the World)",共邀请近十位院士. 300 余位国内外计算机领域知名专家.著名国际国内 IT 企业家到会演讲.会议包

想真正理解深度学习?需要知道这三件事

对于喜欢数据的专业人士来说,潜水堪称完美运动,因为收集数据是潜水的重要组成部分.慢慢地下降到深海中,你可以想象自己首次浸入未被开发的数据湖中.在成千上万的水下生物中,你可以寻找最大的鱼.最艳丽的珊瑚,这就像在庞大的数据集中寻找隐藏的洞见. 但是深度并非只与深海潜水有关.作为重要的概念,它在分析和机器智能领域也变得越来越重要.人工神经网络,即模仿人类大脑建立的.处理单元(人工神经元)相互关联的计算机模型,已经出现数十年了.早期,这些神经网络通常有1个或2个隐藏神经元层组成,现在已经从浅层结构进化到

深度学习零基础进阶第三弹​|干货分享

雷锋网(公众号:雷锋网)曾编译<干货分享 | 深度学习零基础进阶大法!>,相信读者一定对深度学习的历史有了一个基本了解,其基本的模型架构(CNN/RNN/LSTM)与深度学习如何应用在图片和语音识别上肯定也不在话下了.今天这一部分,我们将通过新一批论文,让你对深度学习的方式与深度学习在不同领域的运用有个清晰的了解.由于第二部分的论文开始向细化方向延展,因此你可以根据自己的研究方向酌情进行选择.雷锋网对每篇论文都增加了补充介绍,分上下两篇,由老吕IO及奕欣编译整理,未经雷锋网许可不得转载. 4.

端到端GPU性能优化在深度学习场景下的应用实践

摘要:在2017杭州云栖大会机器学习平台PAI专场上,阿里巴巴高级算法专家杨军结合具体案例分享了端到端GPU性能优化在深度学习场景下的应用实践.   本文内容根据嘉宾演讲视频以及PPT整理而成.   目前深度学习和GPU已经成为了人工智能的基础,一软一硬的结合能够帮助我们实现图像识别.语音识别以及视频的处理,那么如何优化深度学习框架与GPU资源也是机器学习平台的一个研究方向.   本次分享主要分为以下5个部分: 1.         背景介绍 2.         优化思考 3.        

神经网络之父 Geoffrey Hinton:深度学习的下一个飞跃是什么?

Geoffrey Hinton,图源网络 雷锋网按: Geoffrey Hinton 被尊称为"神经网络之父",他将神经网络带入到研究与应用的热潮,将"深度学习"从边缘课题变成了谷歌等互联网巨头仰赖的核心技术,并将 HintonBack Propagation(反向传播)算法应用到神经网络与深度学习,还提出了"Dark Knowledge"概念. Geoffrey Hinton 曾获得爱丁堡大学人工智能的博士学位,并且为多伦多大学的特聘教授.在