阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

吴边:基于 AI 的医疗影像实践与应用

  • 2019-10-08
  • 本文字数:3376 字

    阅读完需:约 11 分钟

吴边:基于AI的医疗影像实践与应用

互联网+医疗,曾被认为是技术难度相当大的一个结合,但随着人工智能、大数据、云计算的不断发展,智慧医疗时代已经来临。

6 月 30 日下午,在七牛架构师实践日第二十九期,微医人工智能资深技术专家吴边对于这一领域进行了《基于 AI 的医疗影像实践与应用》为题的实战分享。本文是对演讲内容的整理。



大家好!很高兴能参加七牛云组织的架构师实践日活动,让我能有机会跟大家关于医疗影像方面进行交流。

医疗人工智能的背景

首先我想大致讲一下医疗人工智能的背景。因为医疗是个非常庞大的领域,它从诊断这个最核心的部分开始往外延,一直服务到方方面面。从医院到社区到家庭,它的每个领域,只要是医疗信息化和大数据涉及的部门,都可以把人工智能嵌入进去。所以前不久,谷歌发布了报告,声称医疗人工智能可以开始起飞了。正是因为它确实是有用,对于医疗领域的那种巨大的需求。


医疗影像为什么需要人工智能参与?

今天我们主要讲医疗影像,影像里面就涉及到诊断,诊断就跟医生有关系。现在医院里阅片的过程,是通过专门的阅片医生,通过看各种仪器拿到的图片,找到病灶进行对比,从而诊断是什么疾病。那这里面为什么需要人工智能参与?


最主要的原因是人力资源跟不上。大家去医院看过病就知道,我们有时候拍一张片子,可能需要一周才能拿到,就是因为医生太少,结果就积压在那边。第二跟是因为工作量太大,医生看片的时间长了,很容易疲劳,疲劳就容易误诊,所以限制他们每天看的总数。最后一点,是因为人的心理,我们往往只去找我们想找的东西,一旦不注意,往往会对一些东西视而不见。对于医生来说,如果一种病的影像中有六种情况需要关注,而他当时如果正好只想着五种,剩下的那种一种可能就会容易被遗漏掉。


针对以上的问题,我们在微医云里已经开展了医疗人工智能的很多研究,这里面包括了全科和专科两种,专科主要是影像和各种介质的诊断,全科为交互式的机器人,可以与人进行对话交流,提供就医指导意见。

医学人工智能所面临的挑战

首先,医疗人工智能,与总体人工智能有什么关系?显然医疗人工智能很多受益于人工智能目前总体的发展,很多人工智能的最新技术,医学人工智能都可以直接拿来用,在研发上对我们助力是非常大的。但是医学人工智能,特别是影像领域也面临着特有的挑战。


第一是医疗影像的介质类型不同。它的对象不是我们人眼习惯看到的天然的东西,这样就会带来一个问题,缺少人生来就有的“熟悉感”,导致我们从直觉上分析它比较难。


第二个是数据缺乏。如果大家有搞过机器学习或自动学习,就知道标记的数据非常重要,但是经过标记的医学样本是非常缺乏的,究其原因,就在于医学是个非常专业的领域,必须要找有资格的专业从业者来进行标注,而不能像自然影像一样直接众包出去。而另一方面,不同的标注者经验参差不齐,为保证数据可靠必须要找专业医院、水平比较高的医生去做。而这些医生大多属于超负荷工作状态,人力很少,所以拿到数据的代价大,而且慢。


最后一个是模型的使用问题。因为我们现在做的很多神经网络模型,目前来说大部分还是黑箱,这对日常的应用没关系,但是对医学领域来说,医生使用一个模型只看到一个结果,但是他不知道为什么会导致这个结果。而目前我们的人工智能以辅助医生为主,最终诊断结果还是由医生签字负责。如果他不能理解,就会觉得不靠谱,就不愿意接受这样的东西。

面对挑战的应对之道

这里应对之道,首先我们要加强与医生的沟通,自己要成为专家。


先对与自然影像不同的介质类型进行简单介绍。最典型的是 X 光(左上),这个大家应该都比较熟悉。旁边是断层扫描,包括 X-CT、核磁共振成像等,它们的特点是 3D 的。下图居中是病理,它把人体的组织样本放大到可以看到细胞的程度,从而进行细胞学判断。右下是眼底影像。其他还包括超声和心电图,心电图是 1 维时间信息,但是我们可以把它当做一个广义的影像来看待。常规也是有的,比如左下是皮肤病的一个照片,我们也可以由这个照片去做诊断,这个用一般的数码相机就可以。


