Il progetto
ALA, Advanced Laboratory Automation, è un progetto di ricerca e sviluppo congiunto tra il Gruppo INPECO (leader mondiale nell’automazione di laboratorio clinico) e l’Istituto di BioRobotica della Scuola Superiore Sant’Anna di Pisa, con un investimento complessivo di 3,5 milioni di euro e un team di 30 ricercatori.
Il work package su cui noze ha lavorato, WP3, aveva un obiettivo dichiarato: la diagnosi precoce del melanoma. Kick-off il 15 marzo 2019, chiusura prevista a marzo 2022 e poi spostata a luglio 2022 per il fermo dovuto al COVID. Il perimetro seguiva l’impostazione della medicina P5 (precision, predict, prevent, personalize, participate), che in pratica significa una cosa sola: il sistema doveva funzionare fuori dall’ambulatorio, non solo su un dataset.
Da qui sono nati due percorsi paralleli, con requisiti opposti.
L’app per il cittadino dà a chi la usa la probabilità che una lesione sia maligna, con un motore di rete neurale che classifica l’immagine. Il percorso comincia dalla firma della privacy policy e passa da un manichino a due viste, con cui l’utente indica dove si trova la lesione prima di fotografarla.

Il manichino ancora ogni scatto a una posizione del corpo. È la condizione che rende confrontabili due acquisizioni della stessa lesione a distanza di mesi, ed è anche il modo in cui il paziente costruisce nel tempo una mappa delle proprie lesioni.
Lo strumento per il clinico è l’altro estremo: un tavolo di acquisizione multimodale con dermatoscopio digitale e modulo di spettroscopia, collegato a una web app che raccoglie l’esame e lo chiude in un pacchetto dati tracciato.
La rete clinica
Il dato clinico è arrivato da una rete costruita pezzo per pezzo in Toscana. L’Azienda Ospedaliero-Universitaria Senese ha approvato il protocollo e abilitato il flusso retrospettivo; l’Azienda USL Toscana Nord Ovest ha abilitato il proprio flusso attraverso l’Accordo Quadro, con i centri di Siena, Livorno, Lucca, Pisa, Massa-Carrara e Pontedera.
Sul fronte metodologico il gruppo ha pubblicato una revisione sistematica con meta-analisi in Frontiers in Medicine il 21 aprile 2021, Comparative Analysis of Diagnostic Techniques for Melanoma Detection (Blundo, Cignoni, Banfi, Ciuti), che confronta le tecniche non invasive alternative alla dermoscopia nella pratica clinica.
Cosa rende difficile la classificazione
Un classificatore di lesioni cutanee non risponde a una domanda binaria. La mappa di riferimento è la tassonomia ad albero delle malattie della pelle che Esteva e colleghi hanno usato in Dermatologist-level classification of skin cancer with deep neural networks (Nature, 2017), il lavoro che ha fissato il termine di paragone per chiunque sia arrivato dopo. È una tassonomia organizzata clinicamente e visivamente da esperti medici: il melanoma è un nodo fra molti, e le forme benigne e non neoplastiche coprono la maggior parte di ciò che una fotocamera incontra.
Ridisegno della tassonomia ad albero delle malattie della pelle di Esteva et al., 2017, fig. 2a, che nell’originale mostra un sottoinsieme dei livelli superiori (il paper ha un corrigendum in Nature 546, 686). La difficoltà del compito sta nei rami vicini al melanoma: un nevo atipico, una cheratosi seborroica o una lentigo solare condividono con lui segni che l’immagine da sola non separa.
Da qui discendono due conseguenze operative che hanno guidato il progetto. La prima è che il dataset deve coprire le classi confondenti, non solo le due che interessano. La seconda riguarda il modo in cui il risultato viene mostrato: con una prevalenza dell’1% e un classificatore al 95% di specificità e 99% di sensibilità, l’84% dei positivi generati è un falso positivo. È l’errore di base rate descritto in letteratura (Gigerenzer, Psychol. Sci. Public Interest, 2008), e in un’app di consumo diventa un problema di prodotto prima che di modello: la stessa letteratura mostra che presentare le probabilità per classe alza l’accuratezza dei valutatori umani dal 63,6% al 77,0% (Tschandl, Nature Medicine, 2020). Per questo l’esito è una probabilità con un rinvio esplicito al dermatologo, non un verdetto.

