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 nel 2015, U-Net è diventata rapidamente influente al di là del suo ambito 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 della U-Net è composta da due percorsi principali: un percorso di contrazione (encoder) e un percorso di espansione (decoder), che formano la caratteristica forma a "U".

  1. Percorso di contrazione (Encoder): Segue una struttura tipica delle CNN. Comporta l'applicazione ripetuta di convoluzioni, seguite da funzioni di attivazione ReLU (Rectified Linear Unit) e da operazioni di max pooling. Questo percorso cattura il contesto dell'immagine di ingresso riducendo progressivamente la risoluzione spaziale e aumentando il numero di mappe di caratteristiche, codificando di fatto l'immagine in una rappresentazione compatta. Questo concetto è fondamentale per molte architetture di codifica-decodifica.
  2. Percorso espansivo (Decoder): Questo percorso espande simmetricamente le mappe delle caratteristiche fino alla risoluzione dell'immagine originale. Consiste in convoluzioni ascendenti (o convoluzioni trasposte) che aumentano la risoluzione, seguite da convoluzioni standard. In particolare, ogni fase del percorso espansivo concatena la mappa delle caratteristiche convoluta verso l'alto con la corrispondente mappa delle caratteristiche ad alta risoluzione del percorso di contrazione tramite connessioni di salto.
  3. Connessioni saltate: Sono il segno distintivo di U-Net. Collegano direttamente le mappe di caratteristiche dell'encoder ai livelli corrispondenti del decoder. Questo permette al decodificatore di riutilizzare le informazioni spaziali ad alta risoluzione apprese dal codificatore, fondamentali per ottenere una localizzazione precisa nella mappa di segmentazione finale. Una spiegazione delle connessioni di salto può fornire un ulteriore contesto.

Caratteristiche e vantaggi principali

Il design di U-Net offre diversi vantaggi, in particolare per le attività di segmentazione:

  • Localizzazione precisa: Le connessioni a salto permettono alla rete di combinare informazioni contestuali profonde (provenienti dagli strati inferiori del codificatore) con dettagli spaziali a grana fine (provenienti dagli strati precedenti del codificatore).
  • Efficienza con dati limitati: Il sistema funziona bene anche con set di dati più piccoli, uno scenario comune nell'analisi delle immagini mediche in cui i dati annotati possono essere scarsi.
  • Formazione end-to-end: L'intera rete può essere addestrata direttamente dall'immagine di ingresso alla mappa di segmentazione di uscita.

Applicazioni del mondo reale

Anche se inizialmente è stata progettata per l'imaging biomedico, l'architettura di U-Net è versatile:

Distinguere U-Net da concetti simili

U-Net si concentra principalmente sulla segmentazione semantica, assegnando un'etichetta di classe a ogni pixel. Questa differisce dalla segmentazione delle istanze, che distingue le singole istanze di oggetti appartenenti alla stessa classe. Mentre U-Net può essere adattata per la segmentazione delle istanze, modelli come Mask R-CNN sono spesso più adatti a questo compito. Modelli moderni come Ultralytics YOLOv8 offrono anch'essi potenti capacità di segmentazione, spesso ottimizzate per la velocità e le prestazioni in tempo reale, potenzialmente utilizzando approcci architetturali diversi influenzati dai progressi del deep learning.

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, noto come annotazione dei dati, spesso richiede molto lavoro. I modelli U-Net sono in genere implementati e addestrati con i più diffusi framework di deep learning, come ad esempio PyTorch e TensorFlow.

Leggi tutto