前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >17 | 使用PyTorch完成医疗图像识别大项目:理解业务

17 | 使用PyTorch完成医疗图像识别大项目:理解业务

作者头像
机器学习之禅
发布于 2022-07-11 07:49:10
发布于 2022-07-11 07:49:10
8110
举报
文章被收录于专栏:机器学习之禅机器学习之禅

学习进入第二大部分,终于能够喘口气。接下来我们要做的是使用PyTorch来完成一个大项目,这个项目的目标是从医疗影像中检测癌症。这个题目听起来好像也不是那么难,像我们前面检测一张图片是鸟还是飞机,这个貌似也是个简单分类问题,给出的结果为是或者不是。但是当你真的深入到业务之中,你会发现完全不像你想的那么简单。我们先不那么着急往后看,所以这一节就比较轻松,没有什么代码,主要来把整个项目框架理清楚。

关于数据挖掘流程

在了解项目之前我们先了解一下数据挖掘的流程。这里引用的是一个称为数据挖掘项目的标准流程CRISP-DM的框架。这个框架里包含了数据挖掘流程的六个部分,罗列如下。这里面关于建模和评估应该都比较熟悉了,我们前面的环节讲的主要跟这两个部分相关,对于其他环节,看起来跟建设神经网络模型并没有太大的关系,但是在具体的项目中,前三个环节准备充分与否能够极大的影响模型的效果,而最后一个环节则是对模型的限制。

  • 商业理解(business understanding)
  • 数据理解(data understanding)
  • 数据准备(data preparation)
  • 建模(modeling)
  • 评估(evaluation)
  • 部署(deployment)

项目简介

关于商业理解可能是比较直译的方式,我觉得大可把它看做是对业务的理解。对于一个实际的数据挖掘项目,一定是建立在需求之上的,这个需求就来源于业务的真实问题。我们接下来要处理的这个项目就是肺部恶性肿瘤的自动监测,我们可以获取的数据是病人胸部的CT扫描数据。

我们知道对于癌症,如果能在早期诊断出来并进行手术切除,会大大提升病人的生存率,但是现在主要依赖人工的检测。但是肿瘤早期非常小,要靠人工从大量的图像中仔细筛查无疑是十分困难的,而且还需要非常专业的医生才能够识别到,极有可能产生误判或者遗漏。但是我们的电脑如果能够学会怎么去判断那就不一样了,电脑不会累,可以孜孜不倦地进行细致的排查,不会因为疲倦厌烦以及各种身体和情绪影响而造成错误的结果。

作者还写了一个选择这个项目的原因,那就是这个问题还没有得到最终解决,仍然在探索的过程中。

什么是CT扫描

了解了大概的项目情况,我们来看一下里面提到的CT扫描是什么东西。在我们这个项目中,使用的就是CT扫描数据,它是一种特别的数据格式,对这个数据格式优缺点和基本情况的了解有助于我们正确的使用和后续的模型优化。CT扫描的每一个体素都对应一个数值,这个数值描述的是内部物质的平均质量密度。这里说的体素可以对比像素,像我们之前处理的图像上的一个数据点就是一个像素,这里的一个体素是一个立体块,它包含一个空间体积。下面是一个人体躯干的CT扫描,可以看到人体组织的横切面,以及它是一个立体的元素,最下面两块是床垫床板。

CT扫描的数据还允许我们通过隐藏我们不感兴趣的部分进行立体查看,如下面这种样子,隐藏了其他部分,只展示骨骼和肺部组织。

下面这个设备就是获取CT数据的机器

我们计划的解决方案

了解了数据源,接下来就是来设计一个计划。这里书中给出了一个确定的计划,就不再需要动脑思考了。具体项目模型的构建分成5个步骤,先把CT数据加载进来,然后切分成小块,寻找到候选结节,最后对候选结节进行分类,确定候选结节的类型。

