Cos’è U-Net? U-Net è una Fully Convolutional Network (FCN) sviluppata per applicazioni in campo medico: l’individuazione di tumori nei polmoni e nel cervello attraverso l’Image Segmentation.
Com’è fatta una U’Net?
In sintesi, l’architettura di una U-Net è costiuita da:
- Un encoder che riduce (down-sample) l’immagine in ingresso in una feature map, attraverso pooling layers, estraendone gli elementi chiave
- Un decoder che amplifica (up sample) la feature map in una immagine, usando i livelli di deconvoluzione, impiegando cioè i pooling layers appresi per permettere la localizzazione degli elementi.
Sai perché vengono chiamate U-Net? L’immagine sottostante sembra essere sufficientemente esplicativa, sebbene non chiarisca il motivo di una simile struttura a U.
Seguimi: sto per svelarti il perché della loro struttura a U.
Continua a leggere…
UNet for Image Segmentation
La struttura delle U-Net, che vedremo tra poco, le rende particolarmente adatte a risolvere problemi di segmentazione delle immagini.
Senza ulteriori indugi, esploriamone la composizione!
Struttura U-Net FCN Networks
La caratteristica distintiva di una rete neurale U-Net è costituita dalle così dette connessioni scorciatoia (shortcut connection).
Per capire la loro utilità e le esigenze della loro presenza, dobbiamo fare un passo indietro.
Nel nostro post sulle Fully Convolutional Networks abbiamo appreso che nella riduzione delle dimensioni operata dall’encoder la perdita di informazione è significativa.
Il decoder fatica quindi a effettuare l’up-sampling con un conseguente risultato mediocre.
Le FCN gestiscono allora la perdita di informazioni ricostruendo l’immagine e recuperando parte delle informazioni dai filtri di pooling prima della sintesi dalla feature map.
Le reti U-Net propongono invece una soluzione differente.
La struttura base rimane invariata, con due percorsi simmetrici che chiamiamo:
- Encoder, o percorso di contrazione (contraction path) che cattura il contesto dell’immagine. È costituito da livelli di convoluzione e di max pooling al pari di una Convolutional Neural Network.
- Decoder, o percorso di espansione (expanding path) che localizza con precisione gli elementi dell’immagine attraverso le convoluzioni trasposte (transposed convolutions).
Ogni up-sampling layer del decoder riceve i dati dal corrispondete down sampling layer dell’encoder.
In questo modo siamo in grado di catturare più informazioni contenendo la complessità computazionale.
Chiaramente i livelli iniziali dell’encoder contengono più informazioni, ergo per cui garantiscono un significativo boost nel processo di up-sampling permettendo il recupero di dettagli e migliorando significativamente il risultato.
Ecco che introduciamo le shortcut connection.
Più nello specifico la prima shortcut connections crea un ponte tra l’encoder prima del’iniziale filtro di pooling e il decoder dopo l’ultima operazione di deconvoluzione.
A questa se ne aggiungo altre, con un funzionamento analogo.
In questa pubblicazione accademica è poi presentata una nuova loss function per migliorare ulteriormente le prestazioni.
Per il momento è tutto.
Per aspera, ad astra.
Un caldo abbraccio, Andrea