Enver Sangineto, Dipartimento di Informatica sangineto@di.uniroma1.it Annotazione Automatica di...

Preview:

Citation preview

Enver Sangineto,Dipartimento di Informaticasangineto@di.uniroma1.it

Annotazione Automatica di materiale multimediale

p. 2

Annotazione automatica

Estrarre automaticamente informazione “semantica” da immagini, video o audio e rappresentarla in forma: testuale o strutturata

Tipicamente si usano 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 dell’informazione 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)

L’ideale sarebbe poter disporre di un sistema che riconosca i principali oggetti presenti in un’immagine 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 l’immagine di

un oggetto può presentarsi sul piano di vista La segmentazione della scena, ovvero

l’individuazione di quelle sotto-parti dell’immagine che rappresentano l’oggetto cercato

p. 9

Variabilità [1]: cambiamento del punto di vista

Michelangelo 1475-1564

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

Modello statistico della variabilità

Ignoriamo il problema della segmentazione Utilizziamo tecniche di machine learning per

definire modelli statistici della variabilità delle apparenze

Due fasi: “Training” e “Classificazione” (o “Test”)

p. 16

Categorizzazione tramite apprendimento automatico

Suppongo di disporre, in fase di training, di un insieme

T = {(I1, y1), …, (IN, yN)},

dove Ij è un’immagine e yj un’etichetta che indica l’oggetto in essa contenuto:

yj {o1, …, om}

p. 17

Categorizzazione tramite apprendimento automatico [2]

Utilizzo T off-line per addestrare un classificatore statistico C (e.g., una rete neurale, …)

On-line, uso C per classificare un’immagine nuova I, non appartenente a T:

C(I) {o1, …, om}

p. 18

Categorizzazione tramite apprendimento automatico [3]

Esistono molti approcci all’object recognition che utilizzano tecniche di apprendimento automatico

Essi si scontrano con i problemi di segmentazione e variabilità visti prima

p. 19

Proprietà di invarianza delle feature

Maggiore è l’invarianza 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 l’oggetto cercato non è separato dal background

L’orientazione corrente è utilizzare feature locali che in genere dipendono sia dalla forma che dalla texture dell’oggetto

p. 21

Scale Invariant Feature Transform (SIFT) [Lowe]

L’estrazione delle SIFT da un’immagine è composta da due fasi: Individuazione di punti “stabili” a cambiamenti di

scala (detection) Descrizione delle zone circostanti tali punti con il

descrittore SIFT (description)

[Lowe ] David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, Int. J. Comput. Vision, 60 (2), pp 91-110, 2004.

p. 22

Selezione di punti stabili a cambiamenti di scala

Costruzione di una “piramide” di DoG

(Difference of Gaussians)

I punti stabili (e le relative scale) sono scelti cercando punti di massimo/minimo nella piramide

p. 23

Scelta della direzione dominante

Picchi dell’istogramma dell’orientazione del gradiente

p. 24

Ese. di keypoints individuati tramite SIFT detector

p. 25

Descrittore SIFT

L’intorno di ogni p.to stabile è descritto tramite una griglia composta da 4 X 4 sotto-griglie (nella figura è 2 X 2)

I vettori gradienti hanno un peso “gaussiano”

p. 26

Descrittore SIFT [2]

Ogni sottogriglia forma un istogramma delle orientazioni del gradiente

p. 27

Descrittore SIFT [2]

Il descrittore è ottenuto concatenando il valore dei 4*4 istogrammi da 8 orientazioni l’uno (128 ele.)

Alcune particolari normalizzazioni permettono di ottenere un descrittore invariante per trasformazioni affini della luce nell’area descritta

p. 28

SURF: speeded up robust features [Bay et al]

Anche l’estrazione delle SURF è composta da due fasi: Detection e Description

[Bay et al] Herbert Bay, Tinne Tuytelaars, Luc Van Gool, SURF: speeded up robust features, ECCV, 2006.

p. 29

Selezione di punti stabili a cambiamenti di scala

Applicando filtri a dimensione variabile cerco dei “blob” presenti nell’immagine

p. 30

Scelta della direzione dominante Altri filtri vengono utilizzati per calcolare le componenti dx e

dy del gradiente Le risposte dx e dy vengono sommate in settori circolari

differenti per determinare un vettore rappresentativo del settore

Il vettore più grande è la direzione dominante

p. 31

Descrittore SURF

Griglia 4 X 4 Ogni sotto-griglia ha 5 X 5 p.ti di

campionamento

p. 32

Descrittore SURF [2]

Per ogni p.to di campionamento calcolo dx e dy utilizzando “Haar wavelets”

p. 33

Haar wavelets

p. 34

Immagine Integrale

p. 35

Calcolo delle Haar vawelets in tempo costante

p. 36

Descrittore SURF [3]

Il descrittore finale è dato dalla concatenazione di vc1, …, vc16 (64 ele.)

p. 37

Image categorization come text categorization

Analogia con i documenti testuali: documenti <-> immagini concetti <-> classi di oggetti keywords <-> (valori “prototipi” di) feature spazio vettoriale <-> spazio delle frequenze delle

feature prototipe

p. 38

Bags of Words

Estraggo le feature da vari punti dell’immagine, scegliendo: I punti più salienti (tipo SIFT…), oppure dei punti a caso, oppure dei punti in una griglia fissa…

Conto la frequenza dei valori delle feature estratte e classifico l’immagine in base alla frequenza trovata

Tecnica simile alla rappresentazione di un documento in uno spazio vettoriale

p. 39

ObjectObject Bag of ‘words’Bag of ‘words’

immagine presa da: Tutorial CVPR 07

p. 40

