Connect with us

DiffSeg : Segmentazione Zero-Shot Non Supervisionata utilizzando Stable Diffusion

Intelligenza artificiale

DiffSeg : Segmentazione Zero-Shot Non Supervisionata utilizzando Stable Diffusion

mm
DiffSeg : Unsupervised Zero-Shot Segmentation using Stable Diffusion

Una delle sfide principali nei modelli basati sulla visione artificiale è la generazione di maschere di segmentazione di alta qualità. I recenti progressi nell’addestramento supervisionato su larga scala hanno reso possibile la segmentazione zero-shot su vari stili di immagini. Inoltre, l’addestramento non supervisionato ha semplificato la segmentazione senza la necessità di estensive annotazioni. Nonostante questi sviluppi, costruire un framework di visione artificiale in grado di segmentare qualsiasi cosa in un ambiente zero-shot senza annotazioni rimane una task complessa. La segmentazione semantica, un concetto fondamentale nei modelli di visione artificiale, consiste nel dividere un’immagine in regioni più piccole con semantica uniforme. Questa tecnica costituisce la base per numerose task a valle, come l’imaging medico, la modifica di immagini, la guida autonoma e molto altro.

Per avanzare lo sviluppo dei modelli di visione artificiale, è cruciale che la segmentazione delle immagini non sia limitata a un set di dati fisso con categorie limitate. Invece, dovrebbe agire come una task fondamentale versatile per varie altre applicazioni. Tuttavia, il costo elevato di raccolta di etichette su base per pixel presenta una sfida significativa, limitando il progresso dei metodi di segmentazione zero-shot e supervisionata che richiedono annotazioni e mancano di accesso preventivo al target. Questo articolo discuterà come i layer di auto-attenzione nei modelli di diffusione stabile possano facilitare la creazione di un modello in grado di segmentare qualsiasi input in un ambiente zero-shot, anche senza annotazioni adeguate. Questi layer di auto-atenzione comprendono intrinsecamente i concetti di oggetto appresi da un modello di diffusione stabile pre-addestrato.

DiffSeg : Un Algoritmo di Segmentazione Zero-Shot Migliorato

La segmentazione semantica è un processo che divide un’immagine in varie sezioni, con ogni sezione che condivide semantica simile. Questa tecnica costituisce la base per numerose task a valle. Tradizionalmente, le task di visione artificiale zero-shot dipendevano dalla segmentazione semantica supervisionata, utilizzando grandi set di dati con categorie annotate e etichettate. Tuttavia, implementare la segmentazione semantica non supervisionata in un ambiente zero-shot rimane una sfida. Mentre i metodi supervisionati tradizionali sono efficaci, il loro costo di etichettatura per pixel è spesso proibitivo, sottolineando la necessità di sviluppare metodi di segmentazione non supervisionati in un ambiente zero-shot meno restrittivo, in cui il modello non richiede dati annotati né conoscenza preventiva dei dati.

Per affrontare questa limitazione, DiffSeg introduce una nuova strategia di post-elaborazione, sfruttando le capacità del framework di diffusione stabile per costruire un modello di segmentazione generico in grado di trasferimento zero-shot su qualsiasi immagine. I framework di diffusione stabile hanno dimostrato la loro efficacia nella generazione di immagini ad alta risoluzione in base a condizioni di prompt. Per le immagini generate, questi framework possono produrre maschere di segmentazione utilizzando prompt di testo corrispondenti, che di solito includono solo oggetti di primo piano dominanti.

Al contrario, DiffSeg è un metodo di post-elaborazione innovativo che crea maschere di segmentazione utilizzando tensori di attenzione dai layer di auto-atenzione in un modello di diffusione. L’algoritmo DiffSeg è composto da tre componenti chiave: fusione di attenzione iterativa, aggregazione di attenzione e soppressione non massima, come illustrato nell’immagine seguente.

L’algoritmo DiffSeg preserva le informazioni visive attraverso più risoluzioni aggregando i tensori di attenzione 4D con coerenza spaziale e utilizzando un processo di fusione iterativo campionando punti di ancoraggio. Questi ancoraggi servono come punto di partenza per la fusione delle maschere di attenzione con gli stessi oggetti assorbiti alla fine. Il framework DiffSeg controlla il processo di fusione con l’aiuto del metodo di divergenza di KL per misurare la somiglianza tra due mappe di attenzione.