结节:这里指的肺部的小肿瘤。

  • 1.加载原始数据,把它转化为PyTorch可以处理的数据,也就是我们的tensor数据。
  • 2.使用PyTorch进行数据分割,我理解这里是进行区域检测?识别出潜在的肿瘤区域,从而在后面的检测中就不再关心那些没有什么用的区域,因为CT扫描数据是很庞大的。不过我还没看书后面的环节,这里是我自己的理解。
  • 3.第三步是把已经确定的结节区域进行分组,这一块看起来并不涉及PyTorch相关的内容,所以单独拿出来作为一个步骤。
  • 4.使用三维卷积将候选结节分类,区分出它是真的结节或者不是。
  • 5.对分类结果进行分析,我理解这里是会对一个人的所有影像数据分析结果进行总结,比如说一个人可能有若干个结节,然后根据影像判断结节是良性的还是恶性的,给出患者诊断报告。 这个解决方案之所以这么设计,并不是凭空想出来的,而是根据过去已经把这个项目做到比较好的效果的团队方案的一个总结,当然更多的出于让我们学习相关知识给出来的方案。有时候我们或许会想,为什么不直接把数据丢给深度模型,然后让模型给出我们最终的结果,我觉得这可能有两个原因。第一个是对于这种尚未经过大量探索的项目(对比图像和自然语言处理的预训练模型),我们首先会去模拟专家的解决思路给出结果,这样可以更加精细化的了解模型在里面起到的作用;同时对于这种特殊的项目,我们可能需要中间流程的结果以给出最终的解释。试想我们不可能就告诉医生或者患者他有一个恶性肿瘤,这种结果没啥太大的意义,因为在身体上有无数个这样的影像,医生还需要知道这个有问题的肿瘤在什么位置,甚至是有问题到什么程度,从而决定下一步的治疗方案。

下载数据集

白话了这么多,让我们看看数据的情况吧。这个数据来源于一个2016年的挑战赛LUNA(LUng Nodule Analysis Grand Challenge)。这个挑战赛的项目就是我们刚刚介绍过的这个项目,它提供了开源的数据集和高质量的标签。关于这个挑战赛的介绍官方网站是Grand Challenge (grand-challenge.org)。整个数据集下载需要60g的空间,解压之后大概需要120g空间,加上整个项目中间训练缓存数据总共需要220g的空间,另外推荐的计算资源是带8GB内存的GPU。如果你空间不够可以考虑只用其中一个子集(一共十个子集),当然这会影响训练效果,不过对学习没什么影响。

要进去需要先用邮箱注册一下,然后看第二个tab页,里面有很多挑战赛

我们需要的是在最后一页,LUNA 16,可以看到这个挑战目前已经关闭了,但是我们还是可以下载数据集

进去页面之后可以看到一些关于这个项目的描述信息,有兴趣可以再阅读一下。

左侧可以看到下载,但是这个地方需要科学上网才能打开,我把具体下载的网址贴在下面了,可能也需要科学上网,如果你下不了,可以联系我,我已经下载到数据了,后面传到网盘上去。

  • https://doi.org/10.5281/zenodo.2595812
  • https://doi.org/10.5281/zenodo.2596478 写到这就差不多把项目介绍完了,去下载数据吧。 这节课真的轻松一点,一行代码也没写,下次再见。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习之禅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