非完全标记

另一个是非完全标记。



这是一张病理图,左侧图中,黑圈部分是医生标的有癌细胞的地方。可以看到他只标了粗的、大的比较明显的区域。右侧两图是眼底照片,圈里面高亮的地方是病灶,但是也有很多地方没有标进去的。为什么没有标?因为太细太多了,多到如果一个个全部标记,医生实在受不了。我们看到的只是其中一张,真正的数据需要成千上万图,你如果都去标,医生很快就吃不消。因此他只会把这种比较明显的、大的标出来。


还有一种情况如下图。



这是 CT 里面的,标注的形式问题也不少。因为 CT 是一个三维的数据,我们人类虽然生活在三维的空间,但习惯看到的是二维的表面,所以我们实在没办法直接感知这种三维。因此最常见的办法,是把 3D 数据分层,把每一层东西标注。但是这样工作量太大,CT 扫描往往有几百层。因此在这张癌症肿瘤的图上,一个常见的做法是医生只把肿瘤最大的那一层标注,其他层就不再标注。还有稍微好一点的,所谓的 2.5D 的做法,是在若干个互相垂直的平面上标记,剩下的就不标。


我们做过机器学习的就知道,这里标的是正样本,是“有病”区域,没有标的是负样本,没有病。但是这边有病标成没有病,就是伪的负样本,对我们的模型会造成干扰。


所以目前常用的有这样几种方法:重采样方法、loss 加权、弱监督学习。其实他们想做的事情都是同一件事情,是要减少未标记的内容,一些伪负样本造成的影响,不对机器学习过程产生影响,这样会把它们忽略掉。

弱监督学习

我们先看个例子:弱监督学习。在病理图像的诊断中,我们自己遇到过和下面这个论文中提到的同样的场景:粗标记的一个代表,这个代表只告诉你一批样本里面有病或没病,但没有具体告诉你是哪一张有病。在下图中,粗标记只告诉你这张图上是不是有病变,但是不会告诉你癌变具体有多少,发生在什么位置。也就是说这个标记是一个很粗的范围,并不十分细致。



那么面对这样的情况,我们的方法是什么呢?先把大块这张图分成很多小块,把每个小块单独分类。下图是对小块进行分类的分类器,分成正样本、负样本。然后把这两个结果融合起来,只要小样本有病的,我就把整个大模块标记为有病。这个做法通过选择可以在机器训练的时候,可以把信号反向传播回去,但是有一个选择的过程。比如我们有时可以选择这八个分类结果,他们有病的最大值、概率值,然后把它作为一个最大值的操作。但是一般最大值不是反向可逆的,我们就改为类似于这样的一个过程,它错误纰漏可以反向从那边传回去。


医疗影像案例:眼底影像

眼底影像是通过眼底机器拍到的人视网膜照片。因为视网膜是很敏感的组织,人的很多疾病,像内分泌疾病、糖尿病等,很快会导致视网膜发生改变。同时视网膜相当于是给大脑上开了一个窗口,通过它我们可以得知很多神经系统疾病。



我们之前做的研究,怎么样通过视网膜去判断一个人脑中风的风险。下面呈现的是一个糖尿病病例,这边都是一些病灶,要去把这些病灶全部找出来。



上图画框的地方,是医生给我们做标记。但是在图中有箭头指的地方,同样是有病变的,但是医生没有把它标进去。我们怎么来处理这个问题呢?第一是在这里加上一个常规的 SSD 的网络,然后这边进来了以后,这条通路是常规的通路,但我们这边加了一个这样的模块,把这个样本录进来之后,因为这个地方已经是 H-W-d 维的矩阵,在每个位置上都是一个样本。我们先把这些样本进行聚类,聚类的过程就是一个迭代的过程。聚类只对那些我们认定的这些部位进行。对这些已经标记的东西作为中心聚类了以后,我们就把剩下所有的这些没有标记的东西,跟它们进行对比。如果它的特征差别比较大的话,我们就把它的权重给降下来。也就是说我们把它认为是一个伪的负样本,反之则维持正常的权重。这样就在 AI 学习中避免了伪负样本的干扰。


用了这个技术以后,我们的模型就把之前没有找到的地方都标记了出来,就是图中蓝箭头指向的地方,相比原来的结果,有了一个巨大的提升。