Quando confrontato con i metodi di segmentazione non supervisionati basati su clustering, gli sviluppatori non devono specificare il numero di cluster in anticipo nell’algoritmo DiffSeg, e anche senza alcuna conoscenza preventiva, l’algoritmo DiffSeg può produrre segmentazione senza utilizzare risorse aggiuntive. Nel complesso, l’algoritmo DiffSeg è un metodo di segmentazione non supervisionato e zero-shot che utilizza un modello di diffusione stabile pre-addestrato e può segmentare immagini senza risorse aggiuntive o conoscenza preventiva.

DiffSeg : Concetti Fondamentali

DiffSeg è un algoritmo innovativo che si basa sulle conoscenze dei modelli di diffusione, della segmentazione non supervisionata e della segmentazione zero-shot.

Modelli di Diffusione

L’algoritmo DiffSeg si basa sulle conoscenze acquisite dai modelli di diffusione pre-addestrati. I modelli di diffusione sono uno dei framework generativi più popolari per i modelli di visione artificiale e apprendono il processo di diffusione in avanti e all’indietro da un’immagine di rumore gaussiano isotropico campionato per generare un’immagine. La diffusione stabile è la variante più popolare dei modelli di diffusione e viene utilizzata per eseguire una vasta gamma di task, tra cui segmentazione supervisionata, classificazione zero-shot, corrispondenza semantica, segmentazione efficiente in termini di etichette e segmentazione a vocabolario aperto. Tuttavia, il problema con i modelli di diffusione è che si basano su caratteristiche visive ad alta dimensionalità per eseguire queste task e spesso richiedono un addestramento aggiuntivo per sfruttare appieno queste caratteristiche.

Segmentazione Non Supervisionata

L’algoritmo DiffSeg è strettamente legato alla segmentazione non supervisionata, una pratica di intelligenza artificiale moderna che mira a generare maschere di segmentazione dense senza utilizzare annotazioni. Tuttavia, per fornire prestazioni valide, i modelli di segmentazione non supervisionati richiedono un addestramento non supervisionato preventivo sul set di dati di destinazione. I framework di segmentazione non supervisionata basati sull’intelligenza artificiale possono essere caratterizzati in due categorie: clustering che utilizza modelli pre-addestrati e clustering basato sull’invarianza. Nella prima categoria, i framework utilizzano le caratteristiche discriminatorie apprese dai modelli pre-addestrati per generare maschere di segmentazione, mentre i framework che rientrano nella seconda categoria utilizzano un algoritmo di clustering generico che ottimizza l’informazione reciproca tra due immagini per segmentare le immagini in cluster semantici e evitare la segmentazione degenerata.

Segmentazione Zero-Shot

L’algoritmo DiffSeg è strettamente legato ai framework di segmentazione zero-shot, un metodo in grado di segmentare qualsiasi cosa senza addestramento preventivo o conoscenza dei dati. I modelli di segmentazione zero-shot hanno dimostrato capacità di trasferimento zero-shot eccezionali di recente, sebbene richiedano input di testo e prompt. Al contrario, l’algoritmo DiffSeg utilizza un modello di diffusione per generare segmentazione senza richiedere la query e la sintesi di più immagini e senza conoscere il contenuto dell’oggetto.

DiffSeg : Metodo e Architettura

L’algoritmo DiffSeg utilizza i layer di auto-atenzione in un modello di diffusione stabile pre-addestrato per generare task di segmentazione di alta qualità.

Modello di Diffusione Stabile

La diffusione stabile è uno dei concetti fondamentali nel framework DiffSeg. La diffusione stabile è un framework generativo di intelligenza artificiale e uno dei modelli di diffusione più popolari. Una delle caratteristiche principali di un modello di diffusione è il passaggio in avanti e il passaggio all’indietro. Nel passaggio in avanti, viene aggiunto un piccolo amount di rumore gaussiano a un’immagine in modo iterativo a ogni passo temporale fino a quando l’immagine diventa un’immagine di rumore gaussiano isotropico. Nel passaggio all’indietro, il modello di diffusione rimuove iterativamente il rumore nell’immagine di rumore gaussiano isotropico per recuperare l’immagine originale senza rumore gaussiano.

Il framework di diffusione stabile utilizza un encoder-decoder e un design U-Net con layer di attenzione, dove utilizza un encoder per comprimere un’immagine in uno spazio latente con dimensioni spaziali più piccole e utilizza il decoder per decomprimere l’immagine. L’architettura U-Net consiste in uno stack di blocchi modulari, dove ogni blocco è composto da uno dei due componenti seguenti: un layer di trasformazione o un layer di rete neurale.

