Guida all'architettura U-Net e alle sue applicazioni

Abirami Vina

5 minuti di lettura

15 luglio 2025

Scoprite l'architettura di U-Net, come supporta la segmentazione delle immagini, le sue applicazioni e perché è importante nell'evoluzione della computer vision.

La computer vision è una branca dell'intelligenza artificiale (AI) che si concentra sull'analisi dei dati visivi. Ha aperto la strada a molti sistemi all'avanguardia, come l'automazione del processo di ispezione dei prodotti nelle fabbriche e l'aiuto ai veicoli autonomi nella navigazione stradale. 

Uno dei compiti più noti della computer vision è il rilevamento degli oggetti. Questo compito consente ai modelli di localizzare e identificare gli oggetti all'interno di un'immagine utilizzando i riquadri di delimitazione. Sebbene i riquadri di delimitazione siano utili per varie applicazioni, forniscono solo una stima approssimativa della posizione di un oggetto.

Tuttavia, in settori come quello sanitario, dove la precisione è fondamentale, i casi d'uso di Vision AI non si limitano alla semplice identificazione di un oggetto. Spesso richiedono anche informazioni relative alla forma e alla posizione esatta degli oggetti.

È proprio questo il compito della computer vision, la segmentazione. Invece di utilizzare i riquadri di delimitazione, i modelli di segmentazione rilevano gli oggetti a livello di pixel. Nel corso degli anni, i ricercatori hanno sviluppato modelli di computer vision specializzati nella segmentazione.

Uno di questi modelli è U-Net. Anche se modelli più recenti e avanzati hanno superato le sue prestazioni, U-Net occupa un posto importante nella storia della computer vision. In questo articolo analizzeremo da vicino l'architettura di U-Net, il suo funzionamento, i settori in cui è stata utilizzata e il suo confronto con i modelli di segmentazione più moderni oggi disponibili.

Figura 1. Un esempio di segmentazione con il modello di apprendimento profondo U-Net.(Fonte)

La storia della segmentazione delle immagini

Prima di approfondire le caratteristiche di U-Net, cerchiamo di capire meglio come si sono evoluti i modelli di segmentazione delle immagini.

Inizialmente, la computer vision si basava su tecniche tradizionali come il rilevamento dei bordi, la sogliatura o la crescita delle regioni per separare gli oggetti in un'immagine. Queste tecniche venivano utilizzate per rilevare i confini degli oggetti utilizzando i bordi, separare le regioni in base all'intensità dei pixel e raggruppare i pixel simili. Funzionavano per casi semplici, ma spesso fallivano quando le immagini presentavano rumore, forme sovrapposte o confini poco chiari.

Dopo l'ascesa del deep learning nel 2012, nel 2014 i ricercatori hanno introdotto il concetto di reti completamente convoluzionali (FCN) per compiti come la segmentazione semantica. Questi modelli hanno sostituito alcune parti di una rete convoluzionale per consentire al computer di esaminare un'intera immagine in una sola volta, invece di scomporla in pezzi più piccoli. In questo modo, il modello è in grado di creare mappe dettagliate che mostrano più chiaramente il contenuto di un'immagine.

Figura 2. L'evoluzione degli algoritmi di segmentazione basati sul deep learning.(Fonte)

Basandosi sulle FCN, U-Net è stata introdotta dai ricercatori dell'Università di Friburgo nel 2015. È stata originariamente progettata per la segmentazione di immagini biomediche. In particolare, U-Net è stata progettata per ottenere buone prestazioni in situazioni in cui i dati annotati sono limitati. 

Nel frattempo, le versioni successive, come UNet++ e TransUNet, hanno aggiunto aggiornamenti come i livelli di attenzione e una migliore estrazione delle caratteristiche. I livelli di attenzione aiutano il modello a concentrarsi sulle regioni chiave, mentre l'estrazione migliorata delle caratteristiche cattura informazioni più dettagliate.

Che cos'è U-Net e come le caratteristiche fluiscono attraverso il modello?

U-Net è un modello di apprendimento profondo costruito appositamente per la segmentazione delle immagini. Prende in input un'immagine e produce una maschera di segmentazione che classifica ogni pixel in base all'oggetto o alla regione a cui appartiene.

Il modello prende il nome dalla sua architettura a forma di "U". È composto da due parti principali: un codificatore che comprime l'immagine e ne apprende le caratteristiche e un decodificatore che la espande fino alle dimensioni originali. Questo design crea una forma simmetrica a U, che aiuta il modello a comprendere sia la struttura complessiva di un'immagine che i suoi dettagli più fini.