L’esito restituito all’utente: una probabilità di malignità, in una scala continua con soglie cromatiche, e non una classificazione secca fra benigno e maligno.
Le tre linee di ricerca
- Software, rilevamento di lesioni cutanee basato su deep learning: benchmark di performance super-umana, architetture DL efficienti tramite tecniche di ottimizzazione (AdaNet, AmoebaNet, NasNet), robustezza della classificazione con training regimen, data augmentation e generation
- Hardware, dispositivo integrato di sensing multimodale e inferenza DL: layout di sistema, progettazione dei sotto-moduli, integrazione infrastrutturale, con un add-on dermatoscopico per smartphone e un tavolo di raccolta dati con dermatoscopio digitale e spettroscopia VIS-NIR
- Tracciabilità totale di campioni biologici e dati clinici lungo l’intera catena di automazione del laboratorio
L’approccio adottato è stato incrementale: partendo dall’implementazione di un modello allo stato dell’arte (SoA), per poi superarlo con tecniche proprietarie, seguendo un paradigma di sviluppo iterativo, dai prototipi a code base stabili.
Una quarta linea, aperta più tardi, ha portato la miniaturizzazione avanti: modulo di ispezione termica con camera iperspettrale e stimolo termico controllato, e uno spettrometro VIS-NIR compatto basato su un elemento ottico ibrido Fresnel con reticolo.
Il gruppo di lavoro
- Gruppo INPECO — committente, leader mondiale nell’automazione pre-analitica e post-analitica di laboratorio
- Istituto di BioRobotica — Scuola Superiore Sant’Anna — Computer-Integrated Technologies for Robotic Surgery Laboratory, Surgical Robotics and Allied Technologies Area
- noze — architettura software AI e cloud, pipeline di dati, containerizzazione, web app e mobile app
- Centri di Dermatologia di Siena e Livorno — validazione clinica, dataset dermatologici
Il ruolo di noze
Stefano Noferi (noze) ha partecipato al progetto dal 2019 al 2023 come architetto software AI e cloud, inizialmente tramite l’Istituto di BioRobotica della Scuola Superiore Sant’Anna e successivamente in collaborazione diretta con il Gruppo INPECO, con responsabilità sulla progettazione e implementazione dell’intera infrastruttura software.
1. Architettura cloud e on-premise per la pipeline AI
Progettazione e implementazione dei sistemi cloud (Azure) e on-premise per la gestione dell’intera pipeline di intelligenza artificiale: ingestione dati, pre-processing, training, inferenza e distribuzione dei modelli. L’architettura, progettata con un approccio modulare e a microservizi, ha permesso di raccogliere dati pseudonimizzati dai vari centri dermatologici e di centralizzarne elaborazione, segmentazione e classificazione, con separazione netta tra Frontend GUI, Backend (ANN Model Class) e Patient-data API.

