数据量不足,MedicalNet 如何助力医疗影像 AI 突破瓶颈?
导读 |近日,云+社区技术沙龙“腾讯开源技术”圆满落幕。本次沙龙邀请了多位腾讯技术专家,深度揭秘了腾讯开源项目TencentOS tiny、TubeMQ、Kona JDK、TARS以及MedicalNet。本文是陈思宏老师关于致力于提供基于3D医疗影像大数据的预训练模型MedicalNet的详细介绍。
一、医疗影像AI概述
医疗影像 AI 实际上解决的是「患者看病难,医生诊断累」的全球普遍问题。
由于培养投入大,周期长,医护人员的数量在短时间内很难大幅度增加,而人工智能技术可以辅助医疗工作,缓解当前医护资源不足的状况。
人工智能对于医疗领域来说,主要有两个作用,一个是进行人群基础筛查,另一个是提升诊断质量。对于一些简单的疾病,人工智能能达到较高的诊断性能,用于人群疾病初筛的工作上,在一定程度上缓解缺乏医护人员的问题。而一些治疗难度较高的疾病,人工智能可以为医生诊断提供参考依据,起到提醒作用。
医疗影像包含丰富的诊断信息,是医疗诊断中非常常见的手段。医疗影像AI的“制造”方法如下:收集标注数据,再通过这些数据来训练人工智能模型,最终实现在系统中输入患者影像,获得接近资深医师的诊断结果。
二、MedicalNet与医疗影像AI发展的关系
近年来,图像与视频识别软件的发展,为医疗影像 AI 提供了很大帮助。但医护人员资源有限,标注数据成为了困难,导致可用于训练的同分布标注数据非常少,与数据驱动的深度学习形成矛盾,这就是目前医疗影像 AI 的发展瓶颈所在。
因此对于医疗影像 AI 的研究来说,亟需找到大规模数据集以及相应的模型,为大部分小数据医疗影像AI应用提供信息支持,而这也正是开发 MedicalNet 的动机。尽管每个同分布的医疗3D公开数据集数据量小,但多个医疗场景的数据集集合起来能形成较大规模数据集,MedicalNet 开发团队就将这些场景的数据集收集起来,用来训练不同的预训练模型,再开源相关预训练模型。这样一来,当有用户需要训练一个新模型时,就可以直接用 MedicalNet 模型进行迁移学习,即便新应用中数据量较小,用户最终仍旧可以训练出模型。
三、MedicalNet的技术实现
在 MedicalNet 的实现过程中,有不少难题需要通过技术来解决。其中包括像素含义不一,范围差异大,伪影频繁,成像质量低,边界模糊,对比度低;不同源数据,标注缺失;同一组织分辨率不一致,不同组织尺度差异大等等问题。
MedicalNet 开发团队主要通过两个方案来解决这些难题。首先是数据集筛选方案,主要目的是找出具备共通知识的数据集。具体做法如下:从每种场景的数据集中挑选少量数据,形成迷你数据集代理,通过代理快速训练成小网络,最后根据迷你数据集分割预测结果的好坏判断哪些数据集能够保留下来。
筛选完数据集之后,采用联合训练方案进行训练。先对数据进行空间和像素归一化预处理。为了获取更多标注信息,MedicalNet全部采用分割数据集。MedicalNet由编码和解码部分组成,编码部分为开源的模型。为了将更多的信息集中在编码部分,所以就把大部分参数都集中在了编码中。为解决数据集与数据集之间标注不统一的问题,在解码部分使用多任务形式对多个场景的标注数据进行隔离。在训练过程中,不同的skip-connection组合用于缓解梯度消失问题。训练完成后,编码部分可迁移到任意分割、分类以及检测等多种任务的模型中。
最终的实验结果证明,在3D医疗影像应用中,MedicalNet能帮助小数据场景的网络加快收敛速度,提升预测性能。
四、Q&A
Q:MedicalNet使用代码是否已开源?MedicalNet有无用到医院的某个功能上?A:MedicalNet相关代码已开源,详见https://github.com/Tencent/MedicalNet,MedicalNet目前也已经用于多个落地模块中。
讲师介绍
陈思宏,腾讯视觉算法高级研究员,14年起着手医疗影像AI相关工作,在MICCAI、TMI等顶级会议期刊发表过论文。主要致力于深度学习在医疗视频影像和3D影像的研发与应用。

