Abstract -
In questo paper si parla della tematica sul
Content-Based Image Retrieval,
iniziando ad introdurre il concetto della stessa ed
alcune nozioni di base sull’image
processing. Si descriveranno brevemente gli element
i percettivi di base per il recupero di
immagini attraverso il loro contenuto visivo senza
nessuna informazione testuale associata
ad essa; i vari metodi per l’estrazione delle infor
mazioni dalle immagini, l’indicizzazione e
ricerca dei contenuti in base al contesto del siste
ma informativo e il recupero dei risultati
che si ottengono dai sistemi informativi per l’imag
e retrieval.
1. Paper sul Content-Based Image Retrieval
(Corso di Metodi di estrazioni delle informazioni dal web)
Studente: Sofien Vannutelli
Matricola: 693518
Corso di laurea: Informatica Magistrale
A.A.: 2010/2011
Abstract - In questo paper si parla della tematica sul Content-Based Image Retrieval,
iniziando ad introdurre il concetto della stessa ed alcune nozioni di base sull’image
processing. Si descriveranno brevemente gli elementi percettivi di base per il recupero di
immagini attraverso il loro contenuto visivo senza nessuna informazione testuale associata
ad essa; i vari metodi per l’estrazione delle informazioni dalle immagini, l’indicizzazione e
ricerca dei contenuti in base al contesto del sistema informativo e il recupero dei risultati
che si ottengono dai sistemi informativi per l’image retrieval.
1. Introduzione [2], [3], [6]
A partire dagli anni ’90 è stata un’area di
ricerca, che si è sviluppata molto
velocemente e sopratutto in quest'ultimo
decennio si sono fatti notevoli progressi sia
nella ricerca teorica che in quella
sperimentale. Infatti il numero delle
pubblicazioni di ricerca sulle tecniche di
estrazione di informazioni visive,
organizzazione, indicizzazione, query
dell'utente, di interazione e gestione di
database sono aumentate enormemente.
Oggi, i ricercatori appartenenti alle
comunità di visione artificiale, basi di dati,
interazione-uomo macchina e information
retrieval, stanno, sempre di più,
concentrandosi, in maniera profonda, su
particolari problematiche sempre più
difficili e particolari.
Una primissima soluzione, che è stata
proposta, è stata quella di affidarsi ai
sistemi di retrieval testuale, confidando
nelle informazioni testuali associate alle
immagini. Infatti, attraverso le descrizioni
di testo, le immagini venivano organizzate
per argomento o per significato semantico,
utilizzando sia le gerarchie e sia lo standard
Boolean Queries per la navigazione.
Tuttavia la generazione automatica di testi,
che descrivono un'ampia gamma di
immagini non è fattibile, in quanto la
maggior dei sistemi, che recuperano le
immagini, richiedono una annotazione
manuale delle immagini e questo è un
compito arduo e costoso, in quanto si
dovrebbero immagazzinare nella base di
dati, immagini di grandi dimensioni e
spesso soggettive e legate al contesto.
Mentre nei sistemi di visual retrieval, il
recupero di immagini, si basa
esclusivamente (o prevalentemente)
sull’informazione visiva. Visiva è la query
dell’utente. Visivo è il ”ragionamento”,
ovvero il criterio di similitudine sul quale si
basa il recupero ed il ranking, o l’eventuale
indicizzazione dell’archivio.
Si possono distingure vati tipi di retrieval;
una prima importante suddivisione, dei
sistemi di image retrieval, riguarda il
recupero di immagini fisse o di video. Nel
primo caso la query restituisce uno o più
esempi di ciò che si sta cercando, mentre
nel secondo caso succede, più spesso, che
sono i sistemi semi-automatici, in
particolare i sistemi sofisticati sulla
videosorveglianza, che analizzano le
2. 2
sequenze video per estrarre informazioni
utili al retrieval. C’è da specifare che una
sequenza video è costituita da una
successione di immagini singole.
1.1 Alcune nozioni di base
sull’elaborazione delle immagini
digitali [1]
Per creare un'immagine digitale necessita
convertire i dati continui in una forma
digitale. Questa operazione comprende due
processi: il campionamento e la
quantizzazione. L'operazione di
digitalizzazione è chiamata campionatura.
Quando si digitalizzano i valori
dell'ampiezza si parla di quantizzazione.
Nella rappresentazione delle immagini si
suppone che la funzione f(s,t) rappresenti
una funzione di un'immagine continua di
due variabili continue, s e t e nella fase di
conversione si prende tale funzione e si
ottiene un'immagine digitale attraverso il
processo di campionamento ed il processo
di quantizzazione. Nel campionare
l'immagine continua si ottiene una matrice
bidimensionale, f(x,y), con M righe e N
colonne, in cui (x,y) sono delle coordinate
discrete. Ovviamente questi non sono i
valori delle coordinate fisiche
dell'immagine campionata. In generale il
valore dell'immagine nelle coordinate (x,y)
viene indicato dalla funzione f(x,y), dove x
e y sono numeri interi. La parte del piano
reale attraversata dalle coordinate di
un'immagine è chiamata dominio spaziale,
dove x e y si riferiscono alle variabili
spaziali o alle coordinate spaziali.
In aggiunta a f(x,y) esiste un terzo asse che
ne indica i valori assunti da f (le intensità)
come funzione delle due variabili x e y.
Questa rappresentazione è utile, sopratutto,
quando si sta lavorando in scala di grigio e
gli elementi vengono espressi in modo
triplice, ovvero x e y sono le coordinate
spaziali e z è il valore di f nelle coordinate
(x,y).
Dominio spaziale vs dominio della
frequenza [1]
Nel dominio spaziale si descrive il piano
stesso, che contiene i pixel di un’immagine;
le tecniche nel dominio spaziale operano
direttamente sui pixel di un’immagine a
differenza di quanto avviene nel dominio
della frequenza.
g(x,y) = T[f(x,y)]
Nel dominio della frequenza le operazioni
vengono eseguite sulla trasformata di
fourier di un’immagine, anzichè
sull’immagine stessa, ovvero il metodo di
elaborazione si esprime trasformando
l’input, eseguendo l’operazione (nel
dominio della frequenza) e poi applicare
l’inversa per ritornare al dominio spaziale.
Da notare che è più semplice o più
significativo implementare alcune
operazioni nel dominio spaziale, mentre per
altre è meglio utilizzare approcci differenti,
anche se le tecniche che lavorano nel
dominio spaziale sono più efficienti
computazionalmente.
f(x,y) g(x,y)Trasformata
Operazione
R
Trasformata
Inversa
Dominio Spaziale
Dominio della Frequenza
Dominio Spaziale
Dominio Spaziale
3. 3
I descrittori di contenuti visivi [1]
I descrittori di contenuti visivi possono essere
globali o locali. Un descrittore globale utilizza
le caratteristiche visive di tutta l'immagine,
mentre un descrittore locale utilizza la visuale.
Le caratteristiche delle regioni o degli oggetti
servono per descrivere il contenuto
dell'immagine.
Il modo più semplice di dividere l'immagine è
quella di utilizzare una partizione, che taglia
l'immagine in “tessere” di uguali dimensioni e
forma. Una partizione semplice non genera
regioni percettivamente significative, ma è un
modo per rappresentare le caratteristiche
globali delle immagini a una risoluzione più
fine. Un metodo migliore è quello di
suddividere l'immagine in regioni omogenee,
secondo qualche criterio utilizzando algoritmi
di segmentazione, che sono stati ampiamente
studiati nella visione artificiale. Un modo, più
complesso, di dividere un'immagine è quello
di avviare un oggetto completo per ottenere
semanticamente oggetti significativi (come il
basket, auto, cavalli). Anche se, attualmente,
la segmentazione automatica degli oggetti, per
i domini di massima delle immagini, funziona
con scarse probabilità di successo.
La segmentazione [1]
L’obiettivo della segmentazione è la
ripartizione di una immagine in regioni o
negli oggetti che la compongono. Il livello di
dettaglio al quale viene effettuata la
segmentazione dipende da ciò che si vuole
ottenere. La segmentazione dovrebbe
arrestarsi quando gli oggetti o le regioni di
interesse in una applicazione sono stati
individuati. La segmentazione è in generale
uno degli obiettivi più difficili da raggiungere
nell’ambito dell’elaborazione delle immagini.
L’accuratezza della segmentazione determina
l’eventuale riuscita o l’eventuale fallimento
delle procedure di analisi computerizzate. In
certe situazioni, è possibile tenere conto delle
condizioni al contorno (illuminazione, scena,
etc.) in quanto note a priori. La maggior parte
degli algoritmi di segmentazione si basano su
una delle due proprietà di base dei valori di
intensità: discontinuità e similarità. Nel primo
caso si tende a partizionare una immagine
basandosi sui bruschi cambiamenti di
intensità, come ad esempio gli edge. Nel
secondo caso si basa sulle similarità tra
regioni, facendo riferimento ad un insieme di
criteri di similarità predefiniti. Rientrano in
quest’ultima tipologia le tecniche di sogliatura
(thresholding), di crescita delle regioni
(region growing) ed i metodi separa-e-fondi
(split and merge).
In sintesi, alcuni metodi per la ripartizione di
una immagine sono:
individuazione dei contorni tra le
regioni in base alla discontinuità dei
livelli di intensità;
utilizzo di soglie per derivare la
presenza di alcune proprietà locali
come i valori di intensità o di colore;
ricerca diretta delle regioni.
In particolare nella segmentazione a regioni, i
criteri di similarità o di omogeneità possono
tipicamente includere:
intensità media,
varianza,
struttura,
forma,
dimensione,
parametri fisiologici.
4. 4
2. Gli elementi percettivi di base [2], [3]
I sistemi Content-based Image Retrieval,
tramite il loro contenuto visivo (senza
l’utilizzo di informazioni testuali), necessitano
del riconoscimento degli elementi percettivi
indicati dall’utente, quali:
il colore,
la texture,
la forma.
Per il contenuto visivo delle immagini, nella
base di dati, viene estratto e descritto da
vettori multi-dimensionali, ovvero i vettori di
feature. I vettori di feature di immagini nella
base di dati è quella di formarne una di
funzionalità. Per recuperare le immagini, gli
utenti forniscono, al sistema di recupero,
immagini di esempio o figure abbozzate. Il
sistema cambia questi esempi nella loro
rappresentazione interna in vettori. Le
distanze di somiglianza, tra i vettori di
features, vengono calcolate ed il recupero è
effettuato con l'ausilio di un regime di
indicizzazione. Lo schema di indicizzazione
fornisce un modo efficace per cercare
all’interno della base di dati di immagini.
Content-based image retrieval tramite
Colore [2], [3]
Il colore viene ampiamente utilizzato nella
visualizzazione del contenuto visivo, per il
recupero di immagini. Le sue dimensioni
valori 3D fanno la loro discriminazione di
potenzialità, che è superiore ai singoli valori
dimensionali delle immagini in scala di grigio.
Prima di selezionare un colore appropriato
bisogna selezionare lo spazio colore od il
sistema colore, in sostanza, ogni pixel
dell'immagine può essere rappresentato come
un punto in uno spazio di colore 3D.
Comunemente lo spazio colore utilizzato per
il recupero di immagini comprendono RGB1
,
Munsell2
e HSV3
.
Alcuni descrittori per il colore che vengono
utilizzati più spesso sono:
Color Moment: la distribuzione dei colori
in un’immagine può essere rappresentata
a grandi linee da pochi valori:
o si basa sul concetto di momento di una
distribuzione,
o si perde in precisione, ma si guadagna
in spazio occupato e tempo necessario
per il confronto,
o può essere utile per un primo
screening,
Color Histogram: offre una efficace
rappresentazione del contenuto dei colori
di un’immagine, se la colorazione è unica
rispetto al resto del dataset. L'istogramma
di un'immagine digitale, con livelli di
intesità nella gamma [0,L-1], è una
funzione discreta h(rk) = nk , dove è il
numero di pixel dell'immagine con
intensità rk. Gli istogrammi sono la base
per numerose tecniche di elaborazione del
dominio spaziale, come, ad esempio, il
miglioramento (enhancement)
dell'immagine,
Color Coherence Vector: distingue i due
casi, dividendo ogni elemento
dell’istogramma in due parti:
o una relativa alle aree di grandi
dimensioni,
1
Nel modello RGB, Red Green Blue, ogni colore è
rappresentato dalle sue componenti primarie spettrali di
rosso, verde e blu.
2
Il modello Munsell è lo spazio dei colori usato come
standard internazionale per definire i colori in base a tre
coordinate dimensionali: tonalità (Hue), luminosità
(Value o Lightness) e saturazione (Chroma).
3
Il modello HSB indica sia un metodo additivo di
composizione dei colori che un modo per rappresentarli
in un sistema digitale. Abbreviato HSV, Hue
Saturation Value (tonalità, saturazione e valore), o
HSI, Hue Saturation Intensity (tonalità, saturazione ed
intesità).
5. 5
o l’altra relativa alle aree piccole e
sparse.
Invariant Color Features: introdotta di
recente nell’Information Retrieval è
basata sulle immagini, cioè dato
un’insieme di invarianti di colore, il
recupero dell’oggetto viene basato sul
modello Shufer, inoltre, può offrire
l’illuminazione, la geometria della scena
e la vista geometrica, indipendentemente
dal colore, che hanno i pixel nelle
immagini.
Content-based image retrieval tramite
Texture [2], [3]
La ricerca di immagini tramite texture si basa
sul riconoscimento di pattern ricorrenti,
diffusi in tutta l’immagine o concentrati in
regioni specifiche.
Le interrogazioni sono dirette ad individuare:
immagini contenenti una stessa texture
diffusa,
immagini in cui una zona identificabile
contiene una texture specifica,
immagini che contengono texture rispetto
a immagini non texturizzate,
immagini che contengono texture
appartenenti alla stessa classe anche se
differenti tra loro.
Una texture è una configurazione, ripetitiva di
variazioni di intensità luminosa, caratterizzata
da tre parametri:
granularità: dimensione delle aree
caratterizzate da variazioni di intensità
luminosa,
direzionalità: presenza di una direzione
preferenziale lungo cui si dispongono le
variazioni di intensità luminosa,
ripetitività: presenza di configurazioni
ricorrenti,
contrasto: visibilità della texture rispetto
all’immagine.
Le texture sono misurabili, in termini di alte
frequenze, nello spettro dell’immagine e sono
rappresentate attraverso vettori numerici, che
ne descrivono i parametri caratteristici. Sono
definite collezioni standardizzate di texture
per la valutazione delle prestazioni dei sistemi
di riconoscimento e per la sintesi di immagini.
I vari modelli di calcolo delle texture sono:
il contrasto, granularità e direzione:
preservano la percezione umana di
somiglianza e distanza.
le matrici di co-occorrenza: misurano le
ricorrenze nelle combinazioni di
luminosità dei punti.
l’analisi dell’energia di texture: distingue
le texture in base ad una misura di
energia per configurazioni note.
Tutti e tre i modelli si basano su proprietà e
funzioni sviluppate in ambito del signal
processing e hanno un fondamento teorico
solido, anche se possono richiedere
elaborazioni non banali.
Nel contrasto, granularità e direzionalità
possono essere calcolati in modo da
conservare nella distanza la percezione umana
di differenza (Tamura features).
Nella matrice di co-occorrenza si descriveno
le relazioni spaziali tra i vari livelli di
luminosità dei punti dell’immagine, ovvero
dato un intorno I di piccole dimensioni si
calcola la frequenza con cui i livelli di grigio
ricorrono nelle coppie di punti dell’intorno ed
i livelli di grigio vengono sottocampionati per
ridurre le dimensioni della matrice.
In aggiunta, dalla matrice di co-occorrenza si
traggono alcuni indicatori statistici sintetici,
che caratterizzano il tipo di texture:
energia,
entropia,
contrasto,
6. 6
omogeneità,
tendenza al clustering.
Infine, nel calcolo dell’energia di texture,
questo può essere rappresentato da misure di
energia ottenute attraverso la convoluzione
con kernel, che rappresenta i pattern
caratteristici (level, edge, spot, wave, ripple).
I kernel sono sottoposti a convoluzione tra
loro ed il risultato viene applicato per
convoluzione all’immagine. L’immagine così
ottenuta è elaborata per calcolare l’energia
nelle vicinanze di ogni punto per ogni tipo di
kernel, questo discorso vale anche per i
diversi tipi di texture.
Content-based image retrieval tramite
Forma [2], [3]
La ricerca di immagini tramite la forma si
basa sull’analisi della forma degli oggetti
presenti in un’immagine, dove il concetto di
“oggetto” è convenzionale, gli oggetti sono
identificati da variazioni di luminosità ai
contorni, solitamente non è possibile
identificare i “veri” contorni degli oggetti e si
può pre-elaborare l’immagine segmentandola
in regioni distinte.
Le interrogazioni sono dirette ad individuare:
immagini contenenti oggetti di forma
simile,
immagini in cui è presente un oggetto
descritto attraverso uno sketch,
immagini che contengono forme con
proprietà simili (es. allungate),
immagini che contengono oggetti della
stesa forma ma con prospettive e
angolazioni.
Nell’identificazione degli oggetti, i loro
contorni presenti nell’immagine sono
riconoscibili con certezza solo se non vi sono
intersezioni e né occlusioni, questo perchè le
differenze di colore possono introdurre falsi
contorni e le somiglianze di colore o di
luminosità possono mascherare i contorni più
significativi.
I modelli di calcolo utilizzati per l’image
retrieval tramite la forma sono:
le proprietà geometriche semplici:
associano ad una regione un insieme di
proprietà dei punti contenuti,
il calcolo dei momenti invarianti
dell’immagine: descrivono proprietà della
distribuzione dei punti e quindi degli
oggetti rappresentati,
il calcolo dei descrittori di Fourier: i
coefficienti descrivono l’apporto delle
diverse frequenze lungo le direzioni in
cui si sviluppano le forme di
un’immagine e quindi permettono di
“tracciarle”,
il confronto di forme per deformazione:
l’energia spesa per deformare una forma
in un’altra è una misura della loro
somiglianza.
Nel primo caso, delle proprietà geometriche
semplici, si prende in considerazione una data
regione, identificata da un contorno e su di
essa si possono calcolare alcune proprietà
sintetiche, che sono:
l’area della regione,
la sagoma, in termini di minimo
rettangolo, che include la regione
(minimum bounding rectangle), o
massimo rettangolo incluso (o altra
forma, es. cerchio o ellisse),
compattezza = perimetro2 / area,
allungamento, definito come il rapporto
tra la corda di lunghezza massima e la
corda ad essa perpendicolare,
scomposizione in forme geometriche
standardizzate, quindi confrontabili
facilmente.
La forma di un oggetto (il suo contorno) può
essere definita da un sistema di coordinate
7. 7
polari (centroide e raggi), ed essere invariante
rispetto a numerose trasformazioni
(traslazione, rotazione, riflessione,
ingrandimento/riduzione) e presentare delle
limitazioni non trascurabili, cioè:
solo oggetti connessi e compatti,
il centroide deve essere interno,
il contorno deve essere una funzione ad
un solo valore (nessuna piega).
Nel secondo caso, dei momenti invarianti
dell’immagine, si prende un’immagine binaria
f(x,y) e una regione R connessa di punti tali,
che la funzione f(x,y)=1, il momento di ordine
i,j della regione R può essere definto così:
Mi,j(R) = Σ xi
yi
In particolare, M0,0(R) è l’area di R, i momenti
di ordine maggiore descrivono come le
regioni si dispongono nell’immagine.
Dai momenti dell’immagine è possibile
ottenere, per normalizzazione e composizione,
funzioni che sono invarianti rispetto ad un
certo numero di trasformazioni dell’immagine
traslazione,
riduzione/ingrandimento,
deformazione lineare.
Nel terzo caso, dei descrittori di Fourier, la
trasformata di Fourier del contorno di un
oggetto conserva informazioni sulla
disposizione del contorno stesso, quindi sulla
sua forma, dove i primi coefficienti
descrivono le componenti a bassa frequenza,
per cui la forma “a grandi linee” ed i
coefficienti dei termini a frequenza più
elevata descrivono i dettagli della forma.
La trasformata di Fourier è invariante rispetto
ad alcune trasformazioni dell’immagine,
come:
rotazione (si scarta l’informazione sulla
fase),
scala (si dividono i coefficienti per la
componente continua),
traslazione (deriva automaticamente dalla
rappresentazione del contorno).
Infine, come ultimo caso, il confronto di
forme per deformazione, si ha che la
somiglianza è misurata dall’energia necessaria
per deformare i contorni di due immagini in
modo tale da renderli uguali, infatti questo
argomento verrà discusso nella sezione
successiva come tecnica per il
riconoscimento, ovvero il Template Matching
Deformabile.
Un tipico sistema di recupero di immagini,
tramite somiglianza di forma, presuppone:
una query by sketch: l’utente disegna una
sagoma approssimativa di ciò che sta
cercando nel database di immagini,
la ricerca nel database avviene quindi
tramite tecniche di indicizzazione e di
riconoscimento provenienti dalla
Computer Vision,
l’output del sistema non si limita a dire
cosa è stato o non è stato riconosciuto, ma
deve fornire una lista di immagini
ordinate per grado di somiglianza con la
query.
8. 8
3. Alcune tecniche di
riconoscimento per i sistemi
Content-based Image Retrieval [2],
[3], [4], [5], [6], [9] [10]
Alcune tecniche per il riconoscimento nei
sistemi Content-based Image Retrieval,
possono essere sinteticamente divise in due
filoni, che sono:
1. l’approccio statistico,
2. il Template Matching.
L’approccio statistico [2], [3], [11]
Nell’approccio statistico si scelgono una serie
di n caratteristiche (features) dell’apparenza
di un oggetto, che siano facilmente misurabili.
Generalmente si tratta di statistiche globali sui
pixel appartenenti all’interno o ai bordi della
sagoma dell’oggetto O ed è descritto tramite
un punto in RN
dato dal vettore V(O) delle n
misurazioni delle sue features.
La base di dati viene ordinato in base alla
distanza tra lo sketch S e le immagini Oi in
esso contenute:
dist(V(Oi), V(s))
Alcuni esempi tipici di features possono
essere l’area della figura, cioè il numero dei
suoi pixel. La compattezza della regione,
definita come il rapporto tra il quadrato del
perimetro e l’area.
L’allungamento (elongatedness) della
regione, definito come il rapporto tra la
lunghezza della corda di lunghezza massima e
la lunghezza della corda ad essa
perpendicolare. I coefficienti dell’espansione
in serie di Fourier ottenuti interpretando la
sagoma come fosse una funzione sinusoidale.
La sagoma, infatti, è una curva chiusa di
perimetro L, ed un suo generico punto può
essere descritto dalle coordinate x(l) e y(l), 0 ≤
l ≤ L, da cui:
φ(l) = x(l)+jy(l)
dove φ(l) è una funzione periodica la cui
espansione tramite serie di Fourier fornisce i
coefficienti della codifica.
Un esempio pratico di approccio statistico
potrebbe essere il recupero di volti umani,
ovvero dato un archivio di immagini (I1
, I2
,
...), ognuna rappresentante il volto di un
individuo (in ”formato tessera”), si vuole
recuperare, se esiste, l’immagine
dell’individuo a cui appartiene una data,
nuova immagine in input (Q). Anzitutto ogni
immagine (del database o di query) processata
dal sistema deve essere analizzata al fine di
estrarne la parte rappresentante il volto (face
detection). La rappresentazione delle features
non sono altro che i valori di grigio dei pixel
dell’immagine. Supponiamo per esempio che
I sia una generica immagine processata dal
sistema (o una sua sotto-finestra) dalle
dimensioni n*m, allora I può essere
rappresentata dalla concatenazione delle sue n
righe:
V(I)=(I11, I12, ... I1m, I21, I22, ... Inm)T
dove V(I), a sua volta, può essere
rappresentato da un punto in Rn*m
. In questo
caso il sistema di retrieval restituisce
l’immagine più vicina al punto V(Q) (nearest
neighbour).
L’utilizzo della compressione avviene quando
Rnxm
é uno spazio troppo grande e perciò deve
essere proiettato in uno spazio di dimensioni
ridotte, chiamato face space. Tale proiezione
avviene esaminando un insieme di immagini
d’esempio (training set) al fine di stabilire
quali sono le informazioni statistiche
maggiormente discriminanti.
9. 9
La Principal Component Analysis (PCA) è
l’esempio più noto di tecnica di compressione,
ovvero il vettore di features V1xnm viene
rappresentato da un secondo vettore W di
dimensioni Nx1, con N«nm. Il vettore W, pur
essendo più piccolo rispetto a V, viene
costruito in modo da mantenere la maggior
parte dell’informazione statisticamente
rilevante. Il feature space di dimensione N
viene costruito esaminando il training set e
scegliendo una nuova base ortonormale B di
Rn*m
tale che i vettori di B indichino, in ordine
decrescente, le direzioni di massima varianza
nel training set, ovvero in una base di
dimensione N si selezionano soltanto i primi
N elementi di B. Dato che per ogni individuo
umano, rappresentato all’interno di una base
di dati di volti, siano disponibili più di
un’immagine, è possibile pensare di adottare
delle tecniche di Machine Learning statistico
per permettere al sistema di generalizzare
l’apparenza di ogni individuo. Presa la
persona P1 essa è rappresentata dalle
immagini Ii1,Ii2,... nella base di dati e, quindi,
dai punti Wi1,Wi2,... del face space.
Le Reti Neurali, le Support Vector Machine o
altre tecniche di apprendimento
supervisionato possono pemettere al sistema
di costruire le classi C1,C2,..., corrispondenti
alle persone P1,P2,... . Ciascuna classe è
ottenuta raggruppando opportunamente i punti
del face space ed è rappresentata da una
regione multidimensionale (non
necessariamente connessa) del face space. La
regione R1 corrispondente alla persona P1 è
una generalizzazione degli esempi Wi1,Wi2,...
ed è una rappresentazione delle possibili
apparenze di P1. Quindi una nuova immagine
Q, rappresentante una delle persone note,
viene assegnata alla persona Pk se W(Q)
appartiene a Rk.
L’indicizzazione di una base di dati avviene
secondo dei criteri, tali da rendarla efficiente
nell’operazione di recupero on-line delle
informazioni in essa contenute. Questa
operazione è molto importante sopratutto se le
dimensioni del database sono abbastanza
critiche.
I sistemi di Content-based Image Retrieval
raramente permettono l’indicizzazione;
un’importante eccezione sono gli approcci
statistici ed è possibile se i dati possono essere
rappresentati vettorialmente ed è possibile
organizzare il database sfruttando le relazioni
spaziali tra i vettori.
Le tecniche più note si basano su strutture dati
ad albero quali: il kd-Tree o l’R-Tree. La
struttura dati più utilizzata è il kd-Tree, dove
esso è un albero binario in cui ogni nodo è un
punto k-dimensionale. Ogni nodo non foglia
può essere pensato come implicitamente la
generazione di un iperpiano scissio, che
divide lo spazio in due parti, noti come
sottospazi. I punti a sinistra di questo
iperpiano rappresentano il sotto-albero
sinistro di quel nodo e punti di destra
dell’iperpiano sono rappresentati nel sotto-
albero destro. La direzione dell’iperpiano
viene fatta nel seguente modo: ogni nodo
dell'albero è associato ad uno delle k-
dimensioni, con l'iperpiano perpendicolare
all'asse della dimensione stessa.
Ad esempio, se per una particolare “frazione”
dell’asse X è scelta, tutti i punti nel sotto-
albero con valore x più piccoli rispetto al
nodo, saranno visualizzati nel sotto-albero
sinistro, mentre tutti i punti con valore x più
grandi, saranno visualizzati nel sotto-albero
destro. In tal caso, l'iperpiano sarebbe fissato
dal valore x del punto, e la sua normale
sarebbe l'unità dell’asse X.
Quindi, supponiamo di voler indicizzare un
insieme di vettori di features V1,...,VN, tali che
Vi appartiene a Rk e Vi=(vi
1
,...,vi
k
)T
. Si sceglie,
innanzitutto, la prima feature, corrispondente
alla prima componente di ogni vettore e si
10. 10
trova il valore f1, mediano rispetto a
v1
1
,v1
2
,..,v1
N
.
L’uso del kd-Tree nella indicizzazione, fa sì
che la radice dell’albero conterrà f1 e sarà
associata all’elemento Vj=(f1,...). Nel
sottoalbero a sinistra si memorizzeranno i
vettori Vi tali che vi
1 ≤ f1 e nel sottoalbero
destro gli altri. A livello 1 si sceglie la feature
numero 2 e si calcola f2, e così via. Dopo aver
utilizzato la feature k-esima, si ritorna
ciclicamente a considerare la prima feature,
finchè tutti gli elementi V1,...,VN siano stati
assegnati a qualche nodo dell’albero.
I vantaggi dell’approccio statistico sono quelli
di permette l’indicizzazione della base di dati
ed eventualmente di utilizzare tecniche di
Machine Learning, mentre gli svantaggi sono
quelli di avere uno scarso potere
discriminante e di non permettere che
l’oggetto d’interesse sia occluso o in contatto
con altri oggetti nella scena.
Il Template Matching [5]
Nel confronto diretto di immagini, mediante
distanza tra i vettori4
nello spazio, in generale
non funziona per una serie di ragioni, fra cui:
differenze di traslazione, rotazione, scala
e prospettiva,
deformazione e variabilità dei pattern,
cambiamenti di illuminazione,
presenza di rumore nelle immagini e
utilizzo di tecniche di acquisizione
diverse.
Una soluzione, che viene spesso utilizzata, è il
Template Matching in cui si costruiscono uno
o più pattern modello (template) e li si
“ricerca” all’interno dell’immagine,
misurandone il grado di “somiglianza”
(matching) in tutte le possibili posizioni.
4
Un vettore, con n=WxH dimensioni, rappresenta
un’immagine in scala di grigio.
Del Template Matching esistono due tipi di
panoramiche principali:
1. il Template Matching Rigido,
2. il Template Matching Deformabile.
Il Template Matching Rigido [7], [8]
Il template T è costituito da un oggetto rigido,
dove normalmente è una piccola immagine in
formato raster: il confronto avviene
direttamente fra i pixel; tuttavia, a seconda
dell’applicazione, potrebbe essere più efficace
eseguire il template matching dopo aver
estratto determinate feature (es. gli edge,
oppure l’orientazione del gradiente).
Il template T viene sovrapposto a I in tutte le
possibili posizioni (rispetto agli assi x e y),
ma, a seconda dell’applicazione, può essere
anche necessario operare delle trasformazioni
(ad es. ruotarlo e/o scalarlo).
Per ogni istanza Ti
5
, il grado di similarità
viene solitamente calcolato massimizzando la
correlazione con la porzione di immagine I
“coperta” da Ti.
Normalmente i template hanno dimensioni
inferiori all’immagine ed analogamente alla
convoluzione, è necessario decidere come
comportarsi sui pixel di bordo (ossia dove Ti
non è completamente contenuto in I).
Gli svantaggi di questa tecnica si hanno nella
complessità computazionale, in quanto il
numero di operazioni richieste cresce
linearmente con il numero di istanze e con il
numero di pixel di I e T (e quindi
quadraticamente rispetto al lato di I e di T). In
pratica, per applicazioni real-time, l’approccio
di base è raramente applicabile, in aggiunta
risulta essere difficile la gestione dei pattern
deformabili, ad esempio: per la localizzazione
di un componente elettronico è necessaria
avere l’invarianza per posizione, rotazione,
5
Una generica istanza di T ottenuta con una data
trasformazione.
11. 11
scala e aspect ratio (lunghezza/altezza) e ciò
implica un enorme numero di istanze.
Il Template Matching Deformabile [7]
Gli approcci di questo filone si basano sul
tentativo di far ”combaciare” (allineare) lo
sketch disegnato dall’utente con (una porzione
de) l’immagine attualmente analizzata dal
sistema.
Tale tentativo di allineamento avviene
deformando progressivamente lo sketch
iniziale per adattarlo come se fosse un
“elastico” alle silhouette delle immagini in
memoria.
Il processo iterativo termina o quando si
raggiunge una sovrapposizione accettabile tra
lo sketch deformato e l’immagine o quando il
grado di deformazione applicato allo sketch
supera un certo valore massimo.
Un caso molto particolare è se si considera
l’Elastic Template Matching (Del Bimbo-
Pala), ove tutte le immagini vengono inserite
nella base di dati del sistema nella forma
contenente solo gli edge.
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).
Se il matching tra lo sketch e l’immagine
candidata è elevata, la procedura termina qui.
Altrimenti, i vari pi vengono “perturbati” in
modo da modificare lo sketch e re-iterare la
comparazione. Più esattamente, il grado di
matching tra lo sketch e l’immagine è definito
da:
M(P) = C(P) - D(P),
dove C e D sono delle funzioni,
rispettivamente, del grado di sovrapposizione
e di deformazione dello sketch e:
D(P) = S(P) + B(P),
essendo S e B funzioni del grado di tensione e
di curvatura dello sketch.
Per trovare i massimi del matching, bisogna
cercare un massimo (locale), ovvero tutti quei
punti in cui il gradiente (∆M(P)) si annulla
∆M(P)=0.
Il problema dei massimi lo si può risolvere
analiticamente quando ∆M è sufficientemente
semplice, ma nel caso in cui ∆M non è
semplice da risolvere bisogna ricorrere ad un
metodo iterativo.
Nel metodo iterativo si deve partire da una
soluzione valida, P0, e si procede
“pertubando” P.
I passi da seguire sono i seguenti:
1. P’ := P + δP
2. P := P’ se M(P0) > M(P).
Un’altro metodo è quello del gradiente
ascendente, in cui si modificano
progressivamente i pi nella direzione di
crescita massima ottenuta, derivando M
rispetto a P:
P(k+1)=P(k)+∆M(P(k)).
Qualsiasi sia la tecnica di ricerca dei massimi
adottata, la necessità di una soluzione iniziale
P0 (lo sketch sovrapposto ”manualmente”
sull’immagine) porta ad una mancata
indipendenza da roto-traslazioni e scalamenti.
Ciò costringe a fornire le immagini del
database di una segmentazione manuale di
tutti i possibili oggetti di interesse (ad
esempio tramite il minimo rettangolo
includente), oppure a iterare il metodo per
valori iniziali diversi di P0.
12. 12
4. Il recupero dei risultati [3]
Il recupero dei risultati si basa solo sulla
similitudine di solo features visuali e ciascuno
di tipo di esso tende a catturare soltanto un
aspetto dell’immagine, per questo si basa sulla
importanza dei feedback, il quale aumenta
attivamente l’apprendimento, informando il
sistema che la ricerca è andata a buon fine
oppure no.
Il relevance feedback, una volta che i risultati
iniziali vengono presentati all’utente, permette
allo stesso di inserire la sua valutazione
riguardo alla rilevanza di uno o più documenti
ritrovati. La valutazione preliminare viene
utilizzata per riformulare la interrogazione, in
aggiunta, questa tipo di tecnica produce un
processo interattivo, possibilmente a più passi.
5. Conclusioni
Tutti i sistemi Content-based image retrieval
dispongono di un’intelligenza artificiale e di
una soluzione automatica per una ricerca
efficiente di immagini, la maggioranza delle
tecniche correnti si basano sulle features di
basso livello. In generale, ciascuna di esse
tende a catturare solo un aspetto della
proprietà dell’immagine.
In conclusione, gli utenti sono interessati a
quelli che sono semanticamente e
percettivamente immagini simili, e i risultati
che restituiscono gli attuali sistemi, che si
basano sulle features di basso livello, sono
generalmente insoddisfacenti e spesso
impraticabili.
6. Riferimenti
[1]. Elaborazione delle Immagini Digitali.
Autori Rafael C. Gonzales, Richard E.
Woods. Editore Pearson Prentice Hall,
terza edizione 2008 (versione italiana) –
edition 2008.
[2]. Based Image Retrieval at the End of
Early Years. Autori Arnold W.M.
Smeulders, Senior Member, IEEE,
Marcel Worring, Simone Santini,
Member, IEEE, Amarnath Gupta,
Member, IEEE, e Ramesh Jain, Fellow,
IEEE.
[3]. Fundamentals of Content-based Image
Retrieval. Autori Dr. Fuhui Long, Dr.
Hongjiang Zhang e Prof. David Dagan
Feng.
[4]. Riconoscimento Automatico di oggetti in
immagini digitali. Autore Dr. Ever
Sangineto. Slides della lezione integrativa
del corso “Visione Artificiale”.
[5]. Approcci Model-Based al
Riconoscimento di oggetti. Autore Dr.
Ever Sangineto. Slides della lezione
integrativa del corso “Visione
Artificiale”.
[6]. Image Retrieval. Fonte Wikipedia.
http://en.wikipedia.org/wiki/Image_retrie
val
[7]. Elastic Matching. Autori Alberto Del
Bimbo, Member, IEEE, and Pietro Pala,
Member, IEEE.
[8]. Image retrieval tramite forma. Autore Dr.
Ever Sangineto. Slides della lezione del
corso “Metodi di estrazioni delle
informazioni dal web”.
[9]. Multimedia Retrieval. Autore Dr. Ever
Sangineto. Slides della lezione del corso
“Metodi di estrazioni delle informazioni
dal web”.
[10]. Annotazione automatica di materiale
multimediale. Autore Dr. Ever Sangineto.
Slides della lezione del corso “Metodi di
estrazioni delle informazioni dal web”.
[11]. Range Searching using Kd-Tree. Autore
Hemant M. Kakde.