Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

MedMNIST:18个数据集开启2D+3D医学影像之旅,可免费下载

MedMNIST v2医学图像数据集已经发布,相较 MedMNIST v1,MedMNIST v2 新增了 2 个 2D 生物图像数据,以及 6 个 3D 生物医学图像数据。

在基于深度学习人工智能计算机视觉技术的快速发展下,医学影像分析领域得到了长足的发展,以至于深度学习成为医学图像分析领域中最核心的研究方式之一。医学影像分析中的数据模态、数据集规模和任务类型存在十分显著的差异性。尽管目前医学影像计算机视觉已经获得了长足发展,但仍存在许多研究问题尚未得到充分的解决,例如:

  1. 开展实际医学人工智能相关的研究时往往会面临数据孤岛问题,尽管医学数据十分丰富,但由于数据隐私等问题,研究者能访问到的数据十分稀缺。

  2. 医学影像算法任务中,调整深度学习模型需要大量的工作投入,如网络架构选择、优化策略、预处理和数据增强等,事实上很多设计可以通过自动机器学习来解决。

  3. 医学图像领域根据特定目的发展出了许多图像模态,不同模态泛化能力对于模型十分重要,但评估模型的泛化能力往往需要大量的数据集。

  4. 由于医学图像相对复杂的特性,使得预处理、建模流水线等会扮演极其重要的角色,甚至超过机器学习的部分(如 nnUNet)。尽管模型端到端的性能非常重要,但研究者也需要标准化的、只需要关注机器学习部分的数据以加速研究过程。


为了解决上述问题,来自上海交通大学等机构的研究者发布了 MedMNIST (v2) 数据集,本数据库的构建工作由上海交通大学倪冰冰教授团队牵头完成,杨健程博士为第一作者。本文将从组成、性能指标、使用方法等方面对 MedMNIST 数据集进行简要的介绍。

  • 论文地址:https://arxiv.org/pdf/2110.14795.pdf

  • 数据和代码链接:https://medmnist.com

图一 MedMNIST v2 数据集概览  

对不同领域的数据驱动方法进行基准测试已有一些研究工作。Visual Domain Decathlon 在 10 个现有的自然图像数据集上开发了一个评估基准,以评估模型在不同领域上的泛化能力。在医学成像领域,Medical Segmentation Decathlon 引入了 10 个 3D 医学图像分割数据集来评估端到端分割性能。当然,理解当前最新的 MSD 端到端的性能是尤其重要的。然而,端到端系统中每个部分的贡献可能特别难以分析。正如在 MSD 取胜解决方案中所报告的那样,超参数调优、预处理 / 后处理、模型集成策略和训练 / 测试时增强可能比机器学习部分(如模型架构、学习方案)更为重要。因此,该研究发布了 MedMNIST 数据集,一个大规模的类 MNIST 的医学图像数据集。经过标准化和轻量化,MedMNIST 多样的数据设计可以为丰富的研究提供支持。相较 MedMNIST v1,MedMNIST 新增了 2 个 2D 生物图像数据,以及 6 个 3D 生物医学图像数据。MedMNIST v2 与其他「decathlon」数据集的比较如表一所示。

表一 MedMNIST v2 与其他 「decathlon」数据集比较

数据简介

MedMNIST v2 是一个大规模的 2D 和 3D 医学图像分类数据集,包含 12 个 2D 数据集和 6 个 3D 数据集,其中 2D 数据集有 708069 张图片,3D 数据集有 10214 张图片。

MedMNIST v2 具有以下几个特点:

  • 标准性:数据集具有相同的大小 28*28(2D)或 28*28*28(3D),并提供了标准的训练集、验证集和测试集的划分;

  • 多样性:数据集包含多种模态(X 光片、视网膜 OCT、超声、CT 等)、 多种任务(多分类、二分类、多标签、有序回归), 数据集规模从百量级到十万量级不等;

  • 轻量性:数据集尺寸小,28*28(2D)或 28*28*28(3D);

  • 教育性:生物医学图像分析需要计算机视觉机器学习、 生物医学图像、 临床等多种背景知识, 所有数据均采用 CC(Creative Commons) 许可, 便于用于教育目的。


