利用MONAI加速医学影像学的深度学习研究

Accelerating Deep Learning Research in Medical Imaging Using MONAI

医学开放式人工智能网络(MONAI)是一个免费提供、社区支持、基于Pythorch的医疗影像学深度学习框架。它为开发训练工作流程提供了领域优化的基础功能。

在4月份发布的gtc2020 alpha版本的基础上,MONAI现在发布了0.2版本,为医学成像研究人员提供了新的功能、示例和研究实现,以加快人工智能开发的创新步伐。有关更多信息,请参阅NVIDIA和伦敦国王学院宣布MONAI医疗保健研究开源AI框架。

为什么是MONAI研究?

MONAI research是MONAI代码库中的一个子模块。其目的是展示研究原型的实施和从最新出版的医学影像学与深度学习示范。研究模块由核心开发团队定期审查和维护。根据良好的软件工程实践,从研究子模块中识别出的可重用组件被集成到MONAI核心模块中。

随着MONAI的灵活性和可用性,设想MONAI research是发布研究代码、增加研究影响、促进开放性和可重复性研究的合适场所。像MONAI中的所有其他子模块一样,欢迎以评论、想法和代码的形式发表意见。

在这篇文章中,讨论了目前已经包含在基于MONAI的实现中的研究出版物,这些出版物解决了医学图像分割中的高级研究问题。MONAI不用于临床。

· COPLE-Net: COVID-19 Pneumonia Lesion Segmentation Network

· LAMP: Large Deep Nets with Automated Model Parallelism for Image Segmentation

COPLE-Net网络:COVID-19肺炎病灶分割网络

CT对19例肺炎病灶的准确诊断和随访具有重要意义。


图1. COVID19例肺炎病变的CT表现。扫描(a-c)来自三个不同的病人,红色箭头突出显示了一些病变。扫描(d)显示不同观察者给出的(c)注释。

在COVID-19爆发期间,获得大量精确的肺炎病变像素级注释是一项挑战。本研究主要针对分割作业中的噪音标签学习。

本研究的主要创新之一是增强的深卷积神经网络结构。该体系结构具有以下特点:

它使用最大池化和平均池化的组合来减少下采样过程中的信息丢失。

它使用桥接层来减轻编码器和解码器中特征之间的语义鸿沟。

它在瓶颈处采用了ASPP模块,以更好地处理多个尺度的病变。

图2. 提出的COPLE网络体系结构。

这种新颖的建筑是在莫奈提供的。MaxAvgPool和SimpleASPP等关键网络组件可以方便地集成到其他深度学习管道中:

from monai.networks.blocks import MaxAvgPool, SimpleASPP

max_avg_pool =
MaxAvgPool(spatial_dims=spatial_dims, kernel_size=2)

aspp =
SimpleASPP(spatial_dims, ft_chns[4], int(ft_chns[4] / 4),

kernel_sizes=[1, 3, 3, 3], dilations=[1, 2, 4, 6])

图像预处理管道和预训练模型加载可以通过MONAI的几个Python命令完成:

images = sorted(glob(os.path.join(IMAGE_FOLDER, “case*.nii.gz”))) val_files = [{“img”: img} for img in images] # define transforms for image and segmentation infer_transforms = Compose( [ LoadNiftid(“img”), AddChanneld(“img”), Orientationd(“img”, “SPL”), ToTensord(“img”), ] ) test_ds = monai.data.Dataset(data=val_files, transform=infer_transforms) # sliding window inference need to input one image in every iteration data_loader = torch.utils.data.DataLoader( test_ds, batch_size=1, num_workers=0, pin_memory=torch.cuda.is_available() ) device = torch.device(“cuda” if torch.cuda.is_available() else “cpu”) model = CopleNet().to(device) model.load_state_dict(torch.load(MODEL_FILE)[“model_state_dict”])

Pythorch用户将受益于MONAI医疗图像预处理器和特定领域的网络块。同时,代码显示了MONAI模块和PyTorch本机对象的兼容性,比如torch.utils.data.DataLoader,从而简化了MONAI模块在一般PyTorch工作流中的采用。

图3. 不同损失函数下COPLE网络分割性能的可视化比较。

在从噪声标签中学习COVID-19肺炎病灶分割的场景中,COPLE网络的实验结果表明,新的结构比最先进的CNNs具有更高的性能。

LAMP:用于图像分割的自动模型并行的大型深网

深度学习模型变得越来越大,因为模型尺寸的增加可以显著提高精度。通过自动模型并行,可以用大的输入块,甚至是整个图像来训练大型的深3D变换器。

图4. (上)远程跳转连接阻碍了U-Net中的并行性。(底部)显式地构造了U-Net的一个变体,以消除U-Net中的长程依赖。并行U-Net具有较高的并行效率和吞吐量。

图5. 分区模型。

在图5中,一个deep模型被划分为三个gpu(a)。Fk是第k细胞的前向功能。Bk是反向传播函数,它依赖于上层的Bk+1和Fk特性。由于模型(b)的依赖性,传统的模型并行性具有较低的设备利用率。流水线并行性将输入的小批量拆分为更小的微批次(c),并允许不同的设备同时运行微批次。同步梯度计算可以最后应用。

MONAI research实现通过使用以下预处理模块显示了简单的实现:

· AddChannelDict

· Compose

· RandCropByPosNegLabeld

· Rand3Delasticd

· SpatialPadd

