MedMNIST

MedMNIST

标准化医学图像分类数据集

MedMNIST是一个标准化的生物医学图像数据集,包含18个2D和3D子集。数据集提供28x28及更大尺寸的图像,涵盖多种医学影像模态,适用于不同的分类任务。总计约708K个2D图像和10K个3D图像,支持生物医学图像分析、计算机视觉和机器学习研究。MedMNIST以其多样性、标准化和易用性,成为评估机器学习算法和开发医学模型的重要资源。

MedMNIST医学图像分类神经网络机器学习数据集Github开源项目

MedMNIST: medmnist.com

数据(Zenodo)| 发表(Nature Scientific Data'23 / ISBI'21)| 预印本(arXiv

Jiancheng Yang、Rui Shi、Donglai Wei、Zequan Liu、Lin Zhao、Bilian KeHanspeter PfisterBingbing Ni

18个用于2D和3D生物医学图像分类的标准化数据集

多种尺寸选项:28(类MNIST)、64、128和224

我们推出了MedMNIST,这是一个大规模的类MNIST标准化生物医学图像集合,包括12个2D数据集和6个3D数据集。所有图像都预处理成28x28(2D)或28x28x28(3D)格式,并附有相应的分类标签,因此用户无需任何背景知识即可使用。MedMNIST涵盖了生物医学图像的主要数据模态,旨在对各种数据规模(从100到100,000)和多样化任务(二分类/多分类、序数回归和多标签)的轻量级2D和3D图像进行分类。最终的数据集总共包含约708,000张2D图像和10,000张3D图像,可支持生物医学图像分析、计算机视觉和机器学习领域的众多研究和教育目的。我们在MedMNIST上对几种基准方法进行了测试,包括2D/3D神经网络和开源/商业AutoML工具。

更新:我们很高兴发布MedMNIST+,提供更大的尺寸:2D为64x64、128x128和224x224,3D为64x64x64。作为之前28尺寸MedMNIST的补充,这个大尺寸版本可以作为医学基础模型的标准化基准。安装最新的API即可试用!

第三方更新@sdoerrich97发布了一个全面的MedMNIST+评估,涵盖了所有12个2D数据集和可用图像分辨率(28x28、64x64、128x128和224x224)的10种不同深度学习模型,这些模型通过3种不同的训练方案进行训练,这可能对MedMNIST社区感兴趣。在这里查看相关问题。

MedMNISTv2_overview

更多详情,请参阅我们的论文:

MedMNIST v2:2D和3D生物医学图像分类的大规模轻量级基准Nature Scientific Data'23

或其会议版本:

MedMNIST分类十项全能:医学图像分析的轻量级AutoML基准ISBI'21

主要特点

  • 多样性:涵盖多种数据模态、数据集规模(从100到100,000)和任务(二分类/多分类、多标签和序数回归)。它与VDD和MSD一样多样化,可以公平评估机器学习算法在不同设置下的泛化性能,但同时提供了2D和3D生物医学图像。
  • 标准化:每个子数据集都预处理成相同格式,用户无需背景知识即可使用。作为一个类MNIST的数据集集合,用于对小图像进行分类任务,它主要关注机器学习部分而非端到端系统。此外,我们为MedMNIST中的所有数据集提供标准的训练-验证-测试集划分,因此可以轻松比较算法。
  • 用户友好:28x28(2D)或28x28x28(3D)的小尺寸轻量级,非常适合评估机器学习算法。我们还提供更大尺寸的版本MedMNIST+:64x64(2D)、128x128(2D)、224x224(2D)和64x64x64(3D)。作为28尺寸MedMNIST的补充,这可以成为开发医学基础模型的标准化资源。所有这些数据集都可以通过相同的API访问。
  • 教育性:作为一个跨学科研究领域,生物医学图像分析对其他社区的研究人员来说难以入手,因为它需要计算机视觉、机器学习、生物医学成像和临床科学的背景知识。我们的数据采用知识共享(CC)许可,易于用于教育目的。

请注意,此数据集适用于临床用途。

代码结构

  • medmnist/:
    • dataset.py: MedMNIST 的 PyTorch 数据集和数据加载器。
    • evaluator.py: 标准化评估功能。
    • info.py: MedMNIST 每个子集的数据集信息 dict
  • examples/:
    • getting_started.ipynb: 用 Jupyter notebook 探索 MedMNIST 数据集。仅用于快速探索,不提供完整的训练和评估功能。
    • getting_started_without_PyTorch.ipynb: 此 notebook 提供了如何在不使用 PyTorch 的情况下使用 MedMNIST 数据(.npz 文件)的代码片段。
  • setup.py: 将 medmnist 安装为模块。
  • [外部] MedMNIST/experiments: 训练和评估脚本,用于重现我们论文中的 2D 和 3D 实验,包括 PyTorch、auto-sklearn、AutoKeras 和 Google AutoML Vision 及其权重 ;)

