410 likes | 500 Views
A proposito di spazio scala e di altre features locali. Elisabetta Delponte delponte@disi.unige.it. http://slipguru.disi.unige.it. Il mondo è fatto a scala. Il significato di un oggetto in un’immagine è diverso al variare della scala.
E N D
A proposito di spazio scala e di altre features locali... Elisabetta Delponte delponte@disi.unige.it http://slipguru.disi.unige.it
Il mondo è fatto a scala • Il significato di un oggetto in un’immagine è diverso al variare della scala. • Se vogliamo descrivere “cose” è importante ricordarsi della scala a cui le osserviamo.
I2 I1 I0 Rappresentazioni a multi-scala • Per analizzare automaticamente un’immagine abbiamo bisogno di una rappresentazione multiscala delle informazioni contenute in essa. • Il tipo di informazioni che si possono ottenere da un’immagine dipende dal rapporto fra le dimensioni delle sue strutture e gli operatori per l’analisi.
Alcune difficoltà • La prospettiva crea variazioni di dimensioni • Quando si lavora con immagini digitali non si può dimenticare di considerare il rumore • I dati, come al solito, sono bidimensionali, mentre il nostro mondo reale è in tre dimensioni. Serve una teoria formale che ci permetta di affrontare il problema del multi-scala.
Lo spazio-scala • Lo spazio-scala è una struttura per affrontare la natura multiscala delle immagini [Witkin83, Lindeberg94, Koenderink92] • Il segnale originale viene rappresentato da una famiglia parametrica di segnali derivati nei quali le strutture fini vengono soppresse.
Idee fondamentali • L’idea base è che le strutture ai livelli a minor risoluzione devono contenere delle semplificazioni delle strutture dei primi livelli. • Non deve essere una soppressione accidentale dei dettagli del segnale.
IN I1 I0 Segnali unidimensionali • Abbiamo ottenuto una famiglia di segnali unidimensionali facendo una convoluzione del segnale originale I0 con un filtro gaussiano con varianza t. (t crescente dal basso verso l’alto)
Non solo gaussiane... • Linearità • Invarianza per traslazione spaziale • Non possono crearsi nuove strutture nel passaggio da un livello a più alta risoluzione a uno a più bassa. • Ci sono molte formulazioni dello spazio-scala: il filtraggio con una gaussiana ci permette di conservare le proprietà che richiediamo. • Un altra formulazione equivalente si basa sull’equazione di diffusione del calore:
Assiomi dello spazio scala • Omogeneità e isotropia: • Il filtraggio è invariante a seconda della posizione. • Causalità: non si possono creare nuovi estremi nel passaggio da un livello a più alta risoluzione ad uno a più bassa. • Relazioni con meccanismi della visione biologica.
Causalità ovvero “Nulla si crea” • Nel passaggio da un livello a più alta risoluzione ad uno a più bassa non si possono creare nuovi estremi: • poiché la derivazione commuta con la convoluzione: • In altre parole: ogni feature individuata a un basso livello di risoluzione deve avere una “causa” ad un livello più definito.
La visione biologica Alcuni campi ricettivi della retina e della corteccia visiva dei mammiferi possono essere modellati come la sovrapposizione di filtri gaussiani. Gaussian derivative kernels fino al quarto ordine in 2D.
Feature detection multiscala • Analizziamo nello spazio-scala alcune feature che conosciamo già: • Edge: Lvv=0 Lvv e Lvvv sono derivate direzionali del Lvvv<0 secondo e terzo ordine nella direzione v. (v è la direzione parallela al gradiente dell’immagine) • Corner • Ridge: Lp=0 Lpp<0 |Lpp|≥ |Lqq| • Top points
Corner Immagine originale in cui ho calcolato i corner (con l’algoritmo visto insieme in laboratorio) Immagine filtrata con una finestra gaussiana di dimensione 11 e varianza 2 in cui ho calcolato i corner
Nessuno è perfetto • Esistono metodi che permettono di selezionare automaticamente la scala a cui andare a ricercare una feature. Altrimenti si conservano le informazioni relative all’intero spazio scala [Lindeberg96]. • Il filtraggio fa perdere precisione nella localizzazione della feature. Per individuarla precisamente bisogna ricorrere a un meccanismo inverso che è piuttosto complicato.
SIFT: feature invarianti per scala • Le SIFT sono features locali [Lowe04]. • A partire da un’immagine possiamo estrarre da essa alcune features che siano invarianti per: • cambiamento di scala • rotazioni • trasformazioni affini attenzione • cambiamenti di illuminazione • cambiamenti di punto di vista • aggiunta di rumore.
Step principali • Individuazione dei massimi e minimi nello spazio scala • Localizzazione dei keypoint • Attribuzione di una direzione ai keypoint • Descrizione dei keypoint.
La piramide nello spazio-scala • Definiamo lo spazio-scala di un immagine: con: • Introduciamo la differenza di Gaussiane (DoG):
Costruzione della piramide Dopo aver calcolato la prima Dog, l’immagine viene sottocampionata e il processo ricomincia.
Individuazione degli estremi • Cerchiamo i massimi e i minimi nella piramide D(x,y,) • Verifica su livelli contigui: il massimo deve esserlo anche per i livelli di scala vicini.
Step principali • Individuazione dei massimi e minimi nello spazio scala • Localizzazione dei keypoint • Attribuzione di una direzione ai keypoint • Descrizione dei keypoint.
Localizzazione precisa • Una volta individuato un keypoint dobbiamo: • definirne la posizione precisa nello spazio-scala e nell’immagine originale • verificare che non sia un edge • valutarne la “forza”. • In base a queste caratteristiche possiamo selezionare i keypoint più significativi (eliminiamo gli edge e i punti che hanno basso contrasto)
Step principali • Individuazione dei massimi e minimi nello spazio scala • Localizzazione dei keypoint • Attribuzione di una direzione ai keypoint • Descrizione dei keypoint.
Direzione principale • Assegnare una direzione canonica a ogni keypoint ci permette di ottenere descrittori invarianti per rotazione. • Possiamo calcolare modulo e direzione del gradiente relativi al keypoint in base alla sua posizione nello spazio scala. • Per calcolare la direzione principale rappresentiamo le direzioni nell’intorno del keypoint con un istogramma.
Riassunto • Individuazione dei massimi e minimi nello spazio scala • Localizzazione dei keypoint k=(x,y,s) • Attribuzione di una direzione ai keypoint k=(x,y,s, α) • Descrizione dei keypoint.
Descrizione dei keypoint • Cerchiamo una descrizione del keypoint che ci permetta di ottenere invarianza per cambiamenti di illuminazione o di cambio di punti di vista. • i valori di grigio nell’intorno del punto di interesse? • distribuzione delle direzioni nell’intorno.
Descrittori • Dati modulo e direzione del gradiente intorno al keypoint, costruiamo il descrittore come una specie di istogramma pesato delle direzioni.
Descrittori ... ... I descrittori sono ottenuti pesando con una gaussiana e con il modulo del gradiente gli istogrammi delle direzioni nell’intorno di ogni keypoint.
Sift e applicazioni • Matching • Riconoscimento
Esercitazione • Costruzione di uno spazio scala con filtraggi successivi di una stessa immagine: • individuazione di edge • individuazione di corner • Calcolo di una piramide di DoG e individuazione dei massimi e dei minimi. Confronto con gli edge e i corner individuati nello spazio-scala.