吴恩达-医学图像人工智能专项课程-第一课第一周4-5节总结
Posted Tina姐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吴恩达-医学图像人工智能专项课程-第一课第一周4-5节总结相关的知识,希望对你有一定的参考价值。
4-5节主要是例举了三个深度学习医学诊断案例。
本周,我们将直接进入建立一个深度学习模型的任务胸部x光分类。通过这个例子,您将学到的许多想法在许多医学成像测试中都有广泛的应用。
本周,我们将从三个医学诊断任务的例子开始,在这些任务中,深度学习取得了令人难以置信的成绩。
然后我们将进入为医学影像构建人工智能模型的训练过程。
最后,我们将研究在实际数据上评估这些模型性能的测试过程。
检测皮肤组织是否癌变。
皮肤科是研究皮肤的医学分支。皮肤科医生的任务之一是观察皮肤的可疑区域,以确定痣是否是皮肤癌。
早期发现可能会对皮肤癌的结果产生巨大的影响。一种皮肤癌如果在晚期发现,其5年生存率明显下降。
在这项研究中,我们训练了一个算法来确定皮肤组织的某个区域是否癌变。使用成百上千的图像和标签作为输入,可以训练一个卷积神经网络来完成这项任务。
我们将在课程中介绍这种算法的训练。一旦算法经过训练,算法的预测就可以根据人类皮肤科医生对一组新图像的预测进行评估。
在这项研究中,我们发现该算法的性能和皮肤科医生一样好。
现在不要太担心这个图表的解释。在未来一周的课程中,我们将使用这样的曲线来查看评估。从这张图中你可以得出的主要结论是,算法的预测精度与人类皮肤科医生的预测相当。
视网膜眼底图像病变检测
它处理眼睛疾病的诊断和治疗。2016年的一项著名研究对视网膜眼底图像进行了研究,这些图像拍摄了眼睛的后部。
这里要看的一种疾病或病理是糖尿病视网膜病变,它是由糖尿病引起的视网膜损伤,是导致失明的主要原因。
目前,检测 DR(糖尿病视网膜病变)是一个耗时和手工的过程,需要训练有素的临床医生检查这些照片。
在这项研究中,我们开发了一种算法,通过查看这些照片来确定患者是否患有糖尿病视网膜病变。这项研究使用了128000
多张图片,其中只有30%
患有糖尿病视网膜病变。
我们将研究这个数据不平衡
的问题,它在医学和许多其他领域都有实际数据。我们将看到一些应对这一挑战的方法。
与先前的研究类似,这项研究表明,该算法的性能可与眼科医生相媲美。在这项研究中,多个眼科医生的多数票被用来设定参考标准或ground truth.
本周晚些时候的课程中,我们将探讨如何在医学人工智能研究中设定基本的真相。
病理组织学图像癌症检测
我们的第三个例子是组织病理学,这是一门在显微镜下检查组织的医学专业。病理学家所做的一项任务是观察扫描的组织显微图像,称为全幻灯片图像,并确定癌症扩散的程度。
这对于制定治疗计划、预测病程和康复机会非常重要。在2017年的一项研究中,仅使用了270张完整的幻灯片图像,开发了AI算法,然后针对病理学家进行了评估。
结果发现,最好的算法表现得和病理学家一样好。现在在病理组织学中,图像非常大,不能直接输入到算法中而不分解它们。
这些研究的一般设置是,不需要输入幻灯片的一个大的、高分辨率的数字图像,而是在高倍率下提取几个补丁(patch)并用于训练模型。
这些补丁被标记为整个幻灯片图像的原始标签,然后输入到一个深度学习算法中。
这样,算法就可以在成百上千的补丁上进行训练。在本课程中,你将运用相似的思想,将大图像分解成更小的图像,以进行模型训练,以完成脑肿瘤分割的任务。
本节作业解读
作业文件:AI4M_C1_W1_lecture_ex_01
作业地址: 前往公众号查看
在本课程的第一个作业中,您将使用从公共 ChestX-ray8
数据集的胸部 X 射线图像。在本笔记本中,您将有机会探索此数据集并熟悉将在第一次评分作业中使用的一些技巧。
本节作业主要使用pandas numpy探索数据集的基本信息,在开始为任何机器学习项目编写代码之前,第一步是探索您的数据。
- 探索csv文件包含的内容
主要用到的函数解读:
import pandas as pd
train_df = pd.read_csv("nih/train-small.csv")
train_df.head()
获取列表前5行
该数据集包含14种疾病。
train_df.info()
查看每列中存在的数据类型以及数据中是否存在空值。
train_df.keys()
获取列名
此外,还将学习到pandas中如何删除某一列,统计某一列中阳性样本数等
- 可视化数据
包括随机选择几例数据进行可视化,主要用到的函数 np.random.choice
plt.imshow
显示一幅图像的更多信息: shape, channel, 最大/小像素值,平均像素值+标准差
值得注意的是,图中箭头所示的名字叫colorbar
,他会给图中的渐变色一个度量尺,比如,该图中,黑色区域的值接近于0, 白色区域的值接近于1.
但我们在画 grad-cam 图中的时候,就会经常用到 colorbar
只需要在画图的时候调用plt.colorbar()
即可出来。详情看作业。
探索像素值的分布情况
使用 sns.distplot
画数据分布。
使用 keras 对图像进行归一化
本文使用的是z-score归一化,其均值为0,方差为1
x
i
−
μ
σ
\\frac{x_i - \\mu}{\\sigma}
σxi−μ
如果对z-score不了解,查看之前的文章
加文章链接
从图中,可以看到,原始图像的均值为0.4796, 方差为0.2757。值范围在[0, 0.9804].
归一化后的图像均值为0, 方差为1。值范围在[-1.74, 1.8].
从图中可以看出,归一化后的图像在不同值上的像素数更均匀一些。
本次解说完,强烈建议把作业做一做,加深一下印象。
文章持续更新,可以关注微信公众号【医学图像人工智能实战营】获取最新动态,一个关注于医学图像处理领域前沿科技的公众号。坚持已实践为主,手把手带你做项目,打比赛,写论文。凡原创文章皆提供理论讲解,实验代码,实验数据。只有实践才能成长的更快,关注我们,一起学习进步~
我是Tina, 我们下篇博客见~
白天工作晚上写文,呕心沥血
觉得写的不错的话最后,求点赞,评论,收藏。或者一键三连
以上是关于吴恩达-医学图像人工智能专项课程-第一课第一周4-5节总结的主要内容,如果未能解决你的问题,请参考以下文章
吴恩达-医学图像人工智能专项课程-第一课第一周6-10节总结+作业解读