Enver Sangineto, Dipartimento di Informatica Annotazione Automatica di materiale multimediale
p. 2 Annotazione automatica Estrarre automaticamente informazione semantica da immagini, video o audio e rappresentarla in forma: testuale o simbolica (machine understandable) Si usano spesso tecniche di machine learning
p. 3 Annotazione automatica [2] E una fase di pre-processing, precedente al retrieval vero e proprio, che avviene con metodi più tradizionali avvalendosi dellinformazione estratta off-line E simile alla information extraction nel caso dei testi, in cui da un documento si ricava informazione rappresentata poi in maniera machine understandable
p. 4 Annotazione di documenti digitali: OCR e Document Analysis Un caso particolare di immagine è la digitalizzazione di un documento di testo Tecniche di Document Analysis permettono di analizzare la struttura del documento al fine di individuare le parti contenenti testo Il testo può essere riconosciuto attraverso Optical Character Recognition (OCR)
p. 5 Annotazione di immagini (generiche) Lideale sarebbe poter disporre di un sistema che riconosca i principali oggetti presenti in unimmagine e li descriva tramite una lista di keywords
p. 6 Annotazione di immagini [2] E difficile stabilire a priori quali sono gli oggetti importanti in una data immagine Un tale sistema non sarebbe in grado di estrarre significati più complessi (e.g. Rabin e Arafat si stringono la mano…) Tuttavia una lista degli oggetti (e.g., in primo piano) sarebbe già un grosso passo in avanti
p. 7 Esempio Annotazione 1: ci sono 3 esseri umani Annotazione 2: ci sono 3 esseri umani, Arafat, Clinton e Rabin
p. 8 Problemi principali nel riconoscimento di oggetti La maggior parte dei problemi che un sistema di object recognition deve affrontare sono riconducibili a due problemi base: Variabilità delle apparenze con cui limmagine di un oggetto può presentarsi sul piano di vista La segmentazione della scena, ovvero lindividuazione di quelle sotto-parti dellimmagine che rappresentano loggetto cercato
p. 9 Variabilità [1]: cambiamento del punto di vista Michelangelo
p. 10 Variabilità [2]: cambiamento delle condizioni di illuminazione
p. 11 Variabilità [3]: oggetti deformabili Xu, Beihong 1943
p. 12 Variabilità [4]: variazione intra-classe
p. 13 Segmentazione [1]: Occlusioni Magritte, 1957
p. 14 Klimt, 1913 Segmentazione [2]: separazione dallo sfondo
p. 15 Categorizzazione tramite apprendimento automatico Suppongo di disporre, in fase di training, di un insieme T = {(I 1, y 1 ), …, (I N, y N )}, dove I j è unimmagine e y j unetichetta che indica loggetto in essa contenuto: y j {o 1, …, o m }
p. 16 Categorizzazione tramite apprendimento automatico [2] Utilizzo T off-line per addestrare un classificatore statistico C (e.g., una rete neurale, una SVM, …) On-line, uso C per classificare unimmagine nuova I, non appartenente a T: C(I) {o 1, …, o m }
p. 17 Categorizzazione tramite apprendimento automatico [3] Esistono molti approcci allobject recognition che utilizzano tecniche di apprendimento automatico Essi si scontrano con i problemi di segmentazione e variabilità visti prima
p. 18 Idea: image categorization come text categorization Un approccio nuovo si avvale di unanalogia con i documenti testuali: documenti immagini concetti classi di oggetti keywords (valori prototipi di) feature spazio vettoriale spazio della frequenza delle feature prototipe
p. 19 Proprietà di invarianza delle feature Maggiore è linvarianza delle feature a cambiamenti di apparenza, minore la variabilità da rappresentare nel training set Invarianze desiderabili: Cambiamenti di punti di vista (rotazioni, traslazioni, scalamenti) Cambiamenti di illuminazione
p. 20 Features per immagini non segmentate Le feature globali sono inefficaci se loggetto cercato non è separato dal background Lorientazione corrente è utilizzare feature locali che in genere dipendono sia dalla forma che dalla texture delloggetto
p. 21 Esempi di feature: Istogrammi basati sui pixel di edge Shape context Belongie, Malik, Puzicha, NIPS 2000 SIFT, D. Lowe, Int. Journal of Computer Vision, 2004
p. 22 Scale Invariant Feature Transform (SIFT) [Lowe] Lestrazione delle SIFT da unimmagine è composta da due fasi: Individuazione di punti stabili a cambiamenti di scala Descrizione delle zone circostanti tali punti con il descrittore SIFT [Lowe ] David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, Int. J. Comput. Vision, 60 (2), pp , 2004.
p. 23 Selezione di punti stabili a cambiamenti di scala Differenze di scala vengono simulate costruendo una piramide di DoG I punti stabili sono scelti cercando punti di massimo/minimo nella piramide
p. 24 Descrittore SIFT Il descrittore è ottenuto concatenando il valore dei 4*4 istogrammi da 8 orientazioni luno Normalizzando rispetto al modulo si ottiene un descrittore invariante per trasformazioni affini della luce nellarea descritta
p. 25 Bags of Words Estraggo le feature da vari punti dellimmagine, scegliendo: I punti più salienti (tipo SIFT…), oppure Dei punti a caso… Conto la frequenza dei valori delle feature estratte e classifico limmagine in base alla frequenza trovata Tecnica simile alla rappresentazione di un documento in uno spazio vettoriale
p. 26 Object Bag of words immagine presa da: Tutorial CVPR 07
p. 27 Problema: dimensionalità del vocabolario delle feature Una feature f(), a differenza delle keyword, ha codominio in R k, e non in un insieme discreto, finito e numericamente limitato come un vocabolario di un linguaggio
p. 28 Esempio: dimensionalità delle SIFT Un descrittore SIFT è composto da 4*4 istogrammi da 8 orientazioni (128 elementi) I valori del bin di ogni istogramma sono normalizzati in [0, 255] In totale possibili valori…
p. 29 Prototipi di feature: le keywords discrete che mancavano Suddivido i valori che può assumere una feature in tipi diversi Ogni tipo è rappresentato da un prototipo, detto word per analogia al caso testuale In sostanza, creando i tipi di feature, creo un vocabolario di valori discreti
p. 30 Esempio Supponiamo che lo spazio delle feature sia RGB (uno spazio semplice, di sole 3 dimensioni) Posso pensare di partizionare tale spazio associando ad alcune zone letichetta rosso o giallo, ecc. Una volta definiti opportunamente i confini della zona rossa, il centro di tale zona può essere usato come coordinate prototipe (r,g,b) del colore rosso
p. 31 Vector Quantization Si tratta di un processo di vector quantization con cui creo un dizionario (codebook o codeword dictionary) per discretizzare i possibili valori del feature space
p. 32 Es: estraggo le feature da unimg di training immagine presa da: Tutorial CVPR 07
p. 33 … Estraggo le feature da tutte le img di training immagine presa da: Tutorial CVPR 07
p. 34 Rappresentazione nel feature space dei valori estratti dal training set Rappresentazione nel feature space dei valori estratti dal training set … immagine presa da: Tutorial CVPR 07
p. 35 Vector quantization … Costruisco il Codeword dictionary tramite clustering w1w1 w2w2 w3w3 immagine presa da: Tutorial CVPR 07
p. 36 Rappresentazione di unimmagine nello spazio delle frequenze Supponiamo che il dizionario è composto da n valori possibili {w 1, …, w n } Ogni w i è unetichetta associata con un valore prototipo x i del feature space
p. 37 Rappresentazione di unimmagine nello spazio delle frequenze [2] Da una generica immagine I estraggo un insieme di feature locali: z 1 = f k (I q ), z 2 = f h (I p ), … Associo ogni z i con la parola w j più simile, e.g., scegliendo j in modo da minimizzare: Dist(z i, x j ) I è quindi rappresentata da (c 1, …, c n ) T, dove: c j = # { w j : Esiste z i associata con x j }
p. 38 Rappresentazione dellimmagine ….. frequency w 1 w 2 w 3 w 4 … immagine presa da: Tutorial CVPR 07
p. 39 Effetti delluso del dizionario Ho ridotto il numero dei possibili valori che una feature può assumere da |R k | a n (n << |R k | ) Nello spazio delle frequenze (R n ) posso applicare tecniche di classificazione simili a quelle usate, ad ese., nel text categorization Il risultato è un procedimento di classificazione statistica delle immagini che mi permette, data una nuova immagine in input, di stabilire quali oggetti (o 1, …, o m ) essa rappresenta
p. 40 Bags of Words: riassunto 1. Scelta delle feature per rappresentare le img e costruzione dello spazio delle feature F 2. Attraverso un training set di img e tecniche di clustering, costruisco il dizionario delle feature scegliendo i prototipi di feature più comuni (words) 3. Utilizzando il dizionario rappresento il training set di img nello spazio delle frequenze (S) delle words
p. 41 Bags of Words: riassunto [2] 4. Utilizzo tecniche di classificazione in S per costruire un classificatore statistico C 5. On-line, associo le feature prototipe ad una nuova img (I) e ne conto la frequenza 6. Posso quindi rappresentare I in S e utilizzare C per classificarla
p. 42 Annotazioni di video Un video è una sequenza di immagini (frame), per cui potrei applicare tecniche di image classification (e.g., ai soli key frame) Tuttavia si rileva normalmente più efficace studiare approcci ad hoc per tipi di video differenti (film, news, video sportivi, pubblicità, …)
p. 43 Nei video sono spesso già presenti alcune informazioni testuali Content independent-Metadata: titolo, autore, produttore, data.. Sottotitoli e trascrizioni degli autori
p. 44 Esempio: annotazione di video sportivi Annotare può significare riconoscere azioni di gioco importanti (nel calcio, nel tennis, …) e indicizzare i punti esatti in cui avvengono
p. 45 Esempio: annotazione di film Riconoscere gli attori (face recognition) Riconoscere il tipo di scena (allegra, triste, drammatica, suspance, …) da alcune sue caratteristiche come lintensità luminosa o della colonna sonora, … …
p. 46 Annotazioni audio E anzitutto necessario distinguere (classificare…) le parti del file audio che contengono una parte parlata da altri suoni o musiche Tecniche di speech recognition possono quindi essere utilizzate per trasformare il parlato in testo
p. 47 Annotazioni audio [2] La qualità del riconoscimento può essere elevata per sistemi speaker-dependent Qualità accettabili ai fini del retrieval anche per sistemi speaker-independent
p. 48 Alcuni riferimenti Forsyth, Ponce, Computer Vision, a Modern Approach 2003, Duda, Hart, Stork, Pattern Classification (II edition) 2001, Bishop, Pattern Recognition and Machine Learning, 2006 Fergus, Fei-Fei, Perona, Zisserman, Learning Object Categories from Googles Image Search, ICCV 05
p. 49 Domande…