Modelli e piattaforme di IA
DiffSeg: Unsupervised Zero-Shot Segmentation utilizzando Stable Diffusion
Una delle sfide principali nei modelli di 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 attività a valle, come l’immagine medica, la modifica di immagini, la guida autonoma e molte altre.
Per avanzare lo sviluppo dei modelli di visione artificiale, è fondamentale 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 avanzato
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 attività a valle. Tradizionalmente, le attività di visione artificiale zero-shot dipendevano dalla segmentazione semantica supervisionata, utilizzando grandi set di dati con categorie annotate ed etichettate. Tuttavia, implementare la segmentazione semantica non supervisionata in un ambiente zero-shot rimane una sfida. Mentre i metodi tradizionali di supervisione sono efficaci, il loro costo di etichettatura per pixel è spesso proibitivo, evidenziando 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 su più risoluzioni aggregando i tensori di attenzione 4D con coerenza spaziale e utilizzando un processo di fusione iterativa campionando punti di ancoraggio. Questi punti di ancoraggio 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 Kullback-Leibler per misurare la similarità tra due mappe di attenzione.
Quando confrontato con i metodi di segmentazione non supervisionata basati sul 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 zero-shot e non supervisionato innovativo 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 diretto e inverso da un’immagine campionata con rumore Gaussiane isotropico per generare un’immagine. La diffusione stabile è la variante più popolare dei modelli di diffusione, e viene utilizzata per eseguire una vasta gamma di attività, 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 attività, 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 moderna di intelligenza artificiale che mira a generare maschere di segmentazione dense senza utilizzare annotazioni. Tuttavia, per ottenere prestazioni elevate, i modelli di segmentazione non supervisionata richiedono un addestramento non supervisionato preventivo sul set di dati di destinazione. I framework di segmentazione non supervisionata basati sull’intelligenza artificiale possono essere suddivisi in due categorie: clustering utilizzando modelli pre-addestrati e clustering basato sull’invarianza. Nella prima categoria, i framework utilizzano le caratteristiche discriminative 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 ed 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 o conoscenza preventiva dei dati. I modelli di segmentazione zero-shot hanno dimostrato capacità di trasferimento zero-shot eccezionali di recente, anche se richiedono input testuali e prompt. Al contrario, l’algoritmo DiffSeg utilizza un modello di diffusione per generare segmentazione senza richiedere la sintesi di multiple 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 attività 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 passo diretto e il passo inverso. Nel passo diretto, una piccola quantità di rumore Gaussiane viene aggiunta all’immagine in modo iterativo ad ogni passo temporale fino a quando l’immagine diventa un’immagine di rumore Gaussiane isotropico. Al contrario, nel passo inverso, il modello di diffusione rimuove iterativamente il rumore nell’immagine di rumore Gaussiane isotropico per recuperare l’immagine originale senza rumore.
Il framework di diffusione stabile utilizza un’architettura encoder-decoder con un design U-Net e un layer di attenzione, dove utilizza un encoder per comprimere l’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 e un layer di rete neurale ResNet.
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 un flusso di lavoro 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 l’una dall’altra.
Tra le quattro dimensioni, le ultime due 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. Al contrario, le prime due 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 quello di calcolare un tensore di attenzione, l’obiettivo principale è quello di fondere le mappe di attenzione nel tensore in uno stack di proposte di oggetti, dove ogni proposta individuale contiene la categoria di “stuff” o l’attivazione di un singolo oggetto. La soluzione proposta per raggiungere questo obiettivo è quella di implementare un algoritmo K-Means sulle distribuzioni valide dei tensori 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 passo precedente della fusione di attenzione iterativa produce un elenco di proposte di oggetti 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 oggetti 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 per la 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 attività previste non abbinate 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 testuali descrittivi 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 si riferisce alla necessità per il metodo di utilizzare input aggiuntivi, sia come immagini sintetiche che come un 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 la sua regolazione è 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 dell’utilizzo delle baseline K-Means.
Sul set di dati Cityscapes, il framework DiffSeg fornisce risultati simili ai framework che utilizzano input con risoluzione inferiore 320, mentre supera i framework che utilizzano input con risoluzione superiore 512 in termini di accuratezza e mIoU.

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

L’aggregazione di attenzione è uno dei concetti fondamentali impiegati 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, anche se le segmentazioni presentano alcune fratture visibili, mentre le mappe a bassa risoluzione 32 x 32 tendono a sovrasegmentare i dettagli, anche se producono 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 iperparametri 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 si affidano o all’adattamento non supervisionato non zero-shot o a risorse esterne. Per superare questa sfida, abbiamo discusso come i layer di auto-atenzione nei modelli di diffusione stabile possano abilitare 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 sulla similarità di attenzione 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.












