Shape-based visual
information retrieval
Enver Sangineto
Dipartimento di Informatica
[email protected]
Recupero di immagini attraverso
la forma
• In un’immagine, più che il colore o la texture,
ciò che più caratterizza un oggetto è la sua
forma
• I sistemi di Content Based Image Retrieval
(CBIR) che trattano la forma accettano come
query:
– immagini d’esempio
– disegni stilizzati (sketch)
–…
Ese.: query by sketch
Pre-processing: estrazione dei
bordi
• La forma di oggetto in un’immagine può
essere data da:
– la sagoma (e. g., i punti interni di un’img
binaria)
– I bordi (interni e/o esterni)
Immagini binarie (semplice)
Immagine non binaria…
Estrazione dei contorni da
immagini non binarie
• I contorni (bordi) interni e/o esterni di un
oggetto sono normalmente contraddistinti da
discontinuità luminose (transizione tra
superfici diverse)
• Individuando le discontinuità (un
cambiamento brusco dell’intensità di grigio
dei pixel) è possibile rilevare i bordi e quindi
la forma degli oggetti di un’immagine
Estrazione di contorni tramite
operatori differenziali
• Un’immagine I può essere vista come
una funzione a due variabili I(x,y):
I: R2 -> R
• (sorvoliamo per ora sulla discontinuità di
I)
Gradiente di un’immagine
• Il gradiente G di I nel punto (x,y) è:
• G(x,y) punta nella direzione di massima
crescita di I in (x,y)
Rappresentazione alternativa
• Se:
• Allora:
• dove:
– r(p) è l’intensità del gradiente in p e
– φ(p) è la sua direzione
Interpretazione grafica del
gradiente in un punto
Approssimazioni del gradiente
• Il gradiente può essere calcolato
utilizzando delle maschere (operatori)
con cui si effettua la convoluzione con I
• In pratica, le maschere sono delle
matrici di coefficienti (e.g., 3X3) con cui
pesare l’intensità dei pixel nell’intorno di
p in una somma pesata che dà Gx(p) e
Gy(p)
Operatore di Sobel
-1
-2
-1
0
0
0
Maschera per
Gx
1
2
1
1
0
-1
2
0
-2
Maschera per
Gy
1
0
-1
Rappresentazioni del gradiente
• Iterando il processo per tutti i pixel p di I
possiamo rappresentare i valori di G(p)
(o D(p)) con nuove immagini:
– Ir(p) = r(p)
– IGx(p) = Gx(p)
– IGy(p) = Gy(p)
Esempio
-1 0 1
-2 0 2
-1 0 1
Maschera per
contorni verticali
r |Gx|+|Gy| = 28
F = arctg(-13/15)
IGx(p)
1 2 1
0 0 0
-1 -2 -1
Maschera per
contorni orizzontali
IGy(p)
-1 0 1
-2 0 2
-1 0 1
-2 0 2
-6 0 14 Gx=15
-2 0 9
1 2 1
0 0 0
-1 -2 -1
2 10 2
0 0 0 Gy=-13
-2 -16 -9
Ir: esempio
• Ir(p) = 0 <=> in un intorno di p, I è
costante
Ir: esempio [2]
Ir: esempio [3]
Punti di “edge”
• Binarizzando opportunamente Ir è
possibile ottenere una seconda
immagine E, detta “edge map”
• E rappresenta i punti con gradiente più
elevato in modulo, ovvero i punti di
bordo (edge points) di I
Esempio
Esempio [2]
Shape Retrieval: Principali
approcci
• Approccio statistico
• Approccio tramite template matching
(deformabile)
Approccio statistico
• Si stabiliscono delle feature per
rappresentare la forma degli oggetti
tramite punti nello spazio delle feature
Rn
• La distanza (e.g., Euclidea) tra punti in
Rn corrisponde alla similarità percepita
dall’utente
Ese. di feature (semplice)
• Data la sagoma (img binaria) di
un’oggetto, calcolo:
– L’area,
– Il perimetro,
– La “compattezza” (rapporto perimetro2 /
area),
–…
Coefficienti di Fourier del bordo
esterno
Esempio
Momenti digitali
• Supponiamo che S sia il risultato di una
binarizzazione di I: S = {(x,y): I(x,y) < th}
• Per ogni coppia di interi non negativi (j,k), il
momento digitale (j,k)-esimo di S è dato da:
• E’ facile constatare che M00(S) corrisponde
all’area di S
Momenti digitali [2]
Vantaggi e svantaggi
dell'approccio statistico
• Possibilità di indexing
• Dubbio potere discriminante (spesso le
feature usate sono poco discriminanti)
• Gli oggetti devono essere
completamente isolabili (problema di
“segmentazione”)
Template Matching Deformabile
• Gli approcci di questo filone si basano
sul tentativo di far allineare lo sketch
disegnato dall'utente con (una porzione
de-) l'immagine attualmente analizzata
dal sistema
Template Matching Deformabile [2]
• L’ allineamento avviene deformando
iterativamente lo sketch iniziale per adattarlo
come se fosse un “elastico” ai bordi degli
oggetti delle immagini in memoria
• Il processo iterativo termina:
– quando si raggiunge una sovrapposizione
accettabile (successo), oppure:
– quando il grado di deformazione supera un certo
valore massimo (fallimento)
Esempio
immagine presa da: Del Bimbo, Pala, Visual Image Retrieval by Elastic Matching of User Sketches, IEEE PAMI 1997
Esempio: Elastic Matching (Del
Bimbo-Pala)
• Le immagini vengono inserite nel DB del
sistema nella forma contenente solo gli edge
(pre-processing)
• L'utente disegna il suo sketch usando un tool
grafico e la sagoma finale viene
rappresentata con una spline codificata
mediante i suoi punti di controllo:
P = (p1, ..., pn), pi = (xi, yi)
Elastic Matching [2]
• Se la sovrapposizione tra i pixel dello
sketch e quelli dei bordi dell'immagine
candidata è elevata, la procedura
termina qui
• Altrimenti, i vari pi vengono “perturbati”
in modo da modificare lo sketch e reiterare la comparazione
Misura di matching
• Più esattamente, la “bontà” del matching tra lo sketch P e
l'immagine I è definita da:
M(P,I) = C(P,I) - D(P,I), dove:
• C() e D() sono delle funzioni, rispettivamente, del grado di
sovrappozione e di deformazione dello sketch
• Il modo più semplice per ottenere C(P,I) è contando il numero di
pixel dello sketch (definito da P) e dell’immagine che sono
sovrapposti
Misura di matching [2]
D(P,I) = S(P,I) + B(P,I),
dove: S() e B() sono funzioni del grado
di tensione e di curvatura dello sketch
immagine presa da: Del Bimbo, Pala, Visual Image Retrieval by Elastic Matching of User Sketches, IEEE PAMI 1997
Ricerca dei massimi della
funzione di matching
Metodi iterativi
Metodo del gradiente ascendente
Elastic Matching: riassunto
dell’algoritmo
• Per ogni immagine I del DB:
– Proietto lo sketch fornito dall’utente su I
rappresentandolo tramite l’insieme P(0) dei punti
di controllo di una spline
– Per ogni iterazione k:
• Utilizzo il metodo del gradiente ascendente per calcolare
P(k+1) da P(k)
• Mi fermo quando trovo un massimo locale M(P(h),I)
– Dal valore raggiunto M(P(h),I) decido se I contiene
lo sketch oppure no
Elastic Matching: problemi aperti
• La convergenza dipende fortemente dalla
soluzione iniziale P0:
– non è invariante rispetto a roto-traslazioni e
cambiamenti di scala
– segmentazione manuale di tutti i possibili oggetti
di interesse nelle immagini del DB (e.g., tramite il
minimo rettangolo includente), oppure
– iterazioni successive del metodo per valori diversi
di P0
Rettangolo Includente
immagine presa da: Del Bimbo, Pala, Visual Image Retrieval by Elastic Matching of User Sketches, IEEE PAMI 1997
Template matching deformabile:
vantaggi e svantaggi
• No indexing
• Maggiore tolleranza ad occlusioni e
sfondi non uniformi rispetto all’approccio
statistico
• Problemi di segmentazione solo
parzialmente risolti…
Considerazioni generali sui limiti
dei sistemi content based (con
query by example)
• Tutta l’informazione che un sistema
“content based” ha rispetto all’ “oggetto”
cercato (e.g., una determinata forma
visiva o segnale auditivo) deriva dalla
query
Considerazioni generali sui limiti
dei sistemi query by X [2]
• Per quanto sofisticato sia il sistema di
rappresentazione o di matching è difficile distinguere
le variazioni di forma “lecita” da quelle non lecite
(rumore, altri oggetti…)
Considerazioni generali sui limiti
dei sistemi query by X [3]
• Il cervello umano impara a distinguere la forma di un
cavallo solo dopo averne visti diversi e in varie
posizioni
• Prestazioni paragonabili per i sistemi artificiali sono
probabilmente possibili solo mediante una fase di
apprendimento automatico
Riferimenti
• Del Bimbo, Pala, Visual Image Retrieval by Elastic
Matching of User Sketches, IEEE PAMI 1997
• 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)
• Smeulders et al., Content-Based Image Retrieval at
the End of Early Years, IEEE PAMI 2000
Domande…
Scarica

I r (p) = 0