U-Net è un'architettura specializzata di rete neurale convoluzionale (CNN) originariamente sviluppata per compiti di segmentazione di immagini biomediche. La sua caratteristica struttura a forma di U consente una localizzazione e una segmentazione precisa degli oggetti all'interno delle immagini, anche con dati di addestramento limitati. Introdotta da Olaf Ronneberger, Philipp Fischer e Thomas Brox nell'articolo del 2015"U-Net: Convolutional Networks for Biomedical Image Segmentation", U-Net è diventata rapidamente influente al di là del suo dominio iniziale grazie alla sua efficacia in diverse applicazioni di computer vision (CV) che richiedono una classificazione a livello di pixel.
Architettura di base
L'architettura di U-Net è composta da due percorsi principali collegati in modo da assomigliare alla lettera "U": un percorso di contrazione (noto anche come encoder) e un percorso di espansione (noto anche come decoder).
- Percorso di contrazione (Encoder): Questo percorso segue l'architettura tipica di una CNN. Consiste nell'applicazione ripetuta di due convoluzioni 3x3 (convoluzioni non imbottite), ognuna seguita da una funzione di attivazione ReLU (Rectified Linear Unit) e poi da un'operazione di pooling 2x2 max con passo 2 per il ricampionamento. A ogni passo di downsampling, il numero di canali delle caratteristiche viene raddoppiato. Questo percorso cattura il contesto dell'immagine di ingresso, riducendo progressivamente la risoluzione spaziale e aumentando le informazioni sulle caratteristiche.
- Percorso espansivo (Decoder): Questo percorso consiste in passaggi ripetuti di up-sampling della mappa delle caratteristiche seguiti da una convoluzione 2x2 ("up-convolution") che dimezza il numero di canali delle caratteristiche, una concatenazione con la mappa delle caratteristiche ritagliata corrispondente dal percorso di contrazione e due convoluzioni 3x3, ciascuna seguita da una ReLU. Il ritaglio è necessario a causa della perdita di pixel di confine in ogni convoluzione. Lo strato finale utilizza una convoluzione 1x1 per mappare ogni vettore di caratteristiche al numero di classi desiderato. Questo percorso consente una localizzazione precisa aumentando gradualmente la risoluzione dell'output e combinandola con le caratteristiche ad alta risoluzione del percorso di contrazione tramite connessioni di salto. Le architetture encoder-decoder come U-Net sono comuni nelle attività di segmentazione.
- Connessioni a salto: L'innovazione chiave che collega questi due percorsi è l'uso delle connessioni di salto. Queste connessioni copiano le mappe di caratteristiche dai livelli del percorso di contrazione e le concatenano con le corrispondenti mappe di caratteristiche campionate nel percorso di espansione. Questo permette al decodificatore di accedere direttamente alle caratteristiche ad alta risoluzione apprese dal codificatore, il che è fondamentale per produrre mappe di segmentazione con dettagli precisi.
Caratteristiche e vantaggi principali
Il design di U-Net offre diversi vantaggi, in particolare per le attività di segmentazione:
- Localizzazione precisa: Il percorso ampio combinato con le connessioni saltate permette alla rete di generare maschere di segmentazione con dettagli molto precisi.
- Efficienza con piccoli set di dati: U-Net può essere addestrata in modo efficace anche con set di dati di formazione relativamente piccoli, cosa comune nell'analisi delle immagini mediche. L'uso di un ampio incremento dei dati viene spesso impiegato insieme a U-Net per insegnare alla rete le invarianze desiderate.
- Formazione end-to-end: L'intera rete può essere addestrata direttamente dalle immagini di ingresso alle mappe di segmentazione di uscita, semplificando la pipeline di addestramento.
- Buona generalizzazione: Ha dimostrato ottime prestazioni non solo nell'imaging medico ma anche in altri ambiti che richiedono una segmentazione precisa.
Applicazioni del mondo reale
Sebbene sia stata inizialmente progettata per l'imaging biomedico, l'architettura di U-Net è versatile ed è stata adattata a numerose applicazioni:
Distinguere U-Net da concetti simili
U-Net si concentra principalmente sulla segmentazione semantica, assegnando un'etichetta di classe (ad esempio, "tumore", "strada", "edificio") a ciascun pixel di un'immagine. Questo differisce da:
- Segmentazione delle istanze: Questo compito non si limita a classificare i pixel, ma distingue anche le singole istanze di oggetti appartenenti alla stessa classe (ad esempio, etichettando distintamente auto_1, auto_2, auto_3). Sebbene U-Net possa essere adattata per la segmentazione delle istanze, modelli come Mask R-CNN sono spesso più adatti a questo scopo.
- Rilevamento degli oggetti: Si tratta di identificare gli oggetti e disegnare dei riquadri di delimitazione attorno ad essi, piuttosto che classificare ogni pixel. Modelli come Ultralytics YOLO sono lo stato dell'arte per il rilevamento degli oggetti, noti per la loro velocità e precisione.
- Modelli di segmentazione moderni: Mentre U-Net rimane influente, le nuove architetture, comprese le varianti di segmentazione di modelli come Ultralytics YOLOv8 e YOLO11offrono potenti capacità di segmentazione, spesso ottimizzate per un'inferenza più rapida in tempo reale e sfruttando i progressi del deep learning, come i blocchi trasformatori o i progetti privi di ancore.