Il backend unico serve tre client con requisiti diversi: la web app dei clinici, lo strumento multisensore basato su Raspberry Pi e l’app del cittadino. Engine per le reti neurali, Management per utenti, dispositivi, pazienti ed esami, Storage per immagini, dati anamnestici e referti.
Il livello di accesso è a flussi multipli di autenticazione e autorizzazione, con API REST su HTTPS/TLS, OAuth2 e JSON Web Token.
2. Gestione dei dati e retraining
Implementazione dei flussi di gestione dati per tre tipologie distinte:
- Dati anamnestici — informazioni cliniche del paziente raccolte via backend Azure, elaborate dal neural engine per la valutazione del rischio anamnestico
- Immagini RGB — frame acquisiti via smartphone camera API, classificati dal neural engine per image classification con segmentazione e classificazione delle lesioni
- Dati puntuali e segnali multimodali — provenienti da spettrofotometri e altre sorgenti, archiviati nel RAW data archive
Pipeline di retraining continuo dei modelli con i nuovi dati clinici validati dai dermatologi.
La raccolta doveva reggere anche una condizione banale e molto frequente: l’ambulatorio senza rete. Il backend è quindi asincrono con I/O online-offline automatico, cache locale ottimizzata e persistenza su PostgreSQL con campi JSON, così che un esame iniziato senza connettività si chiuda e si allinei quando la rete torna.
3. Infrastruttura containerizzata
Deployment tramite container Docker con orchestrazione Redis (Redis Director + Redis Cache) per il caching e il routing delle richieste di inferenza verso i modelli neurali. Architettura SoA trunk per la persistenza e il recupero dei dati paziente.
Sopra questo livello è stato costruito un cluster Kubernetes cloud-native con modelli ML sostituibili a caldo e flussi automatici di continuous integration, training e delivery, gestito da una console web per gli amministratori.
4. Interfacce web e mobile
Sviluppo della web app dedicata ai dermatologi (React) per la visualizzazione delle classificazioni, la revisione delle diagnosi assistite da AI e la gestione dei dataset di training. Sviluppo dell’app mobile per i pazienti (React Native) per l’acquisizione guidata delle immagini delle lesioni e la consultazione dei referti. Backend in Python/Django con API REST.

La web app dei clinici. Il cruscotto tiene insieme il volume acquisito e le due code che contano: le immagini e gli esami in attesa di revisione, con la valutazione del dermatologo che rientra nel dataset di training.
Attività condotta in collaborazione con i centri di dermatologia di Siena e Livorno per la validazione clinica dei risultati.
I modelli
La pipeline di visione è stata costruita in tre stadi separati, ciascuno con un proprio modello: individuazione della regione di interesse nell’immagine dermoscopica, segmentazione della lesione dentro la ROI, classificazione con metodo ensemble.
Per il primo stadio sono state messe a confronto due famiglie, un Single Shot Detector con backbone VGG-16 e un EfficientDet, addestrate su ISIC 2018 (2.594 immagini con maschere, da cui sono state derivate le bounding box in formato Pascal VOC). Per la classificazione il riferimento erano le architetture della famiglia EfficientNet e gli ensemble che avevano vinto la SIIM-ISIC 2020, su un dataset esteso oltre le 46.000 immagini di training a partire dalle release ISIC 2016-2020.
Attorno ai modelli è stato costruito il contorno che decide se un training arriva in fondo: un generatore di data augmentation custom, online e su CPU, con supporto albumentations e generazione parallela thread-safe; uno scheduler cosine annealing con restart, adottato dopo che il decadimento lineare faceva stagnare l’addestramento in minimi locali; la sostituzione della batch normalization con group normalization e weight standardization; e una rete siamese costruita su backbone convoluzionali per il confronto fra lesioni. Il training girava su un cluster GPU dedicato, con tempi dell’ordine dei giorni per singolo modello.
All’analisi morfologica è stata affiancata una descrizione quantitativa della lesione con 19 feature di bordo e colore, pensata per affiancare la 7-point checklist usata dal dermatologo con misure calcolate invece che stimate a occhio.
Tecnologie e approccio
Deep Learning con reti CNN per classificazione e segmentazione di immagini dermatologiche. Azure come piattaforma cloud, Docker e Kubernetes per containerizzazione e orchestrazione, Redis per caching e routing, Python/Django e REST API per il backend, OAuth2 e JWT per autenticazione e autorizzazione, PostgreSQL con campi JSON per la persistenza, React e React Native per le interfacce. Stack Python/TensorFlow per i modelli neurali. Architettura modulare ispirata ai principi Industry 4.0 con gestione centralizzata di dati pseudonimizzati, privacy by design e tracciabilità end-to-end dei campioni.