作为一个大规模的医学图像数据集,MedMNIST v2 对机器学习计算机视觉的研究来说具有十分重要的意义,对于自动机器学习多模态学习多任务学习迁移学习等许多研究都起到一定的作用。

表二  MedMNIST v2 数据集简介

设计原则

MedMNIST v2 数据集来源于精心挑选的源数据集,包含多种原始数据模态(如 X 光片、OCT、超声、电子显微镜等)、不同分类任务(二分类、多分类、有序回归、多标签)和不同的数据集规模(从 100 量级到 100,000 量级)。这些源数据集大部分来源于已经发表的公开研究中使用 CC 许可的数据集,也有伴随 MedMNIST v2 发布的私有数据。该研究展示了 MedMNIST v2 数据集全景图(图二)。由于很难将数据模态分类,研究者用图像分辨率来表示数据模态。多样的数据集设计能带来多样的任务难度,这正是作为一个医学图像分类基准应有的特性。

该研究提供了官方的训练集、验证集和测试集的划分,并将所有的数据都预处理成 MNIST 那样的形式,即 28*28(2D) 或 28*28*28(3D)。对多数数据集而言,该研究直接使用了源数据集的分类标签;但如果分类任务在小尺寸图像上难度较大,研究者对标签采取了合并或删除操作进行简化。

图二 MedMNIST v2 全景图

验证实验

该研究在验证集上采用早停法的 ResNet 为基线方法,对于 2D 数据集选取 ResNet18 和 ResNet50 分别在 28*28 和 224*224(从 28 分辨率进行插值放大)分辨率上进行测试;对于 3D 数据集,选取 2.5D、3D、ACS 卷积的 ResNet18 和 ResNet50 进行测试。同时,该研究还选取了三种自动机器学习模型 auto-sklearn、AutoKeras 和 Google AutoML Vision。

所有的实验均进行了三次,并对三次结果计算平均,结果如表三所示。该研究还分别将 2D 和 3D 的每种方法在各自的数据集上进行平均,得到每种方法在 2D 或 3D 数据集上的平均性能指标,结果如表四所示。

表三 MedMNIST v2性能指标

表四 MedMNIST v2 性能平均指标

快速上手

MedMNIST v2 数据集都具有 CC license,除了两个新发布的 3D 数据集外,其余数据集均来源于开源的公开数据,详见 MedMNIST 主页。MedMNIST v2 每个数据集也都和源数据集的 CC license 相同,可以下载和使用。该研究提供了 dataloader 和评估的脚本文件、实验的代码库以及训练的模型权重,相应的 Python 代码和 NumPy npz 格式的数据均可在项目主页上公开获取。该研究的 dataloader 文件通过 PyTorch 实现,对于不使用 PyTorch 的用户而言,也可以自行解析标准的 NumPy 序列化数据集(可以参考代码的字段说明)。

1.medmnist的安装

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

2.下载MedMNIST v2数据集

python -m medmnist download

3.MedMNIST v2数据集的调用(以PathMNIST为例)

调用medmnist加载数据集,并将数据集转变为PyTorch的dataloader格式

>>> from medmnist import PathMNIST>>> train_dataset = PathMNIST(split='train', download=True)

4.查看数据集的数量、任务类型、标签意义等介绍

>>> print(train_dataset)Dataset PathMNIST (pathmnist)    Number of datapoints: 89996    Root location: /home/three/.medmnist    Split: train    Task: multi-class    Number of channels: 3    Meaning of labels: {'0': 'adipose', '1': 'background', '2': 'debris', '3': 'lymphocytes', '4': 'mucus', '5': 'smooth muscle', '6': 'normal colon mucosa', '7': 'cancer-associated stroma', '8': 'colorectal adenocarcinoma epithelium'}    Number of samples: {'train': 89996, 'val': 10004, 'test': 7180}    Description: The PathMNIST is based on a prior study for predicting survival from colorectal cancer histology slides, providing a dataset (NCT-CRC-HE-100K) of 100,000 non-overlapping image patches from hematoxylin & eosin stained histological images, and a test dataset (CRC-VAL-HE-7K) of 7,180 image patches from a different clinical center. The dataset is comprised of 9 types of tissues, resulting in a multi-class classification task. We resize the source images of 3×224×224 into 3×28×28, and split NCT-CRC-HE-100K into training and validation set with a ratio of 9:1. The CRC-VAL-HE-7K is treated as the test set.    License: CC BY 4.0

