Enver Sangineto, Dipartimento di Informatica Multimedia Information Retrieval
p. 2 Problema Nel Web e nei DB locali esiste molta informazione non esclusivamente testuale: audio (speech, musica…) immagini, video, … Come recuperare efficacemente materiale multimediale?
p. 3 Esempi di applicazione Web indexing: Recupero di materiale multimediale dal Web, Sistemi capaci di bloccare immagini pubblicitarie oppure illegali/indesiderate Trademark e copyright Accesso ai musei DB commerciali
p. 4 Esempi di applicazione [2] Immagini satellitari (applicazioni militari, government, …) Immagini mediche Entertainment Criminal investigation …
p. 5 Prima generazione di multimedia information retrieval systems Off-line: il materiale multimediale viene associato con una descrizione testuale. Ese.: Annotazione manuale (content descriptive metadata) Il testo che in una pagina Web circonda limg On-line: utilizzo di tecniche di IR testuali basate sul keyword match
p. 6 immagine presa da: A. Del Bimbo, Visual Information Retrieval
p. 7 Limiti dellapproccio esclusivamente testuale Lannotazione manuale di grossi DB multimediali è impensabile… Non è facile descrivere verbalmente il contenuto percettivo di unimmagine, di un video o di un brano musicale…
p. 8 Esempi Cercare una canzone conoscendone solo il ritornello Cercare una determinata azione in un video sportivo Cercare dipinti che hanno un determinato dosaggio di colori …
p. 9 Esempi [2] Google Image può restituire fino ad un 85% di documenti NON rilevanti anche per query semplici (e.g., oggetti specifici) [1] [1] Fergus, Fei-Fei, Perona, Zisserman, Learning Object Categories from Googles Image Search, ICCV 05
p. 10 Soluzioni in fase di ricerca… Sistemi Content Based: Si basano sul contenuto percettivo delloggetto multimediale. Tipicamente: utilizzano una query by example e modellano direttamente la similitudine percettiva tra la query e gli oggetti del DB Sistemi di annotazione automatica: Fase di pre-processing (information extraction): viene estratta (in maniera automatica!) informazione da elementi non testuali e memorizzata sotto forma simbolica (e.g., testuale) Il retrieval (on-line) avviene con tecniche tradizionali
p. 11 Differenze rispetto allIR Testuale… Un problema comune a tutti i sistemi di Multimedia IR è il trattamento di informazione non simbolica Un testo può essere visto come la combinazione di elementi simbolici atomici (le parole o token) Unimmagine è una collezione di pixel e un suono unonda sonora…
p. 12 Cosa vedremo in queste tre lezioni… Introduzione ai sistemi content based basati su caratteristiche percettive quali: Colore, movimento, suono, forma… Sistemi di annotazione automatica
p. 13 Elementi tipici di un sistema di Content Based Multimedia IR Dal punto di vista dellutente: La query è un oggetto multimediale (e.g., unimmagine, un disegno, un elemento audio, …) Loutput è una lista di elementi ordinati in base alla somiglianza percettiva con la query Esistono strumenti opzionali di interazione per visualizzare collezioni di immagini o fornire feedback al sistema
p. 14 Esempio: query by image example La query è un particolare
p. 15 Query by image example [2] Notate che query e particolare possono non essere identici. Ad es. la query può essere scelta da un immagine prima di un restauro
p. 16 Query by image example (sketch) [3] immagine presa da: A. Del Bimbo, Visual Information Retrieval
p. 17 Elementi tipici di un sistema di Content Based Multimedia IR [2] Dal punto di vista del sistema: Rappresentazione delloggetto multimediale (e.g., spazio delle feature) Modellazione del concetto di similitudine percettiva (e.g., attraverso appositi algoritmi di matching) Utilizzo di strutture dati particolari che permettano un indexing efficiente dello spazio delle feature Gestione delleventuale relevance feedback (non verrà trattato…)
p. 18 Rappresentazione
p. 19 Rappresentazione tramite Feature di unimmagine Una feature è una rappresentazione, tramite un vettore di valori numerici, di tutta o parte dellimmagine Se I' è una sottoparte dellimmagine I, allora una feature f è t.c.: f(I') R k, f(I') = (v 0, … v k-1 ) T, k >= 1
p. 20 Feature per rappresentare unimmagine [2] In genere una feature è una caratteristica facilmente misurabile dellimmagine Limmagine in esame viene quindi descritta usando i valori di un insieme di feature pre- scelte f 1, …, f n
p. 21 Feature globali e locali I' = I: feature globale I' I: feature locale Feature locali: È importante capire come selezionare le sottoparti di I (I 1, I 2, …) da rappresentare Più robuste ad occlusioni, parti mancanti, separazione dal background
p. 22 Esempio: feature locale f i (I') I' I immagine presa da: Tutorial CVPR 07
p. 23 Alcuni semplici esempi di feature: istogrammi dellintensità di grigio Istogramma dellintensità dei pixel in I': Divido il range [0, 255] in k bin Assegno ogni pixel ad un bin: I(p) -> div k (I(p)) f(I') = (v 0, …, v k-1 ) T, dove: v i = # { p I : div k (I(p)) = i}
p. 24 Alcuni semplici esempi di feature: geometria facciale f(I) = (d 1, d 2, d 3, d 4 ) T
p. 25 Spazio delle Feature Supponendo di utilizzare n features a valori in R, I può essere rappresentata tramite il vettore x(I) = (f 1 (I), …f n (I)) T x(I) è ottenuto concatenando il valore delle singole feature x(I) è un punto in R n, detto spazio delle feature
p. 26 Spazio delle Feature [2] In generale, se: f i (I) R k, allora: x(I) = (f 1 (I) T … f n (I) T ) T è un punto in R n*k
p. 27 Es.: Spazio delle Feature (R 2 )
p. 28 Spazio delle Feature [3] E un concetto simile ma non identico allo spazio vettoriale usato per rappresentare la frequenza dei termini nei documenti testuali E la rappresentazione dei dati più usata nei vari sistemi content based (immagini, video, audio) ma non è lunica!
p. 29 Similitudine
p. 30 Similitudine percettiva Nel text retrieval, la similitudine tra due documenti può essere stimata in funzione dei termini in comune Ad esempio, rappresentando la frequenza dei termini di un documento in un apposito spazio vettoriale, la distanza tra punti in tale spazio descrive la dissimilarità tra documenti Lo spazio delle feature si comporta in maniera analoga…
p. 31 Similitudine percettiva [2] Nello spazio delle feature la differenza percettiva tra I 1 e I 2 è proporzionale ad una determinata misura di distanza (non necessariamente Euclidea): dist(x(I 1 ),x(I 2 )) Data la query Q, loutput del sistema è una lista di immagini I 1, I 2, … ordinata minimizzando: I 1 = min I dist(x(Q),x(I)), …
p. 32 Esempio (R 2 )
p. 33 Similitudine percettiva [3] Altri algoritmi di matching fanno uso di rappresentazioni più complesse o alternative allo spazio delle feature e sono tipicamente studiati ad hoc per il particolare sistema di MIR
p. 34 Indexing
p. 35 Tecniche di Indexing Problema: come indicizzare efficientemente dei dati in uno spazio multidimensionale? La maggior parte delle più comuni strutture dati per la ricerca efficiente si basano su un ordinamento totale dei valori rappresentati: x i <= x j V x j <= x i (0 <= i,j <= N) Ese.: nel caso delle keyword, lordine alfabetico stabilisce un ordinamento totale del vocabolario (e.g., negli inverted files) In R k ciò non è più vero
p. 36 Il k-d Tree E una generalizzazione dellalbero di ricerca binario in k dimensioni Ad ogni livello dellalbero viene presa in considerazione ciclicamente una delle k feature
p. 37 Il k-d Tree [2] Supponiamo di voler indicizzare un insieme di punti multidimensionali: P 1, …, P N, P i R k, P i =(x i 1, …, x i k ) Scelgo la prima dimensione (feature) e trovo il valore L 1, mediano rispetto a x 1 1, …, x N 1
p. 38 Il k-d Tree [3] La radice dellalbero conterrà L 1 Il sottoalbero sinistro (T L ) conterrà i punti P i t.c. x i 1 <= L 1 Il sottoalbero destro (T R ) gli altri A livello 1 scelgo la seconda feature e, separatamente per T L e T R, calcolo L 2 e L 3, scelti in modo tale che: L 2 è mediano rispetto agli elementi x j1 2, x j2 2, … di T L L 3 è mediano rispetto agli elementi di T R
p. 39 Il k-d Tree [4] Dopo aver utilizzato la feature k-esima, ritorno ciclicamente a considerare la prima feature I punti sono associati alle foglie
p. 40 Esempio immagine presa da: Hemant M. Kakde, Range Searching using Kd Tree
p. 41 Image, video e audio retrieval
p. 42 Retrieval by color: istogrammi di colore Istogramma dei colori di una parte (eventualmente tutta) di immagine I': Possibili rappresentazioni di un singolo pixel: RGB, HSV, CIE LAB, … Divido ogni canale in k bin: f(I') = (r 0,…, r k-1, g 0, …, g k-1, b 0, …, b k-1 ) T, r i = # { p in I: div k (R(p)) = i }, g i = # { p in I: div k (G(p)) = i }, b i = # { p in I: div k (B(p)) = i }
p. 43 Istogrammi di colore [2] Oppure divido RGB in k 3 bin: f(I') = (z 0,…, z h-1 ) T, h= k 3 Se z i rappresenta i valori (i 1, i 2, i 3 ), allora: z i = # { p in I: div k (R(p)) = i 1 and div k (G(p)) = i 2 and div k (B(p)) = i 3 }
p. 44 Istogrammi di colore [3]: esempio immagine presa da: Wikipedia
p. 45 Retrieval by texture
p. 46 Approccio statistico Tamura features: analizzano la distribuzione dellintensità locale dellimg al fine di misurare caratteristiche percettive della texture quali: Contrasto Granularità Direzionalità
p. 47 Esempio field residential vegetation
p. 48 Approccio sintattico: grammatiche visive Ese. di regola di produzione per la rappresentazione di texture (Rosenfeld): Essa riassume le seguenti 4 regole:
p. 49 Video retrieval Un video è semplicemente una sequenza di molte immagini Ogni immagine viene detta frame
p. 50 Componenti di un video Frame: una singola immagine Shot: Un sequenza di frame consecutivi ripresi da una singola telecamera Scena: un insieme di shot consecutivi che rispettano le 3 unità aristoteliche di spazio, tempo e azione
p. 51 Segmentazione di una videosequenza Individuando gli editing effects (cuts, dissolvenze, ….) tra uno shot e laltro è possibile suddividere (automaticamente) un video in shot Molto più difficile è individuare le scene (concetto semantico)
p. 52 Tipi di ricerca per i video I video possono essere rappresentati con dei key frame rappresentativi di ogni shot Un key frame è trattabile come una still image: Si applicano le tecniche viste per le immagini (e.g., spazio delle feature, ricerca per colore, texture, forma, ecc.)
p. 53 Tipi di ricerca per i video Alternativamente, è possibile cercare in un video informazione relativa al movimento (e.g., una particolare traiettoria in un video sportivo, …)
p. 54 Audio retrieval Vari tipi di audio: Parlato: E possibile utilizzare tecniche di speech recognition per trasformare laudio in testo Suono: Un qualunque segnale audio con frequenze nel range delludito umano (e.g., suoni prodotti da animali…) Musica: Si tiene conto dei diversi strumenti musicali utilizzati, dei vari tipi di suoni prodotti, degli effetti musicali, ecc.
p. 55 Tipi di Query Query by example: viene fornito/sintetizzato un file audio chiedendo di recuperare audio simili Caso particolare, Query by humming: lutente accenna (vocalmente o anche fischiando…) la melodia da cercare
p. 56 Rappresentazione e similitudine Uno spazio delle feature può essere creato utilizzando, ad ese., istogrammi ricavati dalla rappresentazione spettrale del segnale La similitudine percettiva in tal caso avviene calcolando la distanza tra punti multidimensionali come nel caso delle immagini Distanze tipiche: Euclidea, Mahalanobis, distanze per istogrammi (Histogram Intersection, Kullback- Leibler divergence, Chi-quadro, ecc.)
p. 57 Aspetti percettivi diversi possono essere combinati
p. 58 Alcuni riferimenti A. Del Bimbo, Visual Information Retrieval, Morgan Kaufmann Publishers, Inc. San Francisco, California", 1999 Forsyth, Ponce, Computer Vision, a Modern Approach 2003
p. 59 Alcuni riferimenti [2] Smeulders et al., Content-Based Image Retrieval at the End of Early Years, IEEE PAMI 2000 Long et al., Fundamentals of Content-based Image Retrieval, in: D. D. Feng, W. C. Siu, H. J. Zhang (Ed.),Multimedia Information Retrieval & Management-Technological Fundamentals and Applications, Springer-Verlag, New York(2003) Foote et al., An Overview of Audio Information Retrieval, ACM Multimedia Systems, 1998 Hemant M. Kakde, Range Searching using Kd Tree, 2005
p. 60 Domande…