Una caratteristica fondamentale di U-Net è l'uso di connessioni saltate, che consentono di passare le informazioni dal codificatore direttamente al decodificatore. Ciò significa che il modello può conservare dettagli importanti che potrebbero andare persi quando l'immagine viene compressa. 

Una panoramica dell'architettura di U-Net

Ecco un assaggio di come funziona l'architettura di U-Net:

  • Immagine di ingresso: U-Net parte da un'immagine 2D, come una scansione medica o una foto satellitare. L'obiettivo è assegnare un'etichetta di classe a ogni pixel dell'immagine.

  • Downsampling: L'immagine passa attraverso strati convoluzionali che apprendono importanti caratteristiche visive. Man mano che l'immagine passa attraverso diversi livelli, la sua risoluzione diminuisce e il modello identifica modelli più ampi.

  • Strato del collo di bottiglia: Al centro della rete, le mappe di caratteristiche raggiungono la risoluzione spaziale più piccola, pur catturando caratteristiche semantiche di alto livello. In parole povere, questa rappresentazione compressa delle mappe di caratteristiche è il contesto generale dell'input.

  • Sovracampionamento: La rete ricostruisce quindi l'immagine aumentando gradualmente la risoluzione. Le convoluzioni trasposte aiutano a espandere le mappe di caratteristiche verso le dimensioni originali.

  • Saltare le connessioni: Le mappe di caratteristiche del percorso di sottocampionamento vengono concatenate con quelle del percorso di sovracampionamento. Ciò consente di preservare i dettagli spaziali a grana fine, integrando al contempo le informazioni contestuali di alto livello.
  • L'output è una mappa di segmentazione: L'output finale è una maschera di segmentazione pixel-wise che corrisponde alle dimensioni dell'input. Ogni pixel viene classificato in una categoria come oggetto, sfondo o regione di interesse.
Figura 3. Schema dell'architettura di U-Net.(Fonte)

Capire la differenza tra ViT e U-Net

Esplorando U-Net, ci si potrebbe chiedere come si differenzia da altri modelli di deep learning, come il Vision Transformer (ViT), che può anche eseguire compiti di segmentazione. Sebbene entrambi i modelli possano svolgere compiti simili, si differenziano per il modo in cui sono costruiti e per come gestiscono la segmentazione.

U-Net funziona elaborando le immagini a livello di pixel attraverso strati convoluzionali in una struttura encoder-decoder. Viene spesso utilizzata per compiti che richiedono una segmentazione precisa, come le scansioni mediche o le scene di auto a guida autonoma. 

D'altra parte, il Vision Transformer (ViT) suddivide le immagini in patch e le elabora simultaneamente attraverso meccanismi di attenzione. Utilizza l'autoattenzione (un meccanismo che permette al modello di pesare l'importanza delle diverse parti dell'immagine l'una rispetto all'altra) per catturare il modo in cui le diverse parti dell'immagine si relazionano tra loro, a differenza dell'approccio convoluzionale di U-Net.

Un'altra differenza importante è che la ViT ha generalmente bisogno di più dati per funzionare bene, ma è ottima per individuare modelli complessi. U-Net, invece, funziona bene con insiemi di dati più piccoli, è più veloce da addestrare e spesso richiede meno tempo di addestramento.

Applicazioni del modello U-Net

Ora che abbiamo capito meglio cos'è U-Net e come funziona, analizziamo come U-Net è stata applicata in diversi settori.

Segmentazione delle emorragie cerebrali nell'imaging medico

U-Net è diventato un metodo affidabile per la segmentazione a livello di pixel di immagini mediche complesse, in particolare durante il suo periodo di massima diffusione nella ricerca. È stato utilizzato dai ricercatori per evidenziare le aree chiave nelle scansioni mediche, come i tumori e i segni di emorragia interna nelle immagini di TAC e risonanza magnetica. Questo approccio ha migliorato in modo significativo l'accuratezza delle diagnosi e ha semplificato l'analisi di dati medici complessi in contesti di ricerca.

Un esempio dell'impatto di U-Net nella ricerca sanitaria è il suo utilizzo per identificare ictus ed emorragie cerebrali nelle scansioni mediche. I ricercatori potrebbero utilizzare U-Net per analizzare le scansioni della testa ed evidenziare le aree problematiche, consentendo una più rapida identificazione dei casi che richiedono un'attenzione immediata.