5.只需一行代码,便可以以蒙太奇的形式可视化查看数据集

>>> train_dataset.montage(length=20)

图三  PathMNIST的20*20蒙太奇展示

潜在用途

MedMNIST 是一个预处理高度标准化的轻量级数据集合,适合多种机器学习计算机视觉和生物医学图像分析的研究。然而基于同样的原因,MedMNIST 并不适合临床用途。针对临床用途的研究 / 产品可以直接使用 MedMNIST 的原始数据,这些原始数据本身都是开源在 CC 许可协议下的(具体可以参考论文里的相关说明)。以下列举了一些 MedMNIST 的潜在用途。

  1. 自动机器学习(AutoML):医学影像算法任务中,调整深度学习模型有很大一部分工作是需要研究者和工程师人为指定的,如网络架构选择、优化策略、预处理和数据增强等,而这一部分需要研究者投入大量的精力。因此自动机器学习显得尤为重要,MedMNIST 可以作为医学图像分类领域自动机器学习基准,从而在一定程度上促进医学图像分析领域自动机器学习的发展。

  2. 不同模态的模型泛化:根据特定的任务,通过调整传感器和成像协议,许多医学图像模态被设计出来。好的模型设计应当具有较强的泛化性能,然而仅仅在少量数据集上进行验证并不能去评判一个特定的模型是否具有泛化能力。MedMNIST 的多样性可以公平地评估机器学习算法在不同设置下的泛化能力。同时,MedMNIST 包含多样的数据模态、任务和数据量的各个子集也可以用来分析不同任务之间的迁移关联。

  3. 3D 视觉:长期以来,3D 医学图像领域一直缺少易用的标准数据集。即便是像 LIDC、MSD 这样经过一定标准化的数据集,由于未提供官方数据划分、数据预处理等原因,最终系统的性能表现往往高度取决于预处理和模型管线,从而难以将模型本身加以比较。MedMNIST v2 中多样、标准、易用的 3D 数据集,将为该领域的研究提供一个测试基准

  4. 安全隐私的机器学习:可信机器学习(trustworthy machine learning),尤其是机器学习的安全性和隐私性越来越受到关注。其中,医学领域由于自身对安全性和隐私性的高要求,一直是可信机器学习的重点研究对象。MedMNIST 的多数据集设计可以很自然的成为该领域研究的一个易用的基线实验数据。

  5. 入门医学 AI 交叉领域(对初学者):由于人体及生命现象的高度复杂性,现代医学(尤其是临床医学)一直是一门高度依赖经验的科学。如今伴随着深度学习等数据驱动方法的崛起,AI 已经越来越成为临床研究和基础研究的重要工具。很多专家认为,生物医学是 “AI+” 交叉学科最好的研究方向之一,大量的科学研究和产业转换也正在将这样的论断变为现实。然而,任何交叉学科都具有较高门槛,尤其是对于医学 AI 这样交汇了高度复杂的生物医学和快速发展的 AI 两门学科的方向。我们希望,MedMNIST 可以成为这样一个窗口,让更多初学者从这样一个标准化的沙盒开始,踏入生物医学图像分析甚至更多相关领域。

从 MedMNIST 开启 2D+3D 医学图像分析之旅吧!

>>> import medmnist

工程数据集
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

多模态学习技术

现实世界中的信息通常以不同的模态出现。例如,图像通常与标签和文本解释联系在一起;文本包含图像以便更清楚地表达文章的主要思想。不同的模态由迥异的统计特性刻画。例如,图像通常表示为特征提取器的像素强度或输出,而文本则表示为离散的词向量。由于不同信息资源的统计特性不同,发现不同模态之间的关系是非常重要的。多模态学习是一个很好的模型,可以用来表示不同模态的联合表示。多模态学习模型也能在观察到的情况下填补缺失的模态。多模态学习模型中,每个模态对应结合了两个深度玻尔兹曼机(deep boltzmann machines).另外一个隐藏层被放置在两个玻尔兹曼机上层,以给出联合表示。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

多任务学习技术

医学图像分割技术

医学图像分割是在2D或3D图像内自动或半自动检测边界的过程。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~