Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Content based image-retrieval

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Paper sul Content-Based Image Retrieval
(Corso di Metodi di estrazioni delle informazioni dal web)
Studente: Sofien Vannut...
2
sequenze video per estrarre informazioni
utili al retrieval. C’è da specifare che una
sequenza video è costituita da una...
3
I descrittori di contenuti visivi [1]
I descrittori di contenuti visivi possono essere
globali o locali. Un descrittore ...
Publicité
Publicité
Prochain SlideShare
My master thesis
My master thesis
Chargement dans…3
×

Consultez-les par la suite

1 sur 12 Publicité

Content based image-retrieval

Télécharger pour lire hors ligne

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.

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.

Publicité
Publicité

Plus De Contenu Connexe

Plus récents (20)

Publicité

Content based image-retrieval

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

×