Glossario

U-Net

Scopri U-Net, la potente architettura CNN per la segmentazione semantica. Scopri le sue applicazioni in campo medico, satellitare e di imaging autonomo.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

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).

  1. 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.
  2. 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.
  3. 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:

Formazione e strumenti

L'addestramento di una U-Net richiede dati annotati a livello di pixel, dove ogni pixel delle immagini di addestramento viene etichettato con la classe corrispondente. Questo processo di annotazione dei dati può richiedere molto lavoro, soprattutto nel caso di immagini mediche o satellitari complesse. I modelli U-Net sono in genere implementati e addestrati utilizzando i più diffusi framework di deep learning, come ad esempio PyTorchPyTorch sito ufficiale diPyTorch ) e TensorFlowTensorFlow ). Librerie come OpenCV sono spesso utilizzate per il caricamento e la pre-elaborazione delle immagini. Piattaforme come Ultralytics HUB possono aiutare a gestire i dataset e a semplificare il processo di formazione dei modelli, anche per attività di segmentazione complesse. Un addestramento efficace spesso comporta un'attenta regolazione degli iperparametri e l'esplorazione di diversi algoritmi di ottimizzazione.

Leggi tutto