安装和要求

设置所需环境并从 PyPI 安装 medmnist 作为标准 Python 包:

pip install medmnist

或从源代码安装:

pip install --upgrade git+https://github.com/MedMNIST/MedMNIST.git

检查是否安装了最新的代码版本:

>>> import medmnist
>>> print(medmnist.__version__)

代码只需要常见的 Python 机器学习环境。基本上,它已在以下环境中测试:

  • Python 3 (>=3.6)
  • PyTorch==1.3.1
  • numpy==1.18.5, pandas==0.25.3, scikit-learn==0.22.2, Pillow==8.0.1
  • fire, scikit-image

更高(或更低)版本也应该可以工作(可能需要少量修改)。

快速开始

使用已下载文件的标准 28 大小(类 MNIST)版本:

>>> from medmnist import PathMNIST
>>> train_dataset = PathMNIST(split="train")

通过设置 download=True 启用自动下载:

>>> from medmnist import NoduleMNIST3D
>>> val_dataset = NoduleMNIST3D(split="val", download=True)

或者,你可以通过指定 size 参数访问更大图像尺寸的 MedMNIST+

>>> from medmnist import ChestMNIST
>>> test_dataset = ChestMNIST(split="test", download=True, size=224)

如果你使用 PyTorch...

  • 太好了!我们的代码专为 PyTorch 设计。

  • 用 Jupyter notebook 探索 MedMNIST 数据集(getting_started.ipynb),并在 PyTorch 中训练基本神经网络。

如果你不使用 PyTorch...

  • 虽然我们的代码是用 PyTorch 测试的,但你可以自由地用自己的代码解析它们(无需 PyTorch,甚至无需 Python!),因为它们只是标准的 NumPy 序列化文件。创建不使用 PyTorch 的数据集很简单。
  • 查看 getting_started_without_PyTorch.ipynb,它提供了如何在不使用 PyTorch 的情况下使用 MedMNIST 数据(.npz 文件)的代码片段。
  • 只需将 MedMNIST 的父类从 torch.utils.data.Dataset 改为 collections.Sequence,你就能得到一个不依赖 PyTorch 的标准数据集。查看 dataset_without_pytorch.py 了解更多细节。
  • 你仍然可以使用我们 MedMNIST 代码的大部分功能 ;)

数据集

请通过 Zenodo 下载数据集。你也可以通过在 dataset.py 中设置 download=True 来使用我们的代码自动下载。

MedMNIST 数据集包含多个子集。每个子集(例如 pathmnist.npz)由 6 个键组成:train_imagestrain_labelsval_imagesval_labelstest_imagestest_labels

  • train_images / val_images / test_images:2D 灰度数据集为 N × 28 × 28,2D RGB 数据集为 N × 28 × 28 × 3,3D 数据集为 N × 28 × 28 × 28。N 表示样本数量。
  • train_labels / val_labels / test_labelsN × LN 表示样本数量。L 表示任务标签数量;对于单标签(二元/多类)分类,L=1{0,1,2,3,..,C} 表示类别标签(二元分类时 C=1);对于多标签分类 L!=1,例如 chestmnist.npzL=14

此外,我们为每个 MedMNIST 子集提供了一个 CSV 文件在此,它将子集中的 "image_id" 映射到源数据集中的相应图像。对于每个条目,它详细说明了 MedMNIST 子集中的特定 "split" 和 "index",以及来自官方源数据集的相应图像名称。