18 | 使用PyTorch完成医疗图像识别大项目:理解数据
上一节我们理解了业务,也就是我们这个项目到底要做什么事情,并定好了一个方案。这一节我们就开始动手了,动手第一步就是把数据搞清楚,把原始数据搞成我们可以用PyTorch处理的样子。这个数据不同于我们之前用的图片数据,像之前那种RGB图像拿过来做一些简单的预处理就可以放进tensor中,这里的医学影像数据预处理部分就要复杂的多。比如说怎么去把影像数据导入进来,怎么转换成我们能处理的形式;数据可能存在错误,给定的结节位置和实际的坐标位置有偏差;数据量太大我们不能一次性加载怎么处理等等。今天理解数据这部分处理的就是之前整个项目框架图的第一步,关于数据加载的问题。
机器学习之禅
2022/07/11
1.7K1
18 | 使用PyTorch完成医疗图像识别大项目:理解数据
Kaggle百万美元大赛优胜者:如何用CNN识别CT图像检测肺癌?
王小新 编译自GitHub 量子位 出品 | 公众号 QbitAI 今年,Kaggle网站举办了一场用肺部CT图像进行肺癌检测的比赛Data Science Bowl 2017,提供百万美元奖金池。美国国家癌症研究所为比赛提供了高分辨率的肺部CT图像,在比赛中,参赛者根据给定的一组病人肺部CT三维图像,预测癌症风险。 Julian de Wit和Daniel Hammack合作完成的解决方案获得了比赛的第二名。Wit最近写了一篇博客来介绍他们的方案。他们通过3D卷积神经网络,来构建结节探测器,预测患癌可
量子位
2018/03/30
2.7K2
Kaggle百万美元大赛优胜者:如何用CNN识别CT图像检测肺癌?
【数据集】一文道尽医学图像数据集与竞赛
在AI与深度学习逐渐发展成熟的趋势下,人工智能和大数据等技术开始进入了医疗领域,它们把现有的一些传统流程进行优化,大幅度提高各种流程的效率、精度、用户体验,同时也缓解了医疗资源的压力和精确度不够的问题。
用户1508658
2019/07/26
4.4K0
【数据集】一文道尽医学图像数据集与竞赛
24 | 使用PyTorch完成医疗图像识别大项目:图像分割数据准备
本周有点丧,前面几天不是忙于面试就是忙于塞尔达炸鱼,一直没更新,好在这周把这本书读完了,今天再更一篇,终于快要结束了。
机器学习之禅
2022/07/11
1.6K0
24 | 使用PyTorch完成医疗图像识别大项目:图像分割数据准备
27 | 使用PyTorch完成医疗图像识别大项目:实现端到端模型方案
接下来需要再做一些工作,并把我们前面搞好的模型串起来,形成一个端到端的解决方案。这个方案如下,首先是从原始的CT数据出发进行图像分割,识别可能是结节的体素,并对这些体素区域进行分组,然后用这些分割出的候选结节信息进行分类,首先是区分这是否是一个结节,针对是结节的,再区分这是否是一个恶性结节,这样就完成了整个模型框架。
机器学习之禅
2022/07/11
1.6K2
27 | 使用PyTorch完成医疗图像识别大项目:实现端到端模型方案
PyTorch 深度学习(GPT 重译)(四)
第 2 部分的结构与第 1 部分不同;它几乎是一本书中的一本书。我们将以几章的篇幅深入探讨一个单一用例,从第 1 部分学到的基本构建模块开始,构建一个比我们迄今为止看到的更完整的项目。我们的第一次尝试将是不完整和不准确的,我们将探讨如何诊断这些问题,然后修复它们。我们还将确定我们解决方案的各种其他改进措施,实施它们,并衡量它们的影响。为了训练第 2 部分中将开发的模型,您将需要访问至少 8 GB RAM 的 GPU,以及数百 GB 的可用磁盘空间来存储训练数据。
ApacheCN_飞龙
2024/03/21
3270
PyTorch 深度学习(GPT 重译)(四)
谷歌新模型提升肺癌筛查率:相关研究登上Nature Medicine
根据世界卫生组织,肺癌每年造成 1700 万人死亡,是致死率最高的癌症(死亡率超过乳腺癌、前列腺癌和结直肠癌的总和),是全球第六大死因。尽管肺癌在所有癌症中存活率最低,但如果发现得早并及早干预是可以有更多治疗机会的。然而,统计数据显示,大部分肺癌到了晚期才被诊断出来。
机器之心
2019/05/22
6920
专访 | LUNA再次夺冠,科大讯飞向世界宣告自己的实力不止于语音
记者 | 谷磊 近日,科大讯飞可谓喜报连连,除了日益蹿升的股价,技术方面的好消息也不绝于耳。8月7日,科大讯飞在其官方微信公众号上给外界传递了一封喜报,并附以“科大讯飞刷新LUNA医学影像国际权威评测世界记录!”这样振奋人心的标题。 提到科大讯飞,相信很多熟悉这家公司的朋友们会联想到它在语音识别、语义理解、机器翻译等领域的耕耘,但它究竟是什么时候涉足到计算机视觉和智慧医疗领域的呢? 据AI科技大本营了解,讯飞早在2010年开始在视觉领域持续投入,2015年涉足智慧医疗领域,不仅将智能语音技术应用到了医疗
AI科技大本营
2018/04/27
1.8K0
专访 | LUNA再次夺冠,科大讯飞向世界宣告自己的实力不止于语音
26 | 使用PyTorch完成医疗图像识别大项目:分割模型实训
安装完之后,首先读取原来的标注文件。这个文件里记录了1000多个结节的坐标和直径信息。
机器学习之禅
2022/07/11
9060
26 | 使用PyTorch完成医疗图像识别大项目:分割模型实训
LUNA2022——肺结节良恶性和类型分析挑战赛
今天将分享肺结节良恶性和类型分类完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
医学处理分析专家
2022/08/20
2.6K9
LUNA2022——肺结节良恶性和类型分析挑战赛
专访 | 体素科技:全病种医疗影像阅读者
机器之心原创 作者:邱陆陆 以影像为基础,融合多模态数据提供自动转诊能力、提供确诊决策支持、提供初级影像报告,这就是全病种医疗影像阅读者给出的愿景。 在医疗影像领域最知名的一些公开数据集中,BRATS 关注脑部图像中脑肿瘤的检测和分割,LUNA16 旨在从胸片中检测肺结节,而以 Kaggle Diabetic Retinopathy Challenge 2015 为代表的多个数据集则关注糖尿病视网膜病变程度分类。在这些面向某一特定病种的任务上,研究者都已经取得了精确度不错的成果。然而从一个好的分类模型到临床
机器之心
2018/06/08
6670
腾讯元宝图像识别在医疗诊断中的应用
嘿,各位医疗界的朋友以及对新技术感兴趣的小伙伴们!今天咱们要来聊聊一个超酷的东西——腾讯元宝。这可是腾讯开发的超厉害的人工智能助手哟!
Front_Yue
2025/03/12
1260
腾讯元宝图像识别在医疗诊断中的应用
医疗人工智能困局:技术成熟,缺乏立法
数据猿导读 目前我国在此方面的法律依然处于缺失状态,甚至可以说是医疗人工智能发展的最大障碍。实际上,不仅仅是在医疗行业,在整个数据行业中都存在这样的问题。 图 | 阿里云总裁胡晓明在云栖大会深圳峰会上
数据猿
2018/04/23
1.1K0
医疗人工智能困局:技术成熟,缺乏立法
公开课 | 用CNN识别CT影像诊断肺癌结节+从GitHub社交数据中挖掘人才+量化投资中的数据处理,3场直播连击
大家好,文摘菌又来搞事情啦~? 本周四晚,大数据文摘联合六禾创投,三场公开课,一!起!来!? 三位公开课嘉宾分别来自六禾创投被投公司华院数据、简寻、聚宽,公开课主题跨越深度学习医疗影像识别、社交网络数
大数据文摘
2018/05/24
2.4K0
Luna16肺结节检测数据介绍
肺癌是世界范围内癌症相关死亡的主要原因。在CT肺癌筛查中,需要对数百万的CT扫描进行分析,这对放射科医生来说是一个巨大的负担。因此,该竞赛期望更多自动化和先进的计算机算法进行肺结节的筛查和检测。
Minerva
2020/05/25
4.1K0
高精度肺结节自动检测方案 | 算法解析
👆点击“博文视点Broadview”,获取更多书讯 随着经济的发展,以及人口老龄化、环境污染的加剧,肺癌已经成为全球发病率和死亡率最高的癌症之一[1]。 肺癌没有明显的早期症状。虽然肺癌的早期切除可以有效提高患者的生存率,但多数自然就诊的患者发现肺癌时已属中晚期,错过了最佳治疗时机。 因此,肺癌的预防和早期发现成为癌症控制的重点之一。 我国的多项研究表明,通过低剂量CT进行肺癌筛查,有助于肺癌的早期发现并提高肺癌检出率,应在健康体检人群中积极开展[2]。 然而,在实际应用中,肺癌的筛查和预防面临很大的挑战
博文视点Broadview
2023/04/04
3730
高精度肺结节自动检测方案 | 算法解析
2018年医疗人工智能技术与应用白皮书(附下载)
【导读】2017 年医疗人工智能发展迅速,产业格局风起云涌。人工智能在医疗领域中的应用已非常广泛,包括医学影像、临床决策支持、语音识别、药物挖掘、健康管理、病理学等众多领域。本白皮书梳理和研究国际、国
WZEARW
2018/04/16
9.8K66
2018年医疗人工智能技术与应用白皮书(附下载)
PyTorch 深度学习(GPT 重译)(六)
在过去的几章中,我们已经构建了许多对我们的项目至关重要的系统。我们开始加载数据,构建和改进结节候选的分类器,训练分割模型以找到这些候选,处理训练和评估这些模型所需的支持基础设施,并开始将我们的训练结果保存到磁盘。现在是时候将我们拥有的组件统一起来,以便实现我们项目的完整目标:是时候自动检测癌症了。
ApacheCN_飞龙
2024/03/21
1970
PyTorch 深度学习(GPT 重译)(六)
一根烟上热搜,先让AI看看你的肺
作者 | 李翔,国内某互联网大厂AI民工,前携程酒店图像技术负责人,计算机视觉和深度学习重度爱好者,在ICCV和CVPR等会议上发表论文十余篇;马杰超,任职于某医学图像创业公司,医学图像AI领域资深从业者,在MICCAI和Radiology等会议和期刊上发表论文十余篇。
AI科技大本营
2019/06/03
5390
深度学习在医学影像上的应用(一)——分类
目前人工智能是最火热的领域,而深度学习是人工智能中最璀璨的分支,已经在自然图像上取得了阶段性进展。今天我将分享深度学习在医学影像上的应用最近进展,这一篇主要说一下从2015年到现在深度学习在医学影像分类相关的情况。
医学处理分析专家
2020/06/29
6.6K0
深度学习在医学影像上的应用(一)——分类
推荐阅读
相关推荐
18 | 使用PyTorch完成医疗图像识别大项目:理解数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文