Componenti e Architettura

I layer di auto-atenzione nei modelli di diffusione raggruppano le informazioni degli oggetti inerenti sotto forma di mappe di attenzione spaziale e DiffSeg è un metodo di post-elaborazione innovativo per fondere i tensori di attenzione in una maschera di segmentazione valida, con una pipeline che consiste in tre componenti principali: aggregazione di attenzione, soppressione non massima e attenzione iterativa.

Aggregazione di Attenzione

Per un’immagine di input che passa attraverso i layer U-Net e l’encoder, il modello di diffusione stabile genera un totale di 16 tensori di attenzione, con 5 tensori per ogni dimensione. L’obiettivo principale della generazione di 16 tensori è quello di aggregare questi tensori di attenzione con risoluzioni diverse in un tensore con la risoluzione più alta possibile. Per raggiungere questo obiettivo, l’algoritmo DiffSeg tratta le 4 dimensioni in modo diverso.

Tra le quattro dimensioni, le ultime 2 dimensioni nei sensori di attenzione hanno risoluzioni diverse, ma sono coerenti spazialmente, poiché la mappa spaziale 2D del framework DiffSeg corrisponde alla correlazione tra le posizioni e le posizioni spaziali. Di conseguenza, il framework DiffSeg campiona queste due dimensioni di tutte le mappe di attenzione alla risoluzione più alta di tutte, 64 x 64. D’altra parte, le prime 2 dimensioni indicano la posizione di riferimento delle mappe di attenzione, come dimostrato nell’immagine seguente.

Poiché queste dimensioni si riferiscono alla posizione delle mappe di attenzione, le mappe di attenzione devono essere aggregate di conseguenza. Inoltre, per garantire che la mappa di attenzione aggregata abbia una distribuzione valida, il framework normalizza la distribuzione dopo l’aggregazione, con ogni mappa di attenzione assegnata a un peso proporzionale alla sua risoluzione.

Fusione di Attenzione Iterativa

Mentre l’obiettivo principale dell’aggregazione di attenzione era calcolare un tensore di attenzione, l’obiettivo principale è fondere le mappe di attenzione nel tensore in un insieme di proposte di oggetto, dove ogni proposta individuale contiene la categoria di stuff o l’attivazione di un singolo oggetto. La soluzione proposta per raggiungere questo obiettivo è implementare un algoritmo K-Means sulle mappe di attenzione valide per trovare i cluster degli oggetti. Tuttavia, l’utilizzo di K-Means non è la soluzione ottimale, poiché il clustering K-Means richiede all’utente di specificare il numero di cluster in anticipo. Inoltre, l’implementazione di un algoritmo K-Means potrebbe produrre risultati diversi per la stessa immagine, poiché dipende stocasticamente dall’inizializzazione. Per superare questo ostacolo, il framework DiffSeg propone di generare una griglia di campionamento per creare le proposte fondendo le mappe di attenzione in modo iterativo.

Soppressione Non Massima

Il passaggio precedente di fusione di attenzione iterativa produce un elenco di proposte di oggetto sotto forma di mappe di attenzione di probabilità, dove ogni proposta di oggetto contiene l’attivazione dell’oggetto. Il framework utilizza la soppressione non massima per convertire l’elenco di proposte di oggetto in una maschera di segmentazione valida, e il processo è un approccio efficace, poiché ogni elemento nell’elenco è già una mappa della distribuzione di probabilità. Per ogni posizione spaziale in tutte le mappe, l’algoritmo prende l’indice della probabilità più grande e assegna una membership in base all’indice della mappa corrispondente.

DiffSeg : Esperimenti e Risultati

I framework che lavorano sulla segmentazione non supervisionata utilizzano due benchmark di segmentazione, ovvero Cityscapes e COCO-stuff-27. Il benchmark Cityscapes è un set di dati di guida autonoma con 27 categorie di livello medio, mentre il benchmark COCO-stuff-27 è una versione curata del set di dati COCO-stuff originale che unisce 80 cose e 91 categorie in 27 categorie. Inoltre, per analizzare le prestazioni di segmentazione, il framework DiffSeg utilizza l’intersezione media su unione o mIoU e l’accuratezza dei pixel o ACC, e poiché l’algoritmo DiffSeg non è in grado di fornire un’etichetta semantica, utilizza l’algoritmo di corrispondenza ungherese per assegnare una maschera di ground truth a ogni maschera prevista. Nel caso in cui il numero di maschere previste superi il numero di maschere di ground truth, il framework considererà le task previste non corrispondenti come falsi negativi.

