Parte III — Feature locali: allineamento e localizzazione · Capitolo 8

Bag of Words

~30 min di lettura2 widget interattivi3 tavole

In questo capitolo

  1. Il problema dell'indicizzazione delle feature locali
  2. L'idea: dal testo all'immagine
  3. Le visual words: quantizzare lo spazio delle feature
  4. BoW per la classificazione: learning e classificazione
  5. Localizzazione delle feature: sparse vs dense sampling
  6. Creazione del dizionario e codifica di un'immagine
  7. Vantaggi, svantaggi e la questione spaziale
  8. Verifica le tue conoscenze

1. Il problema dell'indicizzazione delle feature locali

I descrittori locali (capitolo 7) sono vettori di uno spazio N-dimensionale ad alta dimensionalità che riassumono le caratteristiche locali dei punti di interesse. Ai fini del riconoscimento siamo spesso interessati a ricercare in un database di grandi dimensioni le immagini simili a una query (query by example — lo stesso scenario dei sistemi CBIR del capitolo 5).

L'osservazione chiave: punti vicini nello spazio N-dimensionale delle feature corrispondono a contenuti locali simili. Se le immagini sono codificate con keypoint e descrittori locali, la ricerca può sfruttare la similarità tra descrittori… ma quanti confronti dobbiamo fare se abbiamo centinaia di immagini e in ciascuna rileviamo migliaia di punti di interesse? Per i documenti di testo il modo più efficiente per risalire a tutte le pagine che contengono un determinato termine è l'uso di un indice. È da questa analogia che nasce il Bag of Words.

database di immagini (centinaia) spazio N-dimensionale delle feature contenuti locali simili contenuti locali simili indice delle visual words (come nei testi) troppi confronti descrittore-per-descrittore → serve un indice: è il problema che il BoW risolve
Tavola 8.1 — Il punto di partenza: con migliaia di descrittori per immagine il confronto esaustivo è impraticabile. Come per i documenti testuali, si costruisce un indice — il dizionario visuale — e ogni immagine viene ridotta a un istogramma di occorrenze.

2. L'idea: dal testo all'immagine

Il metodo Bag of Words (BoW) si ispira alle tecniche di rappresentazione dei documenti testuali, che spesso codificano un documento tramite istogrammi in cui è riportato il numero di occorrenze dei termini che costituiscono il dizionario. Il modello BoW è stato proposto con l'obiettivo di rappresentare un'immagine tramite un dizionario visuale: l'idea di base è rappresentare un'immagine tramite un istogramma di occorrenze di alcune visual words che rappresentano specifiche caratteristiche locali dell'immagine.

Idea chiave

Un oggetto viene rappresentato dal sacco di parole che lo descrive: l'ordine spaziale delle parole è perduto (è un bag, non una frase), ma la distribuzione delle occorrenze resta un descrittore potente — esattamente come nei testi, dove l'ordine delle parole può cambiare senza cambiare il senso del «sacco».

3. Le visual words: quantizzare lo spazio delle feature

Mentre le parole testuali sono concetti «discreti», le parole visuali sono rappresentate da descrittori locali continui e di dimensionalità talvolta elevata. Per ottenere parole visuali discrete è necessario quantizzare i descrittori locali nello spazio delle feature: in questo modo ciascun nuovo descrittore può essere codificato in termini della regione (discretizzata) dello spazio delle feature alla quale appartiene.

I tipici passaggi per la costruzione del dizionario visuale:

  1. creazione del corpus: selezione di un numero elevato di immagini di «training»;
  2. quantizzazione dello spazio delle feature sulla base di informazioni statistiche (es. con algoritmi di clustering).

Un'immagine può essere codificata in termini di parole visuali selezionando per ciascuna feature locale la parola ad essa più vicina nello spazio delle feature.

Quantizzazione con clustering

Ogni punto è un descrittore locale nello spazio delle feature (2D per semplicità). Le parole del dizionario sono i prototipi dei cluster (quadrati vermigli): ogni descrittore è codificato dalla parola più vicina. Muovi il nuovo descrittore (cerchio blu) e osserva la parola assegnata.

4. BoW per la classificazione: learning e classificazione

Il BoW si usa per la classificazione in due fasi distinte:

Nella fase di apprendimento si: 1) crea il dizionario visuale; 2) si costruisce la rappresentazione delle immagini di training (istogrammi di parole visuali); 3) si creano modelli / classificatori a partire da quelle rappresentazioni.

Nella fase di classificazione si: 1) calcola la rappresentazione dell'immagine da riconoscere (stesso dizionario, nuovo istogramma); 2) si confronta con i modelli; 3) si determina la classe di appartenenza.

LEARNING CLASSIFICAZIONE creazione del dizionario visuale rappresentazione immagini di training modelli / classificatori confronto immagine da riconoscere classe di appartenenza
Tavola 8.2 — Le due fasi del BoW per la classificazione. Il dizionario è costruito una sola volta sul corpus di training; la rappresentazione dell'immagine nuova (un istogramma) viene confrontata con i modelli per emettere la classe.

5. Localizzazione delle feature: sparse vs dense sampling

Prima del calcolo dei descrittori vanno scelte le sottoregioni di interesse (patch). Due strategie opposte:

Il processo di estrazione delle feature prevede: localizzazione delle patch → eventuale normalizzazionecalcolo del descrittore (es. SIFT). Il processo viene ripetuto per una serie di immagini di training, ottenendo un insieme ampio di descrittori che saranno poi usati per la creazione del dizionario.

feature sparse random · keypoint detector multipli dense sampling uniforme griglia regolare di patch spazialità: sottoregioni istogramma 1 istogramma 2 istogramma 3 istogramma 4
Tavola 8.3 — Feature sparse (a sinistra) e dense sampling (al centro). A destra una delle soluzioni alla perdita di informazione spaziale: suddividere l'immagine in sottoregioni e costruire un istogramma per ciascuna.

6. Creazione del dizionario e codifica di un'immagine

I descrittori estratti dal corpus di training vengono rappresentati nello spazio multidimensionale delle feature. Per la quantizzazione dello spazio si possono usare ad esempio tecniche di clustering e selezionare come parole i «prototipi» di ciascun cluster. Il dizionario è quindi un insieme finito di parole visuali; ogni nuovo descrittore viene codificato con la parola più vicina, e l'immagine diventa un istogramma di occorrenze: un descrittore di lunghezza fissa pari al numero di parole del dizionario.

Due immagini, due istogrammi di parole visuali

Le due immagini condividono il dizionario (k parole). Ogni feature è colorata secondo la parola assegnata. Muovi la dissimilarità per avvicinare/allontanare la distribuzione delle parole della seconda immagine da quella della prima: l'intersezione degli istogrammi misura la similarità.

7. Vantaggi, svantaggi e la questione spaziale

VantaggiSvantaggi
  • Invarianza rispetto a variazioni geometriche, deformazioni e trasformazioni affini;
  • rappresentazione compatta del contenuto dell'immagine;
  • descrittore di lunghezza fissa, indipendentemente dal numero di feature rilevate;
  • prove sperimentali di buona efficacia.
  • le informazioni estratte da background e foreground sono mischiate in modo indifferenziato;
  • le tecniche di localizzazione delle patch non garantiscono l'individuazione di porzioni dell'oggetto di interesse;
  • la rappresentazione non tiene conto della distribuzione spaziale delle feature.

Recuperare la spazialità

Possibili soluzioni al problema della distribuzione spaziale:

Collegamento

La suddivisione in sottoregioni è la stessa tecnica già incontrata per i color moments locali nel capitolo 4: l'istogramma globale perde l'informazione spaziale, e la soluzione è sempre partizionare l'immagine e confrontare le parti.

Verifica le tue conoscenze

Perché la ricerca per similarità sui descrittori locali richiede un indice?

Perché con centinaia di immagini e migliaia di punti di interesse per immagine il confronto esaustivo tra tutti i descrittori è impraticabile. Come per i documenti di testo, si usa un indice: per le immagini è il dizionario delle visual words.

Che cos'è una visual word?

È una parola del dizionario visuale: rappresenta una specifica caratteristica locale dell'immagine. Poiché i descrittori locali sono vettori continui ad alta dimensionalità, le parole visuali si ottengono quantizzando lo spazio delle feature (es. con clustering, prendendo i prototipi dei cluster).

Quali sono i passaggi per costruire il dizionario visuale?

1) Creazione del corpus: selezione di un numero elevato di immagini di training; 2) quantizzazione dello spazio delle feature sulla base di informazioni statistiche (es. clustering). I prototipi dei cluster diventano le parole del dizionario.

Come viene codificata un'immagine in termini di parole visuali?

Per ciascuna feature locale si seleziona la parola ad essa più vicina nello spazio delle feature; l'immagine diventa un istogramma di occorrenze delle parole del dizionario — un descrittore di lunghezza fissa, indipendente dal numero di feature rilevate.

Descrivete le due fasi del BoW per la classificazione.

Learning: creazione del dizionario visuale, rappresentazione delle immagini di training (istogrammi), creazione di modelli/classificatori. Classificazione: rappresentazione dell'immagine da riconoscere con lo stesso dizionario, confronto con i modelli, determinazione della classe di appartenenza.

Che differenza c'è tra feature sparse e dense sampling?

Le feature sparse si estraggono solo in corrispondenza di punti di interesse (random o keypoint detector multipli); il dense sampling usa una griglia uniforme di patch su tutta l'immagine. In entrambi i casi il processo è: localizzazione delle patch → eventuale normalizzazione → calcolo del descrittore (es. SIFT).

Elencate i vantaggi del BoW.

Invarianza rispetto a variazioni geometriche, deformazioni e trasformazioni affini; rappresentazione compatta; descrittore di lunghezza fissa indipendentemente dal numero di feature; buona efficacia dimostrata sperimentalmente.

Elencate gli svantaggi del BoW e le soluzioni.

Svantaggi: background e foreground mischiati; la localizzazione delle patch non garantisce porzioni dell'oggetto; nessuna distribuzione spaziale. Soluzioni: inserire la posizione nei descrittori; suddividere in sottoregioni con un istogramma per ciascuna; verificare la consistenza spaziale delle corrispondenze dopo il matching.

Perché la lunghezza fissa del descrittore BoW è un vantaggio?

Perché il numero di feature rilevate varia da immagine a immagine, ma l'istogramma ha sempre una dimensione pari al numero di parole del dizionario: le immagini sono rappresentate in uno spazio comune e confrontabili con le stesse metriche (es. intersezione di istogrammi, distanze).