命令行工具

  • 列出所有可用数据集:

      python -m medmnist available
    
  • 下载特定大小的可用数据集(默认 size=None(28)):

      python -m medmnist download --size=28
    

    下载所有可用大小:

      python -m medmnist download --size=all
    
  • 从根目录删除所有下载的 npz 文件:

      python -m medmnist clean
    
  • 给定子集标志,打印数据集详情:

      python -m medmnist info --flag=xxxmnist
    
  • 将数据集保存为标准图像和CSV文件,可用于AutoML工具,如Google AutoML Vision:

    对于2D数据集:

      python -m medmnist save --flag=xxxmnist --folder=tmp/ --postfix=png --download=True --size=28
      
    

    对于3D数据集:

      python -m medmnist save --flag=xxxmnist3d --folder=tmp/ --postfix=gif --download=True --size=28
    

    默认情况下,download=Falsesize=None(28)。

  • 解析和评估标准结果文件,参考Evaluator.parse_and_evaluate获取详细信息。

      python -m medmnist evaluate --path=folder/{flag}{size_flag}_{split}@{run}.csv
    

    这里,size_flag对于28像素图像为空,对于更大图像则为_size,例如"_64",例如:

      python -m medmnist evaluate --path=bloodmnist_64_val_[AUC]0.486_[ACC]0.114@dummy.csv
    

      python -m medmnist evaluate --path=chestmnist_test_[AUC]0.500_[ACC]0.499@dummy.csv
    

许可证和引用

代码使用Apache-2.0许可证

MedMNIST数据集采用知识共享署名4.0国际CC BY 4.0)许可,除了DermaMNIST采用知识共享署名-非商业性使用4.0国际CC BY-NC 4.0)许可。

如果您在研究中使用了此项目,请引用以下论文:

Jiancheng Yang, Rui Shi, Donglai Wei, Zequan Liu, Lin Zhao, Bilian Ke, Hanspeter Pfister, Bingbing Ni. Yang, Jiancheng, et al. "MedMNIST v2-A large-scale lightweight benchmark for 2D and 3D biomedical image classification." Scientific Data, 2023.

Jiancheng Yang, Rui Shi, Bingbing Ni. "MedMNIST Classification Decathlon: A Lightweight AutoML Benchmark for Medical Image Analysis". IEEE 18th International Symposium on Biomedical Imaging (ISBI), 2021.

或使用以下bibtex:

@article{medmnistv2,
    title={MedMNIST v2-A large-scale lightweight benchmark for 2D and 3D biomedical image classification},
    author={Yang, Jiancheng and Shi, Rui and Wei, Donglai and Liu, Zequan and Zhao, Lin and Ke, Bilian and Pfister, Hanspeter and Ni, Bingbing},
    journal={Scientific Data},
    volume={10},
    number={1},
    pages={41},
    year={2023},
    publisher={Nature Publishing Group UK London}
}
 
@inproceedings{medmnistv1,
    title={MedMNIST Classification Decathlon: A Lightweight AutoML Benchmark for Medical Image Analysis},
    author={Yang, Jiancheng and Shi, Rui and Ni, Bingbing},
    booktitle={IEEE 18th International Symposium on Biomedical Imaging (ISBI)},
    pages={191--195},
    year={2021}
}

请根据项目页面上的描述,同时引用MedMNIST子集的源数据论文。

发布说明

  • v3.0.1:更新了下载错误信息,使其更具指导性。
  • v3.0.0:MedMNIST+特性更大尺寸:2D为64x64、128x128和224x224,3D为64x64x64。
  • v2.2.4:移除了OrganAMNIST、OrganCMNIST、OrganSMNIST、OrganMNIST3D和VesselMNIST3D中少量空白样本。
  • v2.2.3:DermaMNIST许可证更改为CC BY-NC 4.0
  • v2.2.2:支持Python 3.11中来自collections.abc的Sequence
  • v2.2.1:更新PyPI信息
  • v2.2.0:支持scikit-image>=0.20.0的montage方法
  • v2.1.0:修复NoduleMNIST3D数据错误
  • v2.0.0:MedMNIST v2发布(在PyPI上)
  • v1.0.0:MedMNIST v1发布
  • v0.2.0:MedMNIST beta版发布

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多