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