Inoltre, il framework DiffSeg enfatizza anche i seguenti tre lavori per eseguire l’interferenza: Dipendenza dal Linguaggio o LD, Adattamento Non Supervisionato o UA e Immagine Ausiliaria o AX. La dipendenza dal linguaggio significa che il metodo richiede input di testo descrittivo per facilitare la segmentazione dell’immagine, l’adattamento non supervisionato si riferisce alla necessità per il metodo di utilizzare l’addestramento non supervisionato sul set di dati di destinazione, mentre l’immagine ausiliaria significa che il metodo richiede input aggiuntivo, sia come immagini sintetiche che come pool di immagini di riferimento.

Risultati

Sul benchmark COCO, il framework DiffSeg include due baseline K-Means, K-Means-S e K-Means-C. La baseline K-Means-C include 6 cluster che sono stati calcolati mediando il numero di oggetti nelle immagini che valuta, mentre la baseline K-Means-S utilizza un numero specifico di cluster per ogni immagine in base al numero di oggetti presenti nel ground truth dell’immagine, e i risultati su entrambe le baseline sono dimostrati nell’immagine seguente.

Come si può vedere, la baseline K-Means supera i metodi esistenti, dimostrando il beneficio dell’utilizzo dei tensori di auto-atenzione. Ciò che è interessante è che la baseline K-Means-S supera la baseline K-Means-C, il che indica che il numero di cluster è un parametro fondamentale e che regolarlo è importante per ogni immagine. Inoltre, anche quando si affidano agli stessi tensori di attenzione, il framework DiffSeg supera le baseline K-Means, dimostrando la capacità del framework DiffSeg di fornire non solo una segmentazione migliore, ma anche di evitare gli svantaggi posti dall’utilizzo delle baseline K-Means.

Sul set di dati Cityscapes, il framework DiffSeg fornisce risultati simili ai framework che utilizzano input con risoluzione inferiore di 320, mentre supera i framework che utilizzano input con risoluzione superiore di 512 in termini di accuratezza e mIoU.

Come menzionato in precedenza, il framework DiffSeg utilizza diversi parametri, come dimostrato nell’immagine seguente.

L’aggregazione di attenzione è uno dei concetti fondamentali utilizzati nel framework DiffSeg, e gli effetti dell’utilizzo di pesi di aggregazione diversi sono dimostrati nell’immagine seguente, con la risoluzione dell’immagine costante.

Come si può osservare, le mappe ad alta risoluzione in Fig (b) con mappe 64 x 64 producono segmentazioni più dettagliate, sebbene le segmentazioni abbiano alcune fratture visibili, mentre le mappe a bassa risoluzione 32 x 32 tendono a sovrasegmentare i dettagli, sebbene producano segmentazioni più coerenti. In Fig (d), le mappe a bassa risoluzione non riescono a generare alcuna segmentazione, poiché l’intera immagine viene fusa in un singolo oggetto con le impostazioni dei parametri esistenti. Infine, la Fig (a) che utilizza una strategia di aggregazione proporzionale produce dettagli migliorati e coerenza equilibrata.

Pensieri Finali

La segmentazione zero-shot non supervisionata è ancora una delle sfide più grandi per i framework di visione artificiale, e i modelli esistenti dipendono o dall’adattamento non supervisionato non zero-shot o da risorse esterne. Per superare questo ostacolo, abbiamo discusso come i layer di auto-atenzione nei modelli di diffusione stabile possano consentire la costruzione di un modello in grado di segmentare qualsiasi input in un ambiente zero-shot senza annotazioni adeguate, poiché questi layer di auto-atenzione comprendono intrinsecamente i concetti di oggetto appresi da un modello di diffusione stabile pre-addestrato. Abbiamo anche discusso di DiffSeg, una strategia di post-elaborazione innovativa, che mira a sfruttare il potenziale del framework di diffusione stabile per costruire un modello di segmentazione generico che possa implementare il trasferimento zero-shot su qualsiasi immagine. L’algoritmo si basa sulla similarità di attenzione inter-attenzione e intra-attenzione per fondere le mappe di attenzione in modo iterativo in maschere di segmentazione valide per raggiungere prestazioni di stato dell’arte sui benchmark popolari.

Un ingegnere per professione, uno scrittore per passione. Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedicato a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.