Costruzione vocabolario

p. 41

Problema: mancanza di un vocabolario simbolico

Un testo può essere visto come una stringa composta da simboli base (le keywords)

Quale insieme di feature (e.g., particolari valori di SIFT) scegliere nel caso visivo?

p. 42

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 256128 possibili valori…

p. 43

Variabilità delle feature…

Se Si è un descrittore SIFT estratto dalla pupilla dell’occhio di Marco in una foto “indoor” e

Sj è stato estratto dalla stessa pulippa di Marco “outdoor” (o in un giorno diverso)

Allora, tipicamente: Si ≠ Sj

I descrittori SIFT, per quanto invarianti, non si comportano come simboli ripetibili!

p. 44

Bags of Words: testo vs immagini…

La maggiore differenza del BoW del caso visivo rispetto a quello testuale è proprio la mancanza di un “naturale” vocabolario

Idea: costruisco il vocabolario a partire da T scegliendo dei valori prototipi

p. 45

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. 46

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. 47

Es: estraggo le feature da un’img di trainingEs: estraggo le feature da un’img di training

immagine presa da: Tutorial CVPR 07

p. 48

Estraggo le feature da Estraggo le feature da tuttetutte le img di le img di trainingtraining

immagine presa da: Tutorial CVPR 07

p. 49

Rappresentazione nel feature space dei valori Rappresentazione nel feature space dei valori estratti dal training setestratti dal training set

immagine presa da: Tutorial CVPR 07

p. 50

Costruisco il Codeword dictionary tramite clusteringCostruisco il Codeword dictionary tramite clustering

immagine presa da: Tutorial CVPR 07

p. 51

Costruzione vocabolario Rappresentazione delle immagini

p. 52

Rappresentazione di un’immagine nello spazio delle frequenze

Supponiamo che il dizionario (D) è composto da n valori possibili D = {w1, …, wn}

Ogni wi è un’etichetta associata con un valore prototipo pi del feature space

p. 53

Rappresentazione di un’immagine nello spazio delle frequenze [2]

Da una generica immagine I estraggo un insieme di feature locali {zi} (e.g., zi è il descrittore SIFT estratto nel punto P di I)

Associo ogni zi con la “parola” wj più simile, e.g., scegliendo j in modo da minimizzare:pj = min pk Dist(zi, pk)

p. 54

Esempio

p. 55

Rappresentazione di un’immagine nello spazio delle frequenze [3]

I è quindi rappresentata da x = (x1, …, xn)T, dove: xj= # { wj : Esiste zi associata con pj }

p. 56

Rappresentazione dell’immagineRappresentazione dell’immagine

…..

freq

uenc

y

w1 w2 w3 w4 …

immagine presa da: Tutorial CVPR 07

p. 57

Effetti dell’uso del dizionario

Ho ridotto il numero dei possibili valori che una feature può assumere da |Rk| a n

(n << |Rk| ) Cercare feature simili ai prototipi di base è più

stabile che cercare un determinato valore di feature

Nello spazio delle frequenze (S = Rn) posso applicare tecniche di classificazione simili a quelle usate, ad ese., nel text categorization

p. 58

Costruzione vocabolario Rappresentazione delle immagini Classificazione

p. 59

Ultimo passo: classificazione

Situazione: posso rappresentare un’immagine I tramite un vettore di occorrenze di keywords x

Obiettivo: dato x, voglio stabilire quale oggetto è presente in I con minore probabilità di sbagliarmi

Userò nuovamente T

p. 60

Ese: classificazione duale

T = {(I1, y1), …, (IN, yN)},

dove:

yj {“auto”, “non-auto”}

p. 61

Esempio di rappresentazione grafica di T in Rn (n, m = 2)

p. 62

Esempio [2]

Rappresentazione (x) di una nuova immagine (I)

p. 63

Teoria Decisionale Bayesiana

Data l’immagine x e m classi di oggetti C1, … Cm, associare x alla classe più probabile

Scelgo Cj* tale che:

Notazione abbreviata:

p. 64

Esempio

Le probabilità sono stimate tramite training

immagine presa da: Duda, Hart, Stork, Pattern Classification

p. 65

Metodi discriminativi

Mirano a determinare i bordi di decisione (superfici iper-dimensionali) che meglio partizionano Rn rispetto alle classi d’interesse

p. 66

Bordi di decisione: ese. monodimensionale

c1c2c1c2

p. 67

Bordo di decisione: ese. bidimensionale

p. 68

Esempi di classificatori discriminativi

Reti neurali (ANN) Support Vector Machines (SVM) Decision Trees K-Nearest Neighbor (k-NN) Boosting …

p. 69

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 D delle feature scegliendo i prototipi di feature più comuni (“words”)

3. Utilizzando D rappresento il training set di img nello spazio delle frequenze (S) delle words

p. 70

Bags of Words: riassunto [2]

4. Utilizzo tecniche di classificazione in S per costruire un classificatore statistico C

5. On-line, associo gli elementi di D ad una nuova img (I) e ne conto la frequenza

6. Posso quindi rappresentare I in S e utilizzare C per classificarla

p. 71

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. 72

Nei video sono spesso già presenti alcune informazioni testuali

“Content independent-Metadata”: titolo, autore, produttore, data..

Sottotitoli e trascrizioni degli autori

p. 73

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. 74

Esempio: annotazione di film

Riconoscere gli attori (face recognition) Riconoscere il tipo di scena (allegra, triste,

drammatica, suspance, …) da alcune sue caratteristiche come l’intensità luminosa o della colonna sonora, …

p. 75

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. 76

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. 77

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 Google’s Image Search, ICCV 05

p. 78

Domande…

Recommended