Figura 4. Segmentazione di lesioni da ictus emorragico mediante U-Net 3D.(Fonte)

Segmentazione delle colture in agricoltura

Un'altra area in cui i ricercatori hanno utilizzato U-Net è l'agricoltura, in particolare per segmentare le colture, le erbe infestanti e il suolo. Aiuta gli agricoltori a monitorare la salute delle piante, a stimare le rese e a prendere decisioni migliori in aziende agricole di grandi dimensioni. Ad esempio, U-Net è in grado di separare le colture dalle erbe infestanti, rendendo più efficiente l'applicazione degli erbicidi e riducendo gli sprechi.

Per affrontare problemi come la sfocatura da movimento nelle immagini dei droni, i ricercatori hanno migliorato U-Net con tecniche di deblurring delle immagini. Ciò garantisce una segmentazione più chiara, anche quando i dati vengono raccolti in movimento, come nel caso dei rilevamenti aerei.

Figura 5. Separazione delle colture dalle erbacce nei campi agricoli con U-Net.(Fonte)

Guida autonoma

Prima dell'introduzione di modelli di intelligenza artificiale più avanzati, U-Net ha svolto un ruolo fondamentale nell'esplorare come la segmentazione possa migliorare la guida autonoma. Nei veicoli autonomi, la segmentazione semantica di U-Net può essere utilizzata per classificare ogni pixel di un'immagine in categorie quali strada, veicolo, pedone e segnaletica della corsia. In questo modo l'auto ha una visione chiara dell'ambiente circostante, favorendo una navigazione sicura e un processo decisionale efficace.

Figura 6. Una scena stradale in cui l'area percorribile è segmentata con U-Net.(Fonte)

Pro e contro di U-Net

Ancora oggi, U-Net rimane una buona scelta per la segmentazione delle immagini tra i ricercatori grazie al suo equilibrio tra semplicità, accuratezza e adattabilità. Ecco alcuni dei principali vantaggi che la contraddistinguono:

  • Adattabile a diverse modalità: U-Net è stato adattato a diversi tipi di dati, tra cui scansioni mediche 3D, immagini satellitari e persino fotogrammi video.

  • Inferenza veloce se ottimizzata: Se opportunamente messa a punto, U-Net può funzionare in modo efficiente, rendendola adatta ad applicazioni in tempo reale o quasi.

  • Open-source e comunità: U-Net è disponibile nelle principali librerie di deep learning ed è supportato da un'ampia comunità di sviluppatori e ricercatori.

Sebbene U-Net abbia molti punti di forza, ci sono anche alcuni limiti da tenere in considerazione. Ecco alcuni fattori da considerare: 

  • Sensibile alla qualità dei dati: Le prestazioni di U-Net possono essere influenzate negativamente da dati di scarsa qualità, come immagini rumorose o a bassa risoluzione.

  • Incline all'overfitting con insiemi di dati piccoli: Sebbene U-Net si comporti bene con dati limitati, rischia comunque di andare in overfitting se non è adeguatamente regolarizzato, in particolare quando il set di dati è troppo piccolo o manca di diversità.

  • Risorse di calcolo: U-Net può essere costoso dal punto di vista computazionale, soprattutto quando si lavora con grandi insiemi di dati, richiedendo risorse hardware significative per l'addestramento.

Punti di forza

U-Net è stata una pietra miliare nell'evoluzione della segmentazione delle immagini. Ha dimostrato che i modelli di apprendimento profondo possono fornire risultati accurati utilizzando insiemi di dati più piccoli, soprattutto in settori come l'imaging medico. 

Questa scoperta ha aperto la strada ad applicazioni più avanzate in vari campi. Con la continua evoluzione della computer vision, i modelli di segmentazione come U-Net restano fondamentali per consentire alle macchine di comprendere e interpretare i dati visivi con grande precisione.

Volete creare i vostri progetti di computer vision? Esplorate il nostro repository GitHub per approfondire il tema dell'IA e controllate le nostre opzioni di licenza. Scoprite come la computer vision nel settore sanitario sta migliorando l'efficienza ed esplorate l'impatto dell'IA nella vendita al dettaglio visitando le nostre pagine dedicate alle soluzioni! Unisciti subito alla nostra comunità in crescita!

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti