Tencent/MedicalNet

Many studies have shown that the performance on deep learning is significantly affected by volume of training data. The MedicalNet project provides a series of 3D-ResNet pre-trained models and relative code.

MedicalNet – 3-D 医学图像迁移学习

它是什么

  • Med3D 论文(“Transfer Learning for 3D Medical Image Analysis”)的 PyTorch 实现。
  • 提供了一系列大规模 3-D 医学影像数据集(23 个公开数据集)和一套预训练的 3-D ResNet 模型(深度 10-200)。
  • 包含用于在肺部分割、结节分类或脑部 MRI 分割等新任务上微调这些模型的脚本。

为什么它很重要

  • 从零开始训练 3-D CNN 需要海量的标注数据,而这在医学领域非常稀缺。MedicalNet 的预训练权重提供了一个强大的起点,显著提高了收敛速度和准确性(例如,肺部分割的 Dice 指数提升了 27%)。

关键组件

  • models/resnet.py – 3-D ResNet 变体的定义。
  • datasets/ – 数据预处理工具(例如 MRBrainS18 加载器)。
  • train.py / test.py – 支持多 GPU 的开箱即用训练和评估循环。
  • pretrain/ – 每个架构可下载的 .pth 文件。
  • utils/logger.py – 简单的日志记录。

典型工作流程

  1. 安装 Python 3.7, PyTorch 0.4.1, CUDA 9.0, cuDNN 7.0.5。
  2. pip install -r requirements.txt。
  3. 下载数据和预训练权重(Google Drive / Tencent Weiyun)并解压到仓库中。
  4. 运行 python train.py --gpu_id 0(或 0 1 用于多 GPU)以在您的数据集上进行微调。
  5. 使用 python test.py --gpu_id 0 --resume_path <model>.pth.tar --img_list data/val.txt 进行评估。

性能快照

模型 参数量 (M) Tesla P40 推理时间 (s)
3D-ResNet10 14.36 0.18
3D-ResNet18 32.99 0.19
3D-ResNet34 63.31 0.22
3D-ResNet50 46.21 0.21
3D-ResNet101 85.31 0.29
3D-ResNet152 117.51 0.34
3D-ResNet200 126.74 0.45

微调结果(肺部分割 Dice 指数,结节分类准确率)显示,在所有深度上均比从零开始训练有持续的提升。

许可

  • MIT License (见 LICENSE)。

引用

@article{chen2019med3d,
  title={Med3D: Transfer Learning for 3D Medical Image Analysis},
  author={Chen, Sihong and Ma, Kai and Zheng, Yefeng},
  journal={arXiv preprint arXiv:1904.00625},
  year={2019}
}

路线图 / 待办事项

  • 已完成:预训练的 3-D ResNet,迁移学习代码,多 GPU 支持。
  • 计划中:3-D 高效架构(MobileNet, ShuffleNet)和 2-D 医学预训练模型。

谁会使用它

  • 需要为任何 3-D 医学影像任务(CT, MRI, PET)建立强大基准的研究人员。
  • 构建原型分割或分类工具的临床医生。
  • 将 3-D CNN 集成到大型医学 AI 流水线中的开发人员。

MedicalNet 是一个真正的、研究级的 3-D 医学图像深度学习工具箱,而不是一个通用的 AI 相关列表或教程。

相关

  • 项目
  • 项目
  • 项目
  • 项目