Efficient Region- Based Image Retrieval di Roger Weber e Michael Mlivoncic Swiss Federal Institute of Technology (ETH) Presentazione di Laura Galli, Mauro Sacchetti, Michele Samorani Relatore: Michele Samorani Sistemi Informativi LS a.a
CBIR vs RBIR content-based vs region-based image retrieval CBIR considera limmagine nel suo insieme (figura 1) RBIR considera limmagine come un insieme di regioni, quindi il sistema esegue innanzitutto una segmentazione Immagine Immagine segmentata R1 R2 R3 R4
Segmentation CBIR definisce e calcola un vettore di features su tutta limmagine (f) RBIR definisce lo stesso vettore di features per lintera immagine, ma calcola un diverso vettore per ogni regione (f1,f2,…,fn) f1 f2 f3 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 f 11,f 12,f 13, f 14 d maria.jpg segmentation parser R 11,R 12,R 13, R 14 R 21,R 22,R 23, R 24 f 21,f 22,f 23, f 24
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 lapproccio del sistema Windsurf in quanto questo risulta essere il migliore dal punto di vista della efficacia
matching regions… R 1,1 R 1,2 R 1,3 R 1,4 R 2,1 R 2,2 R 2,3 R 2,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 dellimmagine Q e la regione j-esima dellimmagine O l è la distanza fra due vettori ),( 2,21,1 RR ),(,, jOiQ l RR ),( 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 R 1,1 R 1,2 R 1,3 R 1,4 R 2,1 R 2,2 R 2,3 R 2,4 Al matching R 1,1 -R 2,2 corrisponde la distanza La distanza è ( )/4=3 Lo scopo è minimizzare la somma delle distanze selezionate
an optimization problem Volendo modellare matematicamente il nostro problema otteniamo: una funzione obiettivo dei vincoli di matching, ovvero di assegnamento { s.t Il problema è risolubile in tempo polinomiale O(n 3 ) mediante lalgoritmo ungherese
segmentation cardinality Il numero di regioni in cui viene segmentata una immagine non è costante… R 2,1 R 2,2 R 2,3 R 2,4 R 1,1 R 1,2 R 1,3 NOTA. La matrice delle distanze non è necessariamente quadrata …e il problema LAP…?!
penalties(1) Rendiamo la matrice quadrata aggiungendo righe o colonne p1 R 2,1 R 2,2 R 2,3 R 2,4 R 1,1 R 1,2 R 1, p p2 231 R 2,1 R 2,2 R 2,3 R 1,1 R 1,2 R 1,3 R 1,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 : lutente 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 : lutente cerca immagini che contengono limmagine query Non dobbiamo penalizzare immagini con più regioni della query: p1= R 2,1 R 2,2 R 2,3 R 2,4 R 1,1 R 1,2 R 1, p p2 231 R 2,1 R 2,2 R 2,3 R 1,1 R 1,2 R 1,3 R 1,4 Penalizziamo immagini con meno regioni della query: p2>0
Query types : part-of Part-of : lutente cerca immagini contenute nella query 0)[],( 2 2 pR Q i Non dobbiamo penalizzare immagini con meno regioni della query Penalizziamo immagini con più regioni della query 0),([] 1 1 pR O j
K-NN with SCAN hungarian O(r 3 ) hungarian O(r 3 ) hungarian O(r 3 ) hungarian O(r 3 ) hungarian O(r 3 ) hungarian O(r 3 ) O(Nr 3 )
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 limmagine 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 p1 R 2,1 R 2,2 R 2,3 R 2,4 R 1,1 R 1,2 R 1,3 the lower bound is (5+4+4+p1)/4 and the complexity is O(r 2 )
Upper bounding function An upper bound for our distance function p1 R 2,1 R 2,2 R 2,3 R 2,4 R 1,1 R 1,2 R 1,3 the upper bound is (5+6+4+p1)/4 and the complexity is O(r 2 )
Conclusioni Metodo efficiente Il primo step scarta fino al 99.5 % delle immagini totali Contains e part-of spesso non sono efficaci Dipende dalle penalità Dipende dalla segmentazione
Demo (Pre-query) 1.Segmentazione in 4 o 5 regioni delle immagini contenute in una cartella R5 R1R2 R3R4
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.Limmagine query (partizionata in 4 o in 5 regioni) viene analizzata: viene calcolato il vettore di ciascuna regione 2.Viene lanciato lalgoritmo visto e vengono trovate le k immagini NN