数据量不足,MedicalNet 如何助力医疗影像 AI 突破瓶颈?的更多相关文章
- 区域医疗移动医疗影像解决方案--基于HTML5的PACS--HTML5图像处理【转】
基于HTML5的PACS--图像伪彩 摘要: 要查看此系统更多的图像处理功能请参考:区域医疗移动医疗影像解决方案--基于HTML5的PACS--HTML5图像处理套用句广告语:哪里不会点哪里,so e ...
- NGK公链助力医疗行业数据安全
近年来医疗领域的数据泄露事件时有发生,医疗行业数据面临着医疗数据获得不易及缺乏有效管理和数据安全机制问题.而区块链的去中心化.分布式账本等特点正好契合医疗领域的需求点. 医疗数据市场痛点 一.医疗信息 ...
- 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- 使用rowid抽取数据方法以及大数据量游标卡住的应对
平时工作的时候,经常会遇到这种事情,从一个大表A中,抽取字段a在一个相对较小B的表的数据,比如,从一个详单表中,抽取几万个用户号码的话单出来.这种时候,一般来说, 做关联查询: create tabl ...
- 大数据量冲击下Windows网卡异常分析定位
背景 mqtt的服务端ActiveMQ在windows上,多台PC机客户端不停地向MQ发送消息. 现象 观察MQ自己的日志data/activemq.log里显示,TCP链接皆异常断开.此时尝试从服务 ...
- POI3.8解决导出大数据量excel文件时内存溢出的问题
POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的电子表格且堆空间有限时使用.SXSSF通过限制内存中可访问的记录行数来实现其低内存利用,当达到限定值时,新一行数据的加入 ...
- Oracle普通表->分区表转换(9亿数据量)
背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空间占用大约350G,在线重定义为分区表不现实,故采取申 ...
- jquery.datatable.js与CI整合 异步加载(大数据量处理)
http://blog.csdn.net/kingsix7/article/details/38928685 1.CI 控制器添加方法 $this->show_fields_array=arra ...
- 查看数据库表的数据量和SIZE大小的脚本修正
在使用桦仔的分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)的脚本时,遇到下面一些错误 这个是因为这些表的Schema是Maint,而不是默认的dbo,造成下面这段SQ ...
随机推荐
- ant 脚本 available 及条件判断功能
1. 通过<available property="属性名" file | classname | resource = "被判定是否存在的东西" v ...
- 【u228】圣诞树
[问题描述] 圣诞特别礼物挂在一棵圣诞树上,这棵树有n层,每层有一件礼物,每件礼物都有一个价值,有的礼物还有一些连结线,与下层的礼物相连,领取礼物的规则如下:任选一件礼物,它的下面如果有连结线,则可以 ...
- echarts实现多条可拖动节点的折现图
这篇博文主要是利用echarts实现两条以及多条可拖动节点的曲线,demo脱胎于官方demo,在官方demo的基础上添加了另一条曲线.因为之前写过一篇在vue中使用echarts实现可拖动节点的折线图 ...
- UVA 11732——Trie
解题思路: 首先我们可以发现: 1.若两个字符串A.B不相等,且它们的公共前缀为S,则它们的比较次数为:2 * len(S) + 1: 2.若两个字符串相等,设为A,则它们的比较次数为 2 * ( l ...
- 【u233】单词化简
Time Limit: 1 second Memory Limit: 64 MB [问题描述] 最近情报人员得到了一些经过加密的文章,每个单词都很长.破译人员想到先把单词化简一下,方法是把每个单词尽量 ...
- H3CSTP、RSTP的问题
- cmd 如何跨驱动器移动文件夹
如果在命令行或 cmd 批处理文件通过 move 移动文件夹的时候,移动的文件夹是跨驱动器的,那么将会显示拒绝访问 解决通过 move 移动文件夹到不同的驱动器需要通过先复制文件夹到另一个驱动器,然后 ...
- C++Review7_STL、容器、迭代器
我之前的博文中有专门的5篇整理并介绍了STL的概念: STL1——整体介绍:https://www.cnblogs.com/grooovvve/p/10467794.html STL2——泛型编程(模 ...
- java项目中rmi远程调用实例
1.创建一个学生实体类Student.java: package com.RMIdemo.entity; @SuppressWarnings("serial") public cl ...
- 洛谷P-4782 2-sat+Tarjan
https://www.luogu.org/problemnew/solution/P4782 这里的大佬已经说的够好了 #include<iostream> #include<cs ...