作者介绍:


吴边,毕业于浙江大学生物医学工程专业,对类脑计算和人工智能有深厚的兴趣,拥有计算神经学,人工神经网络和机器学习方面的多年研究经验。曾任华盛顿州立大学研究助理教授,现任微医医疗影像智能研发工作负责人,睿医人工智能研究院高级研究员,致力于用深度学习等技术解决医疗领域的智能化需求。


本文转载自公众号七牛云(ID:qiniutek)。


原文链接:


https://mp.weixin.qq.com/s/mYhXyfpz4KcBq_LLAI9KBw


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-10-08 10:251243

评论

发布
暂无评论
发现更多内容

面试造飞机?GitHub顶级“java面试手册2023”(统计通过率95%)

三十而立

Java

for 循环嵌套 for 循环,你需要懂的代码性能优化技巧!

三十而立

Java

现货合约一键自动跟单app系统开发搭建(api对接)

开发v-hkkf5566

python进阶:带你学习实时目标跟踪

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

腾讯2022年度研发大数据报告:研发人员占比74%,新增研发项目超7000个

科技热闻

线上sql执行慢,分享3个优化案例

采菊东篱下

MySQL

终于扒完国内算法第一人10年经验总结的数据结构与算法详解文档

程序知音

Java 算法 编程语言 数据结构与算法 后端技术

MQTT协议是什么?MQTT和Kafka的联系与区别

EMQ映云科技

kafka 物联网 IoT mqtt 企业号 3 月 PK 榜

建木缓存—提升构建速度,让你不加班!

Jianmu

maven 缓存 持续集成 CI/CD 流水线

NFT质押借贷平台开发系统DApp搭建

薇電13242772558

NFT

面试造飞机? 网易在职顶级大佬“java面试真题 2023” (助上岸)

三十而立

IPQ5018 cooperate QCN6122 / QCN6102 high performance high speed wi-fi connection

Cindy-wallys

ipq5018 QCN6102 QCN6122 IPQ5010

看起来很简单的二维码巡检,究竟是怎么实现的?

草料二维码

小程序 二维码 表单 设备巡检

分析 | NFTScan NFT API 在加密钱包开发中的应用

NFT Research

API NFT

建木v2.7.0发布

Jianmu

node.js maven 缓存 CI/CD 流水线

不要再问我 In,Exists 走不走索引了

做梦都在改BUG

布隆过滤器(Bloom Filters)的原理及代码实现(Java)

做梦都在改BUG

Java 布隆过滤器

让国内顶尖程序员社区“牛客网”低头的这份Java面试手册真的强

程序知音

Java 编程语言 java面试 java架构 八股文

牛皮!GitHub上标星90.6K的Java面试指南+笔记

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

蚁人与量子停车场

白洞计划

AI 智慧停车场

软件测试/测试开发丨Pb协议的接口测试

测试人

软件测试 自动化测试 测试开发

瓴羊Quick BI作为自定义数据门户,在企业的有效管理中发挥巨大作用

流量猫猫头

Java敏捷开发框架 高效搭建数据报表

力软低代码开发平台

提升面试成功率:深入理解C++11新特性

小万哥

程序员 面试 软件开发 新特性 C++11

8个不能错过的程序员必备网站,惊艳到我了!!!

引迈信息

前端

软件测试/测试开发丨RPC接口测试技术-Tcp 协议的接口测试

测试人

软件测试 自动化测试 测试开发

远程桌面连接软件:Jump Desktop 8 mac激活版

真大的脸盆

Mac 远程办公 Mac 软件 远程连接 远程工具

直面风口,未来不仅是中文版ChatGPT,还有AGI大时代在等着我们

加入高科技仿生人

人工智能 AI 低代码 数智化 AGI

《2023大型企业财务数智化白皮书》:大型企业财务数智化建设应用架构

用友BIP

财务数智化 智能财务

字节三面被挂后,狂刷算法,意外斩获阿里offer,定级P6+

做梦都在改BUG

Java 数据结构 面试 算法

全员狠人!CG大佬的连环暴击!第二届瑞云3D渲染动画创作大赛入围名单出炉!人气奖投票进行时!

Renderbus瑞云渲染农场

3D渲染动画创作大赛 瑞云3D渲染动画大赛

吴边:基于AI的医疗影像实践与应用_AI&大模型_吴边_InfoQ精选文章