Jiancheng Yang, Rui Shi, Donglai Wei, Zequan Liu, Lin Zhao, Bilian Ke, Hanspeter Pfister, Bingbing Ni
Mehrere Größenoptionen: 28 (MNIST-artig), 64, 128 und 224
Wir stellen Medmnist vor, eine groß angelegte mNIST-ähnliche Sammlung standardisierter biomedizinischer Bilder, darunter 12 Datensätze für 2D- und 6-Datensätze für 3D. Alle Bilder sind mit den entsprechenden Klassifizierungsbezeichnungen in 28x28 (2D) oder 28x28x28 (3D) vorverarbeitet, sodass für Benutzer kein Hintergrundwissen erforderlich ist. MedMnist umfasst primäre Datenmodalitäten in biomedizinischen Bildern und dient zur Klassifizierung auf leichten 2D- und 3D-Bildern mit verschiedenen Datenskalen (von 100 bis 100.000) und unterschiedlichen Aufgaben (Binär-/Multi-Klasse, Ordinalregression und Multi-Label). Der resultierende Datensatz, der aus ungefähr 708K 2D -Bildern und insgesamt 10k 3D -Bildern besteht, könnte zahlreiche Forschungs- und Bildungszwecke in der biomedizinischen Bildanalyse, des Computervisions und des maschinellen Lernens unterstützen. Wir verbieten mehrere Baseline-Methoden für MedMnist, darunter 2D / 3D-Neuralnetzwerke und Open-Source / Commercial-Automan-Tools.
Haftungsausschluss : Der einzige offizielle Vertriebsverbindungslink für den MedMnist -Datensatz ist Zenodo. Wir fordern die Benutzer bitte auf, sich auf diesen ursprünglichen Datensatzlink zu verweisen, um genaue und aktuelle Daten zu erhalten.
Update 2024-01-17 : Wir freuen uns, MedMnist+ mit größeren Größen zu veröffentlichen: 64x64, 128x128 und 224x224 für 2D und 64x64x64 für 3D. Als Ergänzung zum vorherigen MedMnist mit 28 Größe könnte die große Version als standardisierte Benchmark für Modelle für medizinische Grundlagen dienen. Installieren Sie die neueste API, um sie auszuprobieren!
Update von Drittanbietern 2024-05-13 : @sdoerrich97 veröffentlichte eine umfassende Bewertung für Medmnist+, die 10 verschiedene Deep-Learning-Modelle abdecken, die über 3 verschiedene Trainingsschemata in allen 12 2D-Datensätzen und verfügbaren Bildauflösungen trainiert wurden (28x28, 64x64, 128x128 und 224x224), was für die Mednist-Gemeinde interessant ist. Überprüfen Sie das Problem hier.
Update von Drittanbietern 2024-12-20 : @FrancesCodisalvo05 führte MedMnist-C ein, eine beschädigte Version der Medmnist-Datensätze mit modalitätsspezifischen Bildversorgung und Augmentations-APIs, inspiriert von der ImageNet-C-Benchmark. Diese Arbeit zielt darauf ab, die Robustheit des Modells zu bewerten und zu verbessern. Überprüfen Sie das Problem hier.
Weitere Informationen finden Sie in unserem Artikel:
Medmnist V2: Ein groß angelegter Leichtgewicht für 2D- und 3D-biomedizinische Bildklassifizierung (Natural Scientific Data'23)
oder seine Konferenzversion:
Medmnist Classification Decathlon: Ein leichtes AutomL -Benchmark für die medizinische Bildanalyse (ISBI'21)
Bitte beachten Sie, dass dieser Datensatz nicht für den klinischen Einsatz bestimmt ist.
medmnist/ :dataset.py : Pytorch -Datensätze und Dataloader von MedMnist.evaluator.py : Standardisierte Bewertungsfunktionen.info.py : dict für jede Teilmenge von MedMnist.examples/ :getting_started.ipynb : Um den MedMnist -Datensatz mit Jupyter Notebook zu untersuchen. Es ist nur für eine schnelle Erkundung gedacht, dh es bietet keine vollständigen Schulungs- und Bewertungsfunktionen.getting_started_without_PyTorch.ipynb : Dieses Notebook enthält Snippets, wie Sie MedMnist -Daten ( .npz -Dateien) ohne PyTorch verwenden.setup.py : So installieren Sie medmnist als Modul.MedMNIST/experiments : Trainings- und Bewertungsskripte zur Reproduktion sowohl 2D- als auch 3D-Experimente in unserem Artikel, einschließlich Pytorch, Auto-Sklearn, Autokeras und Google Automl Vision zusammen mit ihren Gewichten;) Richten Sie die erforderlichen Umgebungen ein und installieren Sie medmnist als Standard -Python -Paket von PYPI:
pip install medmnist
Oder aus Quelle installieren:
pip install --upgrade git+https://github.com/MedMNIST/MedMNIST.git
Überprüfen Sie, ob Sie die neueste Codeversion installiert haben:
>>> import medmnist
>>> print(medmnist.__version__)
Der Code erfordert nur häufige Python -Umgebungen für maschinelles Lernen. Grundsätzlich wurde es mit getestet
Höhere (oder niedrigere) Versionen sollten auch funktionieren (möglicherweise mit geringfügigen Modifikationen).
Verwenden Sie die Standardversion der 28-Größe (MNIST-ähnlichen) Standard-Dateien mit den heruntergeladenen Dateien:
>>> from medmnist import PathMNIST
>>> train_dataset = PathMNIST(split="train")
So aktivieren Sie das automatische Herunterladen durch Einstellen download=True :
>>> from medmnist import NoduleMNIST3D
>>> val_dataset = NoduleMNIST3D(split="val", download=True)
Alternativ können Sie mit größeren Bildgrößen auf Medmnist+ zugreifen, indem Sie den size angeben:
>>> from medmnist import ChestMNIST
>>> test_dataset = ChestMNIST(split="test", download=True, size=224)
Großartig! Unser Code ist so konzipiert, dass er mit Pytorch funktioniert.
Entdecken Sie den medmnistischen Datensatz mit Jupyter Notebook ( getting_started.ipynb ) und trainieren Sie grundlegende neuronale Netzwerke in Pytorch.
getting_started_without_PyTorch.ipynb , das Snippets zur Verwendung von MedMnist -Daten ( .npz -Dateien) ohne PyTorch bietet.MedMNIST von torch.utils.data.Dataset in collections.Sequence erhalten Sie einen Standard -Datensatz ohne Pytorch. Weitere Informationen finden Sie unter dataset_without_pytorch.py . Bitte laden Sie die Datensätze (en) über Zenodo herunter. Sie können unseren Code auch verwenden, um automatisch herunterzuladen, indem download=True in dataset.py einstellen.
Der MedMnist -Datensatz enthält mehrere Teilmengen. Jede Untergruppe (z. B. pathmnist.npz ) besteht aus 6 Tasten: train_images , train_labels , val_images , val_labels , test_images und test_labels .
train_images / val_images / test_images : N × 28 × 28 für 2D-Graustufendatensätze, N × 28 × 28 × 3 für 2D-RGB-Datensätze, N × 28 × 28 × 28 für 3D-Datensätze. N bezeichnet die Anzahl der Proben.train_labels / val_labels / test_labels : N × L . N bezeichnet die Anzahl der Proben. L bezeichnet die Anzahl der Aufgabenbezeichnungen; für Einzelmarke (Binär-/Multi-Klasse) Klassifizierung, L=1 und {0,1,2,3,..,C} bezeichnet die Kategoriebezeichnungen ( C=1 für binäre); Für Multi-Label-Klassifizierung L!=1 , z. B. L=14 für chestmnist.npz .Zusätzlich stellen wir hier eine CSV -Datei für jede MedMnist -Teilmenge an, die die "Image_ID" in der Teilmenge zum entsprechenden Bild im Quelldatensatz ordnet. Für jeden Eintrag beschreibt er den spezifischen "Split" und "Index" innerhalb der MedMnist -Teilmenge zusammen mit dem entsprechenden Bildnamen aus dem offiziellen Quelldatensatz.
Listen Sie alle verfügbaren Datensätze auf:
python -m medmnist available
Laden Sie die verfügbaren Datensätze einer bestimmten Größe herunter ( size=None (28) standardmäßig):
python -m medmnist download --size=28
So laden Sie alle verfügbaren Größen herunter:
python -m medmnist download --size=all
Löschen Sie alle NPZ von Root heruntergeladen:
python -m medmnist clean
Drucken Sie die Datensatzdetails bei einem Teilmenschflag:
python -m medmnist info --flag=xxxmnist
Speichern Sie den Datensatz als Standard -Figur und CSV -Dateien, die für Automl -Tools, z. B. Google Automl Vision: verwendet werden können:
Für 2D -Datensätze:
python -m medmnist save --flag=xxxmnist --folder=tmp/ --postfix=png --download=True --size=28
Für 3D -Datensätze:
python -m medmnist save --flag=xxxmnist3d --folder=tmp/ --postfix=gif --download=True --size=28
Standardmäßig download=False und size=None (28).
Analysieren und bewerten Sie eine Standardergebnisdatei unter Evaluator.parse_and_evaluate für Details.
python -m medmnist evaluate --path=folder/{flag}{size_flag}_{split}@{run}.csv
Hier ist size_flag für 28 Bilder _size und für größere Bilder, z. B. "_64", z.
python -m medmnist evaluate --path=bloodmnist_64_val_[AUC]0.486_[ACC][email protected]
oder
python -m medmnist evaluate --path=chestmnist_test_[AUC]0.500_[ACC][email protected]
Der MedMnist-Datensatz ist unter Creative Commons Attribution 4.0 International (CC nach 4.0) lizenziert, mit Ausnahme von Dermamnist unter Creative Commons Attribution-Noncommercial 4.0 International (CC BY-NC 4.0). Der Code befindet sich unter Apache-2.0-Lizenz.
Wenn Sie dieses Projekt in Ihrer Forschung nützlich finden, zitieren Sie bitte die folgenden Arbeiten:
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.
oder mit dem 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}
}
Bitte zitieren Sie auch Quelldatenpapiere der MedMnist -Teilmenge gemäß der Beschreibung auf der Projektseite.
v3.0.2 : Fehler in Evaluator ( size_flag ) und pypi aktualisiert.v3.0.1 : Aktualisierte die Download -Fehlermeldung, um sie lehrreicher zu machen.v3.0.0 : MedMnist+ mit größeren Größen: 64x64, 128x128 und 224x224 für 2D und 64x64x64 für 3D.v2.2.4 : Entfernen Sie eine kleine Anzahl von Blindproben im Organamnisten, OrgancMnist, Organsmnist, Organmnist3D und VesselMnist3D.v2.2.3 : Dermamnistische Lizenz für CC BY-NC 4.0v2.2.2 : Python 3.11 Sequence aus Collections.abc unterstütztv2.2.1 : PYPI -Info Aktualisiertv2.2.0 : montage Methode, die für Scikit-Image unterstützt wird> = 0,20.0v2.1.0 : NoduleMNIST3D Datenfehler behobenv2.0.0 : MedMnist V2 Release (auf PYPI)v1.0.0 : MedMnist V1 Releasev0.2.0 : Medmnist Beta -Veröffentlichung