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

在接下来的文章里 我们将探讨医学影像中DICOM与NIFTI格式间的差异 并研究如何实现2D肺部图像分割。此外 我们将探讨在不依赖深度学习的情况下 医学图像分析是如何进行的 以及我们现在如何利用深度学习来进行医学图像分析。在这里 深感荣幸的是我的新伙伴Flavio Trolese 他是4Quant的联合创始人兼ETH Zurich讲师 在帮助整合所有内容方面将发挥重要作用
何为Keras?
参考Keras官方文档可知,该库基于Theano与TensorFlow框架构建深度学习模型.

运行于Theano和TensorFlow之上的Keras api
Keras是一个先进的Python神经网络API,它基于TensorFlow和Theano构建.其核心目标是提升实验效率.
何为Theano和Tensor Flow?
James Bergstra教授团队曾在2010年的Scipy会议上指出,《Theano》是一种将数学表达式编译为高效代码的工具。另一种说法是,《Theano》提供了一种高效的途径来定义、优化并评估复杂的数学表达式。该库由Yoshua Bengio及其研究团队以及MILA共同开发出了这一创新性解决方案。该教程展示了一个基于《Theano》平台的比较分析框架,在图像处理领域展现了其独特优势与应用潜力。这篇图片首次出现在论文中——题为《Theano——一种基于Python实现高效计算框架》,首次系统性展示了其在科学计算领域的价值

该书名为《Theano——基于CPU与GPU的Python数学编译器》,由James Bergstra及其合著者编写
基于Theano构建的还有一些其他的深度学习库
《使用Theano计算的透明GPU》——James Bergstra
TensorFlow是由"谷歌机器智能研究所"下设的"谷歌大脑"研究团队开发完成的开源项目。该软件旨在推动机器学习和深度神经网络领域的研究与应用,并已广泛应用于多个技术领域。参考TensorFlow官方文档可知,在该框架中构建数据流图用于数值计算是其核心设计理念。具体而言,在图形化界面中,每个节点代表一个数学运算操作符;而数据数组之间的连接部分则代表沟通节点的多维数据数组(tensors)。其中代码直观呈现如下图所示:

图片来源:《TensorFlow:异构分布系统上的大规模机器学习》
使用Keras进行预测性分析的示例
本研究中, 我们将采用UCI数据库的Sonar数据集构建一个基本的预测模型实例. 在如下代码部分中, 我们将从UCI数据库系统直接获取相关数据, 并以60%至40%的比例分割为训练集与测试集. 基于Keras框架构建预测模型, 同时通过Scikit-learn对目标变量进行编码处理.

当我们进入下一个代码块时, 我们调用之前定义好的函数来读取数据集中的数据. 完成读取操作后, 我们会发现自变量尚未经过编码处理.

通过Scikit-learn中的LabelEncoder工具(标签编码器),我们对数据中的标签进行了数值化处理。具体而言,在这一过程中我们将字母R和M分别转化为对应的数字编码0和1,并且还采用了热编码方法(one-hot encoding),它将分类特征转化为更适合算法处理的形式。在本例中,请注意我们的目标变量Y同样是一个分类型变量,在应用该工具后将其转化为数值形式以供后续分析使用。

Scikit-learn的标签编码器
之后,我们创建了一个使用Keras的模型:

在没有任何预处理操作的情况下,使用简单模型的准确度为81.64%
使用Keras进行图像分析的示例
为了更好地理解图像处理机制及其在深度学习中的应用,本研究将采用该竞赛提供的数据集进行分析。该竞赛的目标是设计出一种能够识别图片中是猫还是狗的分类算法。尽管对人类而言,分辨猫与狗并不困难;然而对计算机来说却是一项具有挑战性的任务。在该挑战赛中,共有25000张图片经过标注;测试数据库中还有12500张图片等待人工标注。根据Kaggle官网信息可知:当这个竞赛开始时(2013年年底):
目前的研究数据显示,在该任务中机器分类器的准确度已超过80%。基于这一发现, 如果我们能成功突破这一关键指标, 我们将领先于同行并占据2013年的技术制高点
希望深入探究更多细节内容,并继续推进下一步的学习工作。同时,在探索前沿技术和创新方向方面具有重要价值。
我强烈推荐Fast.ai的网络公开课程。
在下面的代码中引用了fast.ai,
能够为我们提供一个优质的起始点。

