Efficient Region- Based Image Retrieval di Roger Weber e Michael Mlivoncic Swiss Federal Institute...
-
Upload
alessa-fortunato -
Category
Documents
-
view
219 -
download
2
Transcript of Efficient Region- Based Image Retrieval di Roger Weber e Michael Mlivoncic Swiss Federal Institute...
Efficient Region- Based Image Retrieval
di Roger Weber e Michael MlivoncicSwiss Federal Institute of Technology (ETH)
Presentazione di Laura Galli, Mauro Sacchetti, Michele Samorani
Relatore: Michele Samorani
Sistemi Informativi LS a.a 2004-05
CBIR vs RBIRcontent-based vs region-based image retrieval
CBIR considera l’immagine nel suo insieme (figura 1)
RBIR considera l’immagine come un insieme di regioni, quindi il sistema esegue innanzitutto una segmentazione
Immagine
Immagine segmentata
R1
R2R3
R4
Segmentation
CBIR definisce e calcola un vettore di features su tutta l’immagine (f)
RBIR definisce lo stesso vettore di features per l’intera immagine, ma calcola un diverso vettore per ogni regione (f1,f2,…,fn)
f1
f2f3
f4
f
CBIR block view
parser
vergine_rocce.jpg
dissimilarity function
f1
d
maria.jpg
parser
f2
RBIR block view
segmentation
vergine_rocce.jpg
dissimilarity function
f11,f12,f13,f14
d
maria.jpg
segmentation
parser parser
R11,R12,R13,R14 R21,R22,R23,R24
f21,f22,f23,f24
Questions
Risponderemo quindi in ordine alle seguenti domande :
1. come calcolare la distanza fra due immagini (i.e fra due insiemi di regioni) ?
2. quali tipi di query possiamo realizzare con una tecnica di tipo RBIR ?
3. quali tecniche usare per velocizzare il processo di ricerca ?
Dissimilarity function
La prima domanda a cui rispondere ed anche il primo problema da affrontare risultano essere la definizione del criterio di “dissimilarity” (distance) tra due immagini, i.e tra due insiemi di regioni
Risposta: utilizziamo l’approccio del sistema Windsurf in quanto questo risulta essere il migliore dal punto di vista della efficacia
matching regions…
R1,1 R1,2
R1,3 R1,4
R2,1 R2,2
R2,3 R2,4
( )
Supponendo di avere una funzione che calcola la distanza tra due regioni i.e tra due vettori…
La distanza fra la regione i-esima dell’immagine Q e la regione
j-esima dell’immagine Ol è la distanza fra due vettori
),( 2,21,1 RR
),( ,, jOiQ lRR
),( 1,22,1 RR
),( 4,24,1 RR
),( 3,23,1 RR
matrix view
Considerando tutti i possibili matching, le distanze fra le varie regioni formano una matrice
10 5 12 9
1 7 9 9
2 8 3 7
7 1 6 3
R1,1
R1,2
R1,3
R1,4
R2,1 R2,2 R2,3 R2,4
),( 2,21,1 RR
Al matching R1,1-R2,2 corrisponde la distanza
La distanza è (5+1+3+3)/4=3
Lo scopo è minimizzarela somma delle
distanze selezionate
an optimization problem Volendo modellare
matematicamente il nostro problema otteniamo : una funzione obiettivo
dei vincoli di matching, ovvero di assegnamento
jini nj
ji xz ,..1 ..1
,min
ni
jix..1
, 1
nj
jix..1
, 1{s.t
i
j
}1,0{, jix
Il problema è risolubile intempo polinomiale
O(n3)mediante l’algoritmo ungherese
segmentation cardinality
Il numero di regioni in cui viene segmentata una immagine non è costante…
10 5 12 9
6 4 8 7
7 10 4 9
R2,1 R2,2 R2,3 R2,4
R1,1
R1,2
R1,3
NOTA. La matrice delle distanze
non è necessariamente quadrata…e il problema LAP…?!
penalties(1)
Rendiamo la matrice quadrata aggiungendo righe o colonne
10 5 12 9
6 4 8 7
7 10 4 9
p1 p1 p1 p1
R2,1 R2,2 R2,3 R2,4
R1,1
R1,2
R1,3
10 5 12 p2
6 4 8 p2
7 10 4 p2
2 3 1 p2
R2,1 R2,2 R2,3
R1,1
R1,2
R1,3
R1,4
How to fix penalties ?
Rispondiamo ora alla seconda domada : quali tipi di query possiamo indirizzare con una tecnica RBIR ?
Gestendo opportunamente i valori delle penalità è possibile realizzare 3 diversi tipi di query…
Query types : similarity
Similarity : l’utente seleziona una immagine query e cerca delle immagini nel db con un numero simile di regioni simili
Le penalità (p1 e p2)sono uguali per garantire la simmetria della funzione
distanza
Query types : contains
Contains : l’utente cerca immagini che contengono l’immagine query
Non dobbiamopenalizzare immagini
con più regioni della query:p1=0
10 5 12 9
6 4 8 7
7 10 4 9
0 0 0 0
R2,1 R2,2 R2,3 R2,4
R1,1
R1,2
R1,3
10 5 12 p2
6 4 8 p2
7 10 4 p2
2 3 1 p2
R2,1 R2,2 R2,3
R1,1
R1,2
R1,3
R1,4
Penalizziamo immaginicon meno regioni della query:
p2>0
Query types : part-of
Part-of : l’utente cerca immagini contenute nella query
0)[],( 22 pRQi
Non dobbiamo penalizzare immagini con meno regioni
della query
Penalizziamo immagini con più regioni della query
0),([] 11 pROj
K-NN with SCAN
hungarianO(r3) hungarian
O(r3)
hungarianO(r3)
hungarianO(r3)
hungarianO(r3)
hungarianO(r3)
O(Nr3)
Multi-step algorithms
Gli algoritmi multi-step seguono tutti lo stesso principio di base : in un primo step una funzione approssimata (più
rapida da calcolare rispetto alla funzione originale) elimina alcuni oggetti dalla ricerca
gli oggetti rimanenti sono chiamati candidati
Primo step Per ogni immagine del DB, si calcola il LB
sulla distanza tra questa e la query Se questo LB è promettente
Si calcola anche UB Si inserisce l’immagine nella lista dei candidati
“promettente” rispetto agli UB
già calcolati
Secondo step Sui candidati verrà applicato un algoritmo di
tipo distance browsing Verranno restituiti i primi k
Lower bounding function
A lower bound for our distance function
10 5 12 9
6 4 8 7
7 10 4 9
p1 p1 p1 p1
R2,1 R2,2 R2,3 R2,4
R1,1
R1,2
R1,3
the lower bound is (5+4+4+p1)/4
and the complexity isO(r2)
Upper bounding function
An upper bound for our distance function
10 5 12 9
6 4 8 7
7 10 4 9
p1 p1 p1 p1
R2,1 R2,2 R2,3 R2,4
R1,1
R1,2
R1,3
the upper bound is (5+6+4+p1)/4
and the complexity is O(r2)
Conclusioni
Metodo efficienteIl primo step scarta fino al 99.5 % delle immagini totali
Contains e part-of spesso non sono efficaciDipende dalle penalitàDipende dalla segmentazione
Demo(Pre-query)
1. Segmentazione in 4 o 5 regioni delle immagini contenute in una cartella
R5
R1 R2
R3 R4
Demo(Pre-query)
2. Per ogni regione, viene calcolato un vettore (features) con la tecnica degli istogrammi
a. R,G e B vengono partizionati in n (ad esempio 2) regioni (di colori!)
b. Si scandiscono tutti i pixel e per ogni pixel analizzato si incrementa un componente del vettore
Demo(query-time)
1. L’immagine query (partizionata in 4 o in 5 regioni) viene analizzata: viene calcolato il vettore di ciascuna regione
2. Viene lanciato l’algoritmo visto e vengono trovate le k immagini NN