Jiancheng Yang, Rui Shi, Donglai Wei, Zequan Liu, Lin Zhao, Bilian KE, Hanspeter Pfister, Bingbing Ni
Opciones de tamaño múltiple: 28 (tipo mnist), 64, 128 y 224
Introducimos a Medmnist , una colección de imágenes biomédicas estandarizadas a gran escala de imágenes biomédicas estandarizadas, que incluyen 12 conjuntos de datos para conjuntos de datos 2D y 6 para 3D. Todas las imágenes se procesan previamente en 28x28 (2D) o 28x28x28 (3D) con las etiquetas de clasificación correspondientes, de modo que no se requiere conocimiento de fondo para los usuarios. Cubriendo modalidades de datos primarios en imágenes biomédicas, Medmnist está diseñado para realizar la clasificación en imágenes livianas 2D y 3D con varias escalas de datos (de 100 a 100,000) y diversas tareas (regresión ordinal binaria/múltiple, multiclabel). El conjunto de datos resultante, que consiste en aproximadamente 708k imágenes 2D y 10K 3D imágenes en total, podría respaldar numerosos propósitos de investigación y educación en el análisis de imágenes biomédicas, la visión por computadora y el aprendizaje automático. Benchamos varios métodos de referencia en Medmnist, incluidas las redes neuronales 2D / 3D y las herramientas automt de código abierto / comercial.
Descargo de responsabilidad : el único enlace de distribución oficial para el conjunto de datos Medmnist es Zenodo. Solicitamos amablemente a los usuarios que se refieran a este enlace del conjunto de datos original para obtener datos precisos y actualizados.
Actualización 2024-01-17 : Estamos encantados de liberar Medmnist+ con tamaños más grandes: 64x64, 128x128 y 224x224 para 2D y 64x64x64 para 3D. Como complemento de la Medmnist anterior de 28 tamaños, la versión de gran tamaño podría servir como un punto de referencia estandarizado para los modelos de base médica. ¡Instale la última API para probarlo!
Actualización de terceros 2024-05-13 : @Sdoerrich97 lanzó una evaluación integral para Medmnist+ cubriendo 10 modelos de aprendizaje profundo diferentes capacitados a través de 3 esquemas de capacitación distintos en los 12 conjuntos de datos 2D y resoluciones de imágenes disponibles (28x28, 64x64, 128x128 y 224x224), lo que puede ser interesante para la comunidad MedMnist de MedMnist. Consulte el problema aquí.
Actualización de terceros 2024-12-20 : @Francescodisalvo05 introdujo Medmnist-C, una versión corrupta de los conjuntos de datos Medmnist, con corrupciones de imágenes específicas de modalidad y API de aumento, inspirada en el punto de referencia ImageNet-C. Este trabajo tiene como objetivo evaluar y mejorar la robustez del modelo. Consulte el problema aquí.
Para más detalles, consulte nuestro documento:
Medmnist V2: un punto de referencia ligero a gran escala para la clasificación de imágenes biomédicas 2D y 3D (Nature Scientific Data'23)
o su versión de conferencia:
Decatlón de clasificación Medmnist: un punto de referencia automt liviano para el análisis de imágenes médicas (ISBI'21)
Tenga en cuenta que este conjunto de datos no está destinado al uso clínico.
medmnist/ :dataset.py : conjuntos de datos Pytorch y dataloaders de Medmnist.evaluator.py : funciones de evaluación estandarizadas.info.py : información del conjunto de datos dict para cada subconjunto de Medmnist.examples/ :getting_started.ipynb : para explorar el conjunto de datos Medmnist con el cuaderno Jupyter. Solo está destinado a una exploración rápida, es decir, no proporciona funcionalidades completas de capacitación y evaluación.getting_started_without_PyTorch.ipynb : este cuaderno proporciona fragmentos sobre cómo usar datos Medmnist (los archivos .npz ) sin pytorch.setup.py : para instalar medmnist como un módulo.MedMNIST/experiments : scripts de entrenamiento y evaluación para reproducir experimentos 2D y 3D en nuestro documento, incluidos Pytorch, Auto-Sklearn, Autokeras y Google Automl Vision junto con sus pesos;) Configurar los entornos requeridos e instalar medmnist como un paquete Python estándar de PYPI:
pip install medmnist
O instalar desde la fuente:
pip install --upgrade git+https://github.com/MedMNIST/MedMNIST.git
Compruebe si ha instalado la última versión del código:
>>> import medmnist
>>> print(medmnist.__version__)
El código solo requiere entornos de Python comunes para el aprendizaje automático. Básicamente, fue probado con
Las versiones más altas (o más bajas) también deberían funcionar (tal vez con modificaciones menores).
Para usar la versión estándar de 28 de tamaño (tipo MNIST) utilizando los archivos descargados:
>>> from medmnist import PathMNIST
>>> train_dataset = PathMNIST(split="train")
Para habilitar la descarga automática configurando download=True :
>>> from medmnist import NoduleMNIST3D
>>> val_dataset = NoduleMNIST3D(split="val", download=True)
Alternativamente, puede acceder a Medmnist+ con tamaños de imagen más grandes especificando el parámetro size :
>>> from medmnist import ChestMNIST
>>> test_dataset = ChestMNIST(split="test", download=True, size=224)
¡Excelente! Nuestro código está diseñado para funcionar con Pytorch.
Explore el conjunto de datos Medmnist con Jupyter Notebook ( getting_started.ipynb ) y capacite a las redes neuronales básicas en Pytorch.
getting_started_without_PyTorch.ipynb , que proporciona fragmentos sobre cómo usar datos Medmnist (los archivos .npz ) sin pytorch.MedMNIST de torch.utils.data.Dataset a collections.Sequence , obtendrá un conjunto de datos estándar sin Pytorch. Consulte dataset_without_pytorch.py para obtener más detalles. Descargue los conjuntos de datos a través de Zenodo. También puede usar nuestro código para descargar automáticamente configurando download=True en dataset.py .
El conjunto de datos Medmnist contiene varios subconjuntos. Cada subconjunto (p. Ej., pathmnist.npz ) se compone de 6 claves: train_images , train_labels , val_images , val_labels , test_images y test_labels .
train_images / val_images / test_images : N × 28 × 28 para conjuntos de datos 2D a escala de grises, N × 28 × 28 × 3 para conjuntos de datos RGB 2D, N × 28 × 28 × 28 para conjuntos de datos 3D. N denota el número de muestras.train_labels / val_labels / test_labels : N × L . N denota el número de muestras. L denota el número de etiquetas de tareas; para clasificación de etiqueta única (binaria/multi-clase), L=1 , y {0,1,2,3,..,C} denota las etiquetas de categoría ( C=1 para binaria); para clasificación de etiquetas múltiples L!=1 , por ejemplo, L=14 para chestmnist.npz .Además, proporcionamos un archivo CSV para cada subconjunto Medmnist aquí, que mapea el "Image_ID" en el subconjunto a la imagen correspondiente en el conjunto de datos de origen. Para cada entrada, detalla la "división" específica y el "índice" dentro del subconjunto MedMnist, junto con el nombre de imagen correspondiente del conjunto de datos de origen oficial.
Lista de todos los conjuntos de datos disponibles:
python -m medmnist available
Descargue los conjuntos de datos disponibles de un tamaño específico ( size=None (28) de forma predeterminada):
python -m medmnist download --size=28
Para descargar todos los tamaños disponibles:
python -m medmnist download --size=all
Eliminar todos los NPZ descargados de la raíz:
python -m medmnist clean
Imprima los detalles del conjunto de datos dado un indicador de subconjunto:
python -m medmnist info --flag=xxxmnist
Guarde el conjunto de datos como la figura estándar y los archivos CSV, que podrían usarse para herramientas automáticas, por ejemplo, Google Automl Vision:
Para conjuntos de datos 2D:
python -m medmnist save --flag=xxxmnist --folder=tmp/ --postfix=png --download=True --size=28
Para conjuntos de datos 3D:
python -m medmnist save --flag=xxxmnist3d --folder=tmp/ --postfix=gif --download=True --size=28
Por defecto, download=False y size=None (28).
Analice y evalúe un archivo de resultados estándar, consulte Evaluator.parse_and_evaluate para obtener más detalles.
python -m medmnist evaluate --path=folder/{flag}{size_flag}_{split}@{run}.csv
Aquí, size_flag está en blanco para 28 imágenes, y _size para imágenes más grandes, por ejemplo, "_64", por ejemplo,
python -m medmnist evaluate --path=bloodmnist_64_val_[AUC]0.486_[ACC][email protected]
o
python -m medmnist evaluate --path=chestmnist_test_[AUC]0.500_[ACC][email protected]
El conjunto de datos Medmnist tiene licencia bajo Creative Commons Attribution 4.0 International (CC por 4.0), excepto Dermamnist bajo Creative Commons Attribution-No Commercial 4.0 International (CC BY-NC 4.0). El código está bajo la licencia Apache-2.0.
Si encuentra útil este proyecto en su investigación, cite los siguientes documentos:
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.
o usando el 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}
}
También cite los documentos de datos de origen de los subconjuntos MedMnist según la descripción en la página del proyecto.
v3.0.2 : Error fijo en evaluador ( size_flag ) y PYPI actualizado.v3.0.1 : Actualizar el mensaje de error de descarga para que sea más instructivo.v3.0.0 : Medmnist+ con tamaños más grandes: 64x64, 128x128 y 224x224 para 2D y 64x64x64 para 3D.v2.2.4 : eliminó un pequeño número de muestras en blanco en organizistas, orgánicos, organsmnistas, organizist3d y VesselMnist3d.v2.2.3 : Licencia dermamnista a CC BY-NC 4.0v2.2.2 : Sequence Python 3.11 de colección.Abc compatiblev2.2.1 : Información PYPI actualizadav2.2.0 : Método montage compatible con Scikit-Image> = 0.20.0v2.1.0 : NoduleMNIST3D Data Error solucionadov2.0.0 : Medmnist V2 Release (en Pypi)v1.0.0 : Medmnist V1 Releasev0.2.0 : Medmnist Beta Release