第一步:完成设置
从Kaggle网站获取猫与狗的图像数据,并将其存储在您的电脑中。本文所列举的例子中,我会在我的MacBook Pro笔记本电脑上执行代码逻辑。

基本的设置
该库开发者Jeremy Howard开发了一个名为Python实用工具包的库,在其中集成了一系列已封装的基础功能模块。我们的第一步是利用该Python工具包进行操作,并在其中执行基础计算功能的操作符设计工作。如图所示的内容展示了该Python工具包的位置及其相关模块间的依赖关系图解表示方法等信息点之间的关系网络结构模型构建过程中的关键步骤定位方法及其实现细节等技术要点的具体实现方案与流程框架设计思路等技术要点的具体实现方案与流程框架设计思路等技术要点的具体实现方案与流程框架设计思路

第二步:使用VGG
在第一步中,我们采用了我们专门设计的一个模型来处理图像识别任务。随后,在第二步中我们将采用VGG网络这一技术方案。这个易于理解和使用的网络架构由两位研究团队共同开发,并成功应用于2014年的ImageNet挑战赛夺冠。该团队分别构建了两个版本的模型:一个是基于19层卷积层设计的VGG-19网络;另一个是基于16层卷积层设计的VGG-16网络架构。相比之下,VGG-19虽然规模较大但运算效率较低且精度略高于其小型版本;而相比之下,VGG-16则是一个更为精简的选择,其运算效率更高且性能表现同样出色,鉴于此,在提升精度方面并无必要选择前者
我们开发并实现了基于Python的Vgg16类。该模块通过该类设计与实现的VGG 16模型架构具有显著简化后的流程。该模块在fast.ai GitHub存储库中提供了对应的实现代码。具体细节如下图:

第三步:实例化VGG

Vgg16基于Keras这一平台进行开发(后续我们将深入探讨其技术细节)。作为灵活可靠的技术框架,Keras依附于Theano与TensorFlow提供强大的计算支持。该框架采用统一的数据组织方式,通过该架构能够高效管理海量图像数据及其相关标注信息,从而实现对每个训练类别下的样本分别存储至独立分类文件夹中。
下面是我们从文件夹中随意抓取的数据:


第四步:预测猫、狗

第五步:将图像和代码文件汇总
为了汇总这些图像和文件,我推荐的方法如下图:

总结:
阅读到这里后证实你已接受我们上篇文章中探讨的理论,并进行了实际编程工作。如果你依照上述指导与说明完成了两个示例项目,则你已成功构建了第一个预测模型并完成了图像分析工作。
为了帮助更多对人工智能感兴趣的朋友高效地进行系统化的过程学习以及论文研究工作, 小编花费了很长时间并且进行了精心的整理, 制作了这份人工智能学习资料分享给大家。
该平台提供全面的人工智能课程资源包及实践指导课程+实战教学视频(包括但不限于PyTorch框架应用实例)、计算机视觉技术(如YOLO算法实例解析)、机器学习算法(如特征提取方法)、图像识别技术(含目标检测方法)、自然语言处理技术(涵盖文本分类方法)、OpenCV工具包(含图像增强技巧)等核心知识点的教学材料+配套课件源码资源+国内外知名的学习素材库+前沿动态追踪服务+相关论文集锦资源

人工智能全套完整VIP资料
人工智能全套完整VIP资料
人工智能全套完整VIP资料
人工智能全套完整VIP资料
看完三件事❤️
666
666

