AIHealth
Piattaforma clinica on-premise con LLM locali, RAG su dati FHIR/DICOM, supporto alla diagnosi, follow-up remoto. Architettura progettata per il percorso MDR.
Scopri AIHealth →
Digital Health
Sviluppo di software medicale conforme agli standard normativi CE e MDR. Sistemi di supporto alle decisioni cliniche, integrazione AI nei flussi di lavoro clinici.
Scopri →Il bisogno di un framework dedicato
Al 2020 il deep learning per imaging medicale è una disciplina matura sul piano scientifico ma frammentata sul piano infrastrutturale. La comunità lavora con PyTorch (framework ormai dominante dopo il superamento di TensorFlow 1.x nella ricerca) e scripts ad-hoc per ogni laboratorio: ogni gruppo reimplementa le trasformazioni per dati medici (spaziatura, orientamento, normalizzazione HU per TC, bias field correction per MR, patch-based training), le loss function specifiche (Dice, Focal, Tversky), le metriche cliniche (Dice, Hausdorff, surface distance). Il codice è raramente riutilizzabile tra laboratori, la duplicazione è enorme.
Parallelamente, NVIDIA — il principale fornitore hardware per AI — ha sviluppato a partire dal 2018 Clara Train SDK come piattaforma end-to-end per training di modelli su imaging medicale, integrata con l’ecosistema Clara per deployment. Clara Train è potente ma proprietaria e legata allo stack NVIDIA: non soddisfa il requisito di ecosistema aperto e neutrale.
A metà aprile 2020, un consorzio di istituzioni ha annunciato una risposta: MONAI — Medical Open Network for AI.
Il consorzio fondatore
MONAI è stato annunciato pubblicamente il 24 aprile 2020 come progetto open source collaborativo guidato congiuntamente da:
- NVIDIA — competenze deep learning su GPU, codice donato da Clara Train
- King’s College London (KCL) — School of Biomedical Engineering & Imaging Sciences (BMEIS), con M. Jorge Cardoso e Sebastien Ourselin come figure chiave; storico contributor open source in medical imaging
- Massachusetts General Hospital / Brigham and Women’s Hospital — contesto clinico di eccellenza, collegato al Surgical Planning Laboratory (che ospita 3D Slicer)
- Stanford University
- Vanderbilt University
- University of Warwick
- Nanyang Technological University (Singapore)
Altri centri — incluso DKFZ (Maier-Hein group di nnU-Net) — collaborano in modo non-formale con MONAI, mantenendo i propri progetti paralleli ma contribuendo componenti rilevanti.
Il progetto è distribuito con licenza Apache 2.0 e ospitato su GitHub (Project-MONAI/MONAI).
Prima release
La versione iniziale MONAI 0.1 è stata rilasciata in aprile 2020; la 0.2 è in preparazione con ulteriori componenti. Nelle prime settimane dalla pubblicazione, il repository ha accumulato centinaia di stelle GitHub e contributor esterni cominciano ad aprire pull request con nuove trasformazioni, reti, loss function.
Architettura
MONAI è costruito come libreria Python sopra PyTorch, con integrazione opzionale di PyTorch Ignite per il training loop. La struttura del framework:
monai.data
Caricamento di dataset medicali: supporto nativo per NIfTI, DICOM via ITK/SimpleITK, NRRD, MetaImage. DataLoader che preserva metadati (spacing, origin, orientation) attraverso la pipeline. CacheDataset, PersistentDataset per ottimizzazione di IO su dataset grandi.
monai.transforms
La libreria di trasformazioni è il cuore del valore pratico di MONAI. Dedicate specificamente al contesto medicale:
- Spaziali:
Spacing(resampling a voxel spacing target),Orientation(allineamento RAS/LAS/LPS),Resize,CenterSpatialCrop,RandSpatialCrop - Intensità:
ScaleIntensity,ScaleIntensityRange(HU in TC),NormalizeIntensity,HistogramNormalize - IO-aware:
LoadImagecome trasformazione di pipeline - Augmentation:
RandFlip,RandRotate,RandAffine,RandGaussianNoise,RandGaussianSmooth,RandShiftIntensity,RandScaleIntensity,Rand3DElastic - Dictionary-based transforms: ogni trasformazione ha una variante “d” (es.
SpacingD) che opera su dizionari{image, label}preservando l’associazione
La pipeline tipica è descritta come lista di trasformazioni componibili, con supporto a compose deterministico e stocastico.
monai.networks
Architetture CNN pronte all’uso, specifiche o adattate al domain:
- UNet (2D/3D) — implementazione standard
- DynUNet — adattamento dinamico del depth/features alla dimensione dell’input, ispirato a nnU-Net
- SegResNet — residual U-Net
- HighResNet — high-resolution residual network
- DenseNet variants
- AHNet, VNet, RegNet, Classifier architectures
I moduli base (Convolution, ResidualUnit, UpSample) consentono di costruire reti custom riutilizzando primitive.
monai.losses
Loss function specifiche per segmentazione medicale:
- DiceLoss — classica per segmentazione
- DiceCELoss — combinazione Dice + cross-entropy (tipica in nnU-Net-style training)
- FocalLoss, TverskyLoss, FocalTverskyLoss per classi molto sbilanciate
- GeneralizedDiceLoss — pesata per frequenza di classe
monai.metrics
Metriche standard di valutazione:
- DiceMetric — coefficiente di Dice
- HausdorffDistanceMetric — distanza 95° percentile o max
- SurfaceDistanceMetric — distanza media alla superficie
- IoU, Sensitivity, Specificity, Confusion matrix
- ConfusionMatrixMetric per tutte le metriche derivate (F1, PPV, NPV)
monai.apps
Applicazioni end-to-end pronte, che scaricano dataset pubblici (MedNIST per demo, BRATS, MSD tasks) e forniscono pipeline di training di riferimento.
monai.engines
Integrazione con PyTorch Ignite per training loop strutturato: SupervisedTrainer, SupervisedEvaluator, handlers per logging, checkpointing, early stopping.
La filosofia di design
MONAI non vuole essere un competitor di nnU-Net, 3D Slicer, MITK. È concepito come infrastruttura comune sopra la quale diversi progetti specialistici possono essere costruiti. La comunità invita:
- Gruppi di ricerca — ad usare MONAI per le proprie pipeline, contribuendo modifiche utili alla comunità
- Developer — a contribuire trasformazioni, reti, loss function specifiche al proprio dominio (neuroimaging, istopatologia, cardiologia, oftalmologia)
- Vendor commerciali — a integrare MONAI come base infrastrutturale dei propri prodotti, con la licenza Apache 2.0 che lo consente
- Ospedali universitari — ad adottare MONAI per costruire in-house capabilities AI su dati clinici interni
La visione dichiarata è che MONAI diventi per il medical imaging ciò che PyTorch è per il deep learning in generale: la piattaforma standard sopra cui tutti lavorano, lasciando spazio a soluzioni specialistiche nei livelli superiori.
Rapporto con altri progetti
L’ecosistema complementare:
- nnU-Net (MIC-DKFZ) — non è inglobato in MONAI; rimane framework separato self-configuring. Collaborazione su componenti condivisi è attesa
- 3D Slicer — piattaforma applicativa user-facing; un ponte SlicerMONAI è in sviluppo per importare modelli MONAI in Slicer
- MITK — simile, con discussione di integrazione
- NVIDIA Clara — Clara Train SDK continua ad esistere come distribuzione ottimizzata di MONAI per lo stack NVIDIA (Clara Deploy, DGX, tensor cores), con componenti condivisi con MONAI aperto
- TorchIO — libreria parallela sviluppata indipendentemente (Fernando Pérez-García, UCL), focalizzata su transforms 3D e augmentation, con considerevole sovrapposizione di scope. Cooperazione/integrazione in discussione
Impatto atteso
Le aspettative per i prossimi anni:
- Standardizzazione de-facto della pipeline PyTorch per medical imaging
- Riproducibilità — articoli che usano MONAI sono più facilmente riproducibili, poiché le trasformazioni e i training loop sono noti
- Transfer learning cross-task — modelli addestrati in MONAI più facilmente condivisibili
- Ingresso di vendor nel deployment di MONAI-based pipeline in prodotti clinici certificati
- Educazione — MONAI diventerà base didattica per corsi di medical imaging AI
- Espansione a dominio non-imaging — estensioni a tabular data, signal data (ECG/EEG), forse NLP clinico in futuro
Limiti iniziali
Essendo MONAI al 2020 un progetto giovane:
- Documentazione in crescita — tutorial e esempi aumentano di settimana in settimana
- API in fase di consolidamento — la 0.1 potrebbe non essere totalmente stabile sul piano API; la 1.0 è attesa nel corso del 2021
- Gap con nnU-Net per segmentazione — nnU-Net resta il gold standard di out-of-the-box performance; MONAI richiede maggiore configurazione manuale
- Deploy production — MONAI è primariamente research-focused; il pezzo “deploy” sarà oggetto di un sotto-progetto futuro (annunci emergenti su MONAI Deploy per il 2022)
Nel contesto italiano
Gruppi italiani di imaging medicale AI hanno cominciato a seguire MONAI:
- Politecnico di Milano — integrazione in pipeline cardiovascolari e mammografiche
- Università di Torino, Verona, Bologna
- CNR / IFC Pisa — progetti di retinoscopia
- Istituti IRCCS — adozione sperimentale in progetti di radiomics e segmentazione
L’adozione operativa richiederà alcuni mesi per stabilizzarsi; le prime pubblicazioni italiane basate su MONAI sono attese entro fine 2020-inizio 2021.
Prospettive
Il successo di MONAI nei prossimi anni dipenderà da:
- Velocità di consolidamento della governance tecnica
- Quantità e qualità dei contributi esterni — misura della salute di un progetto open source
- Integrazione con stack commerciali — MONAI deve essere adottato sia in ricerca sia in prodotti
- Copertura clinica — estensione oltre segmentazione (detection, classification, image-to-image, generative)
- Sub-progetti coordinati — MONAI Label per annotazione, MONAI Deploy per deployment, MONAI Stream per ingestione real-time — tutti annunciati ma non ancora rilasciati
Il modello è promettente: un consorzio multi-istituzionale, licenza aperta, appoggio di un vendor hardware di prima grandezza, comunità clinica e accademica di primo piano. MONAI al 2020 è nella fase iniziale di quello che potrebbe essere il framework definitivo per medical imaging AI del decennio.
Riferimenti: MONAI (Medical Open Network for AI), lanciato aprile 2020, monai.io. Repository: github.com/Project-MONAI/MONAI. Licenza Apache 2.0. Consorzio fondatore: NVIDIA, King’s College London, Mass General / Brigham and Women’s, Stanford University, Vanderbilt University, University of Warwick, Nanyang Technological University. Basato su PyTorch.