它还使用网络模块(如卷积)和分层工厂(layer factory)使用相同的模块接口轻松处理2D或3D输入。损失函数和度量模块简化了模型的训练和评估。这个实现还包括一个训练和验证管道的工作示例。

Figure 6. Segmentation accuracy (Dice coefficient, %) and inference time (s) comparisons among 3D U-Net and 3D SEU-Net of different sizes (#filters in the first convolutional layer: 32, 64, 128) and different input sizes (64×64×64, 128×128×128, whole image or 192×192×192) on Head and Neck nine organ auto-segmentation and decathlon liver and tumor segmentation datasets.

本研究表明:

大的模型和输入可以提高分割精度。

大的输入大大减少了推理时间。LAMP可以作为医学图像分析任务的一个有用的工具,例如大图像配准、检测和神经结构搜索。

摘要

这篇文章强调了医学影像学的深度学习研究是如何与MONAI一起建立起来的。这两个研究实例都使用了MONAI v0.2.0中的代表性特性,它允许快速原型化研究想法。

利用MONAI加速医学影像学的深度学习研究相关推荐

  1. 未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...

    由于大多数现实环境是三维的,因此理想情况下,应针对3D数据训练旨在分析视频或现实环境中的完整任务的深度学习模型.诸如机器人,自动驾驶汽车,智能手机和其他设备之类的技术工具目前正在产生越来越多的3-D数 ...

  2. 三维点云的深度学习研究综述

    作者丨aaa 来源丨https://zhuanlan.zhihu.com/p/455210291 编辑丨3D视觉工坊 摘要 点云学习由于在计算机视觉.自动驾驶.机器人等领域的广泛应用,近年来受到越来越 ...

  3. cvpr 深度估计_干货 | 2019 到目前为止的深度学习研究进展汇总

    本文为 AI 研习社编译的技术博客,原标题 : Best Deep Learning Research of 2019 So Far 作者 | ODSC - Open Data Science 翻译 ...

  4. 2019 到目前为止的深度学习研究进展汇总

    本文为 AI 研习社编译的技术博客,原标题 : Best Deep Learning Research of 2019 So Far 作者 | ODSC - Open Data Science 翻译 ...

  5. 如何利用Docker、AWS和深度学习伪装成一个艺术家

    本文讲的是如何利用Docker.AWS和深度学习伪装成一个艺术家[编者的话]本篇文章描述了如何利用Docker.AWS和深度学习将一张普通的图片转换成艺术家的作品. "能工摹形,巧匠窃意(G ...

  6. 面向医学图像分析的深度学习研究方案

    面向医学图像分析的深度学习研究方案 这是一篇有关"深度学习在医学图像处理方面"的研究报告的第一节,主要包含研究对象,常用方法,深度学习简介,研究现状,研究重点. 在撰写报告时,我找 ...

  7. 诺亚面向语音语义的深度学习研究进展

    本文来自华为诺亚方舟实验室资深专家刘晓华在携程技术中心主办的深度学习Meetup中的主题演讲,介绍了华为诺亚面向语音语义的深度学习进展. 本次演讲简要回顾了深度学习近十年进展,重点介绍华为诺亚方舟实验 ...

  8. 德国THI大学,招聘移动视觉和深度学习研究助理和研究员

    Technische Hochschule Ingolstadt 大学(简称THI,中文译名:英戈尔施塔特工业技术大学)是位于德国南部巴伐利亚州的一所技术大学,目前正在招聘移动视觉和深度学习研究助理/ ...

  9. lstm keras 权重 理解_Keras 作者:TF 2.0+Keras 深度学习研究你需要了解的 12 件事...

    [新智元导读]Keras 作者 François Chollet 今天发表了一系列推文,如果你使用 TensorFlow 2.0 + Keras 做深度学习研究,这里有你需要知道的一切. Tensor ...

最新文章

  1. mysql激活指令_MySQL命令大全
  2. javascript的Array对象
  3. linux安装setup.py程序
  4. php能做定时关机吗,浅谈系统的定时关机
  5. QT学习:字符串类QString
  6. 西门子plm_西门子的Teamcenter、TIA Portal、NX MCD是如何结合在一起的
  7. k8s极简史:K8s多集群技术发展的历史、现状与未来
  8. maven多模块项目,多web合并项目使用心得
  9. 计算机网络基石 —— 集线器
  10. 【推荐系统】智能推荐算法在直播场景中的应用
  11. linux下c编程常识
  12. 数据湖产业生态联盟会员权益
  13. 大数据ETL开发之图解Kettle工具(入门到精通)
  14. 固态硬盘怎么看出厂日期_如何查看SSD可以使用多长时间?固态硬盘寿命测试方法(全文)...
  15. 拼音加加符号编码列表
  16. 优秀,起诉网站,可尼玛太秀了
  17. 从有道云笔记迁移到另一个有道云笔记账号
  18. 免费AI标注工具-音频查重工具
  19. 常用液晶12864串行操作
  20. Linux -- 磁盘存储管理 分区类型(MBR,GPT)

热门文章

  1. 2022-2028年中国体育用品行业投资分析及前景预测报告(全卷)
  2. etcd 笔记(08)— 基于 etcd 实现分布式锁
  3. 【课堂笔记系列】二进制
  4. 反向词典_根据描述查找词语
  5. NLP.TM | GloVe模型及其Python实现
  6. JIT Compiler编译器
  7. RADAR和LIDAR区别分析
  8. 利用NVIDIA-NGC中的MATLAB容器加速语义分割
  9. 客快物流大数据项目(五十):项目框架初始化
  10. C++ #define(宏定义)的使用