2D Object Recognitionby InvariantLocal Features



Documenti analoghi
Low Level Vision. Feature points: (Corner Detection, SIFT)

Corso di Visione Artificiale. Filtri parte I. Samuel Rota Bulò

Corso di Matematica per la Chimica

Tecniche di riconoscimento statistico

Fondamenti di Elaborazione di Immagini Estrazione dei Bordi e Segmentazione. Raffaele Cappelli raffaele.cappelli@unibo.it

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2

Capitolo 13: L offerta dell impresa e il surplus del produttore

Universita degli Studi di Roma Tor Vergata Facolta di Ingegneria Elettronica

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

Il concetto di valore medio in generale

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre Prof. L.

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

Sistemi Informativi Territoriali. Map Algebra

Abbiamo costruito il grafico delle sst in funzione del tempo (dal 1880 al 1995).

Un gioco con tre dadi

Multimedia. Creazione di Modelli 3D usando ARC3D

Introduzione all analisi dei segnali digitali.

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

VALORE DELLE MERCI SEQUESTRATE

Corso di Visione Artificiale. Stereopsi. Samuel Rota Bulò

Processo di rendering

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004

13. Campi vettoriali

Corso di. Dott.ssa Donatella Cocca

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Matematica e Statistica

Interpolazione ed approssimazione di funzioni

Ricerca di outlier. Ricerca di Anomalie/Outlier

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Corso di Visione Artificiale. Immagini digitali. Samuel Rota Bulò

La distribuzione Normale. La distribuzione Normale

La Minimizzazione dei costi

0.6 Filtro di smoothing Gaussiano

INTRODUCTION TO WEARABLE TECHNOLOGY

Indirizzo odontotecnico a.s. 2015/2016

Lezione 8. La macchina universale

MovieShot Motore Di Ricerca Per Film Basato Sul Riconoscimento Della Locandina

Esempi di funzione. Scheda Tre

Funzioni con dominio in R n

Più processori uguale più velocità?

Elementi di Psicometria con Laboratorio di SPSS 1

Informatica. Rappresentazione dei numeri Numerazione binaria

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Regressione Mario Guarracino Data Mining a.a. 2010/2011

Relazioni statistiche: regressione e correlazione

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

Immagini binarie. Binarizzazione di immagini a livelli di grigio

2 Argomenti introduttivi e generali

Ottimizzazione Multi Obiettivo

4 3 4 = 4 x x x 10 0 aaa

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007

CURRICOLO MATEMATICA - CLASSE QUINTA -

la restituzione prospettica da singolo fotogramma

Di testi ed immagini

4. Proiezioni del piano e dello spazio

Fondamenti e didattica di Matematica Finanziaria

AND NON CAP WEIGHTED PORTFOLIO

LEZIONI N 24 E 25 UNIONI SALDATE

Prova di autovalutazione Prof. Roberta Siciliano

Diagonalizzazione di matrici e applicazioni lineari

~ Copyright Ripetizionando - All rights reserved ~ STUDIO DI FUNZIONE

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

Misure della dispersione o della variabilità

FUNZIONE REALE DI UNA VARIABILE

Mining Positive and Negative Association Rules:

Interesse, sconto, ratei e risconti

Sistema automatico di acquisizione e modellazione 3D a basso costo

Sistema di ripresa con fotocamera digitale fissa Calibrazione

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Processo di rendering

Consideriamo due polinomi

LA CONOSCENZA DEL MONDO SCUOLA DELL INFANZIA. OBIETTIVI DI APPRENDIMENTO 3 anni 4 anni 5 anni

Capitolo 2 Distribuzioni di frequenza

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Dimensione di uno Spazio vettoriale

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

Indici (Statistiche) che esprimono le caratteristiche di simmetria e

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

RUGOSITÀ. Introduzione

LE FUNZIONI A DUE VARIABILI

TRAVE SU SUOLO ELASTICO

LA CORRELAZIONE LINEARE

Corso di Calcolo Numerico

Basi di matematica per il corso di micro

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

LE CARTE DI CONTROLLO (4)

Transcript:

2D Object Recognitionby InvariantLocal Features Luigi Di Stefano, Samuele Salti luigi.distefano@unibo.it, samuele.salti@unibo.it Laboratorio di Visione Artificiale (CVLab) Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Alma Mater Studiorum - Università degli Studi di Bologna

OR by Invariant Local Features Object s model consists of a bunch of invariant local features together with their geometric arrangement (e.g. star model). Features are extracted from the target image too, so as to be matched to model s features. As long as features are local (i.e. capture image information in a small neighbourhood around a point), this approach can deal with occlusions effectively. Features must be invariant (or robust) with respect to the transformation which describes object s pose. Unlike the sliding window, dimensionality of both pose space and model database can be dealt with effectively by a local features approach.

General Workflow Model Features Database - GHT Target Feature Extraction & Matching Geometric Validation Found Pose Estimation by LLS Bounding Box Not Found - SIFT, SURF.. - Efficient Indexing (e.g. kd-tree, BBF) - Euclidean - Similarity - Affine..

Sommario Introduzione Detectors Invarianti a rotazione Invarianti a cambiamenti di scala Descriptors Invarianti a rotazione e cambiamenti di scala Matching processes Efficient Indexing Matching come classificazione Geometric Validation(GHT) & Stima Bounding Box (LLS)

Corrispondenze e differenze Una grande varietà di problemi affrontati dalla Computer Vision richiede di stabilire l esistenza (e di determinare quindi le coordinate) di punti corrispondenti tra due (o più) immagini diverse di una stessa scena (o oggetto). Punti corrispondenti: punti in un gruppo di immagini che derivano dalla proiezione dello stesso punto 3D. Esistono vari gradi o modi in cui le immagini possono essere diverse.

Esempio: Mosaicing Creazione automatica del panorama Per stabilire la trasformazione che mette in relazione correttamente le due immagini (omografia) sono necessari almeno 4 punti corrispondenti. Ricerca di punti chiaramente riconoscibili in modo indipendente sulle due immagini. Descrizione delle caratteristiche che rendono quel punto riconoscibile. Confronto e scelta delle corrispondenze.

Altri esempi Esempi: Stereo Matching Object recognition 3D reconstruction Camera calibration Motion tracking Indexing and database retrieval Robot navigation

Divide et impera Il problema della determinazione di punti corrispondenti può essere quindi scomposto in 3 sotto-problemi: Detection di punti caratteristici (interest points, features, keypoints,...) Description dell intorno di tali punti Matching delle descrizioni ognuno dei quali viene risolto da una parte specifica dei vari algoritmi che vedremo Detector Descriptor (Matcher) Matching algorithm I sotto-algoritmi sono in linea di principio ortogonali, ma attenzione a Efficacia Prestazioni

Il detector ideale Le caratteristiche principali di un buon detector sono Repeatability: la capacità di identificare la maggior parte dei feature point indipendentemente dalle trasformazioni che legano le due immagini. Distinctiveness / informativeness: L intensity patterns intorno ai features point individuati dovrebbe contenere molta informazione, in modo da rendere il più possibile efficace il processo di matching. Locality: La feature dovrebbe essere individuata analizzando un contesto più locale possibile, in modo da limitare la possibilità che una feature includa parti occluse e/o di altri oggetti. Quantity: Si dovrebbero individuare molte feature, anche su oggetti piccoli. Accuracy: La localizzazione deve essere accurata, non solo spazialamente, ma anche rispetto alla scala. Efficiency: Spesso se ne richiede l uso in contesti real-time

Il descriptor ideale Le caratteristiche principali di un buon descriptor sono Repeatability: date due feature corrispondenti, il descrittore dovrebbe essere quanto più possibile lo stesso, indipendentemente dalle trasformazioni che legano le due immagini. Distinctiveness / informativeness: L informazione presente nella patch considerata dovrebbe essere ben catturata dal descrittore, in modo da rendere facile distinguere ogni feature dalle altre. Compactness: un descrittore compatto non contiene dati ridondanti né altamente correlati. Non solo ciò ha un impatto sui requisiti di memoria, ma anche e soprattutto sulle performance del matching process. Efficiency: Dovrebbero esserci molti feature points in un immagine, quindi è necessario poterli descrivere rapidamente.

Il matching process ideale Le caratteristiche principali di un buon matching process sono Recall & Precision: basso rate di falsi positivi e falsi negativi Recall = TP TP ; Precision= P TP + FP Efficiency: I descrittori possono avere una elevata dimensionalità, è necessario poterli comparare in modo efficiente.

Immagini diverse Parametri intrinseci (zoom, risoluzione) Livello di esposizione (otturatore, apertura) Parametri estrinseci (posizione, orientamento) Taj Mahal, Agra, India. Orario (ora del giorno, un minuto prima/dopo) thanks to Pietro Azzari

Trasformazioni geometriche 2D

Modelli di deformazioni (1) Variazioni geometriche La trasformazione più generica indotta dal processo di formazione dell immagine è la trasformazione prospettica La trasformazione affine rappresenta una buona approssimazione del processo di formazione dell immagine quando la distanza del sensore dalla scena è molto grande rispetto alle variazioni di profondità della stessa (proiezione ortografica) Assumendo che gli oggetti nella scena siano composti da superfici smooth, queste possono essere approssimate localmente con un piano. La trasformazione affine può quindi essere considerata una buona approssimazione locale della deformazione prospettica. Gli algoritmi col più alto grado di invarianza a deformazioni geometriche sono in pratica invarianti solo rispetto a deformazioni affini. Casi più comuni Rotation-invariant features (detector e/o descriptor) Scale-invariant features (detector e/o descriptor)

Modelli di deformazioni (2) Deformazioni fotometriche Sono dovute a variazioni di luminosità tra i due momenti e/o luoghi di acquisizione O a comportamenti non perfettamente lambertiani delle superfici nella scena. In generale viene assunto un modello di deformazione fotometrica affine: I ' = a I + b A fronte di queste deformazioni, la repeatability (sicuramente la proprietà più importante) si può ottenere grazie a Invarianza: le possibili deformazioni sono modellate matematicamente, e i detector/descriptor sono sviluppati in modo da non esserne affetti. Robustezza: si costruisce il detector/descriptor in modo che non sia troppo sensibile a piccole variazioni non presenti nel modello. È praticamente inevitabile usare questo approccio per rumore, eventuali artefatti dovuti a compressione, blur, etc

Detectors & Descriptors Detectors Rotation invariant detectors Harris corner detector Scale invariant detectors LoG & Hessian LoG approximations (DoG, Fua, ) Harris-Laplace Fast-Hessian Descriptors Rotation & Scale invariant descriptors SIFT SURF

Harris Corner Detector (1) Viene ripresa l idea base di Moravec [1], che consiste nel misurare le differenze (SSD) tra una finestra dell immagine e la stessa finestra shiftata nelle 8 posizioni adiacenti. flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions

Harris Corner Detector (2) Indicato con ( x, y) il generico shift, l operatore di Moravec può essere formulato come segue: x 1 w( x, y) = 0 ( x, y) y x, y ( ( ) ( )) 2 E( x, y) = w( x, y) I x + x, y + y I x, y Per modellate tutti i possibili piccoli shift della finestra, Harris and Stephens [2] sostituiscono agli shift discreti di Moravec l espansione di Taylor della funzione intensità nell intorno del punto (x,y): (, ) I ( x, y) I x y I ( x + x, y + y) I ( x, y) x + y = I x ( x, y) x + I y ( x, y) y x y

x, y Harris Corner Detector (3) x, y ( x ( ) y ( ) ) E( x, y) = w( x, y) I x, y x + I x, y y = ( 2 ( ) 2 2 ( ) 2 ( ) ( ) ) x y x y = w( x, y) I x, y x + I x, y y +2 I x, y I x, y x y 2 x (, ) x (, ) y (, ) 2 (, ) (, ) (, ) I x y I x y I x y x = w( x, y) [ x y] x, y I y x x y I y x y I y x y 2 ( ) ( ) ( ) w( x, y) I x x, y w( x, y) I x x, y I y x, y x, y x, y x = [ x y] 2 w( x, y) I x ( x, y) I y ( x, y) w( x, y) I y ( x, y) y x, y x, y x E ( x, y) = [ x y] M y 2

Harris Corner Detector (4) La matrice M cattura la struttura locale dell immagine in quanto rappresenta la distribuzione del gradiente nell intorno del punto considerato. Supponiamo ora che M sia diagonale: M 2 ( ) ( ) ( ) w( x, y) I x x, y w( x, y) I x x, y I y x, y x, y x, y λ1 0 = = 2 w( x, y) I (, ) (, ) (, ) (, ) 0 x x y I y x y w x y I y x y λ2 x, y x, y λ1, λ2 0 : Flat λ1 λ2, λ2 λ1 : Edge λ1, λ2ր : Corner

Harris Corner Detector (5) Ci si può sempre ricondurre al caso precedentemente considerato in quanto, essendo M simmetrica, può sempre essere diagonalizzata mediante una rotazione degli assi del sistema di riferimento: λ 0 = 0 λ 2 1 T M R R ove le colonne di R sono gli autovettori (ortonormali) di M, λ i sono i corrispondenti autovalori ed R T è la matrice di rotazione che trasforma i dati nel nuovo SdR. In particolare, i nuovi assi sono allineati con gli autovettori di M. λ, λ ր : Corner 1 2 λ1, λ2 0 : Flat λ λ : 1 2 Edge Elaborazione dell immagine LS

Harris Corner Detector (6) Poiché il calcolo degli autovalori non è particolarmente efficiente, Harris e Stephens propongono di valutare la seguente funzione di risposta dell operatore: e studiando tale funzione evidenziano che: ( ) λ λ ( λ λ ) 2 2 C = det( M ) k tr M = k + 1 2 1 2 Corner C > 0 C 0 : 2 Flat C < 0 Edge Elaborazione dell immagine LS

Harris Corner Detector (7) L algoritmo di Harris per la corner detection può quindi essere formulato come segue: Calcolo di C in ogni punto dell immagine Selezione dei soli punti nei quali C è superiore ad una prefissata soglia positiva. Selezione come corner dei massimi locali di C. Si evidenzia infine che, ai fini del calcolo di M, Harris e Stephens propongono l uso di una weighting function w(x,y) gaussiana piuttosto che rettangolare. 1 in window, 0 outside Gaussian

Un esempio (1)

Un esempio (2)

Un esempio (3) Elaborazione dell immagine LS

Un esempio (4)

Un esempio (5)

Rotation invariance? Sì Proprietà di invarianza (1) λ 0 = 0 λ 2 1 T Cambia l orientazione ma M R R, ovvero gli autovalori sono invariati. Intensity change invariance? Parziale Usa le derivate : invariante ad un offset di luminosità I = I + b Non invariante a gaini = ai R threshold R x (image coordinate) x (image coordinate)

Proprietà di invarianza (2) Scale invariance? NO!! Tutti questi punti sono classificati edges Corner! L uso di una finestra di dimensione predeterminata preclude la possibilità di rilevare le stesse featuresin immagini in cui esse appaiono di differenti dimensioni.

Scale invariance (1) In un immagine coesistono tipicamente featuresa scala (i.e dimensione) diversa. Per poter rilevare tutte le features di interesse è quindi necessario disporre di un tool che consenta di analizzare l immagine in tutto il rangedelle scale di interesse.

Scale invariance (2) In relazione alle condizioni di acquisizione (distanza della camera e focale), un dato oggetto può apparire differentemente in un immagine, in particolare presentando maggiori/minori dettagli (i.e. features). Very Far Away Close Farther Le features di un oggetto esistono quindi all interno di un certo range di scale. Il tool per l analisi multiscala precedentemente menzionato consente in linea di principio di ritrovare le stesse features in immagini dello stesso oggetto acquiste in condizioni differenti: se una feature appare ad una scala diversa sarà rilevata in un passo diverso dell analisi. Esiste una scala caratteristica?

Scale Space Il toolper l analisi multiscaladovrebbe innanzitutto consentire di rappresentare l immagine a scale differenti. Diversi ricercatori, tra cui Witkin[17] e Koenderink[18], hanno studiato il problema, convergendo sostanzialmente sull impiego di una funzione detta scale-space. Lo scale-spaceè una famiglia di segnali (immagini) ottenuti dall immagine di partenza facendo variare un parametro di scala. Nello scale-space, le informazioni a scale più piccole sono via via soppresse mediante operazioni di smoothing. Partendo da modi diversi di formalizzare l idea che nuove strutture non dovrebbero essere introdotte nella rappresentazione a seguito dall operazione di smoothing, si giunge alla conclusione che la convoluzione con un kernelgaussiano (o equivalentemente la soluzione della PDE della diffusione) è l approccio corretto per la costruzione dello scale-space.

Scale-Space Gaussiano Immagini a scale diverse si ottengono convolvendo l immagine con kernel gaussiani di taglia crescente:

Feature Detection & Scale Selection Tuttavia, lo scale-spacegaussiano in quanto tale non include alcun meccanismo per l individuazione delle featuresnonché della relativa scala caratteristica, cioè, intuitivamente, della scala alla quale una data feature(esistente in un certo rangedi scale) risulta massimamente distintiva e dovrebbe quindi essere descritta. Il problema dell individuazione automatica di featurea scale differenti e della relativa scala caratteristica è stato studiato da Lindberg[4], che ha proposto l impiego di opportune combinazioni di derivate normalizzate dello scale-space gaussiano (normalized gaussian derivatives) unitamente alla ricerca dei relativi estremanti nello spazio (x,y,σ).

Analisi di un pattern sinuosidale Lindberg evidenzia come per particolari pattern (e.g. sinusoide 1D, blob in un immagine..), la risposta al variare della scala di alcune combinazioni di derivate gaussiane opportunamente normalizzate rifletta la dimensione della sottostante struttura dei dati. Andamento al variare della scala del massimo della derivata prima gaussiana normalizzata di una sinusoide : la scala a cui si manifesta il massimo è proporzionale alla lunghezza d onda. Se il pattern dei dati è grande la derivata prima ha un massimo ad una scala grande, se è piccolo ad una scala piccola.

Signature dell hessiana per blob features ( ) ( ) 2 2 2 2 2 2 ( tr ( H norm ( L) )) = σ ( Lxx + Lyy ) = ( σ L ) ( ) ( ) 2 ( ( )) 2 4 2 det H norm L = σ ( LxxLyy Lxy ) In entrambe le signature, il massimo si manifesta a scala maggiore per il blob più grande. Il rapporto fra le scale a cui si manifesta il massimo è circa pari al rapporto fra i diametri delle due features.

Localizzazione spaziale e selezione della scala Gli operatori differenziali considerati nella slide precedente sono proprio quelli tipicamente utilizzati per individuare blob features (estremanti spaziali). Ciò suggerisce a Lindbergl idea che la localizzazione spazialee la selezione automatica della scala caratteristica di blob features (nonché di altre tipologie di features) possano essere ottenute simultaneamente individuando gli estremanti nello spazio (x,y,σ) delle versioni normalizzatedi opportuni operatori differenziali. Oltre che per l individuazione di blob featuresmediante il Laplaciano ed il determinante dell Hessiana normalizzati, Lindbergmostra l applicazione di questo principio al caso di featuresdi tipo corner ed edge.

Traccia della matrice Hessiana di L tr ( H norm ( L ) ) = σ 2 ( Lxx + Lyy )

Determinante della matrice Hessiana di L det ( H norm ( L ) ) = σ 4 ( Lxx Lyy L2xy )

Scale invariant detectors A partire dalle idee di Lindeberg sono stati proposto una serie di scale invariant detectors. Quelli che andremo a vedere sono: DoG dell algoritmo SIFT (Scale Invariant Features Transform) di Lowe [7] L estensione Harris-Laplace proposta da Mikolajczyk and Schmid [8] Il Fast-Hessian introdotto da SURF (Speeded-Up Robust Features)[9] Un altra approssimazione del LoG introdotta da Lepetit & Fua [10]

DoG Detector Lowe [7] propone di individuare i keypoints andando alla ricerca degli estremanti nello spazio (x,y,σ) della funzione DoG (Difference of Gaussian): ( ) ( ) DoG( x, y, σ ) = G( x, y, kσ ) G( x, y, σ ) I x, y = L( x, y, kσ ) L( x, y, σ ) La scelta è motivata da considerazioni di efficienza computazionale nonché dall osservazione che la funzione DoG ben approssima il laplaciano normalizzato proposto da Lindberg: 2 ( ) ( ) G( x, y, kσ ) G( x, y, σ ) k 1 σ Lxx + Lyy (k -1)è una costante moltiplicativa piccola che non ha effetto nella ricerca degli estremanti. La scelta di k non è critica. Entrambi i detector sono invarianti per rotazione (simmetria circolare) ed individuano blob features.

Calcolo di DoG(x,y,σ) In generale, s intervalli: 1 k = 2 s Down-samplingdi L(x,y,2σ) prima di procedere con l ottava successiva 2σ = k σ k = 2 4 1 4 s 1 k + σ 2σ 3 k σ 2 k σ kσ σ σ k L(x,y,σ) DoG(x,y,σ) (s+3) gaussian images per ottava

Individuazione dei keypoints e tuning Individuazione dei keypoints: Ricerca degli estremanti: il punto (x,y,σ) viene selezionato come keypointse il valore di DoG(x,y,σ)è maggiore (o minore) di quelli degli 8 vicini alla stessa scala e dei 18 (9+9) vicini alle due scale adiacenti. S=3 Tuning dei parametri: σ =1.6 Doublingdell immagine di input mediante interpolazione lineare

Localizzazione accurata dei keypoints Per localizzare i keypoints con maggiore accuratezza e stabilità, nell intorno di ciascuno degli estremanti individuati si approssima la funzione DoG con una funzione quadratica data dall espansione di Taylor al secondo ordine: Incremento rispetto all estremante DoG nell estremante Gradiente di DoG nell estremante Hessiana di DoG nell estremante L estremante della nuova funzione si ottiene calcolandone il gradiente e ponendolo uguale a zero: Se l incremento è significativo (>0.5 in almeno una delle 3 dimensioni), l estremante viene spostato nel punto discreto più vicino, e la procedura di approssimazione iterata fintantoché si ottiene un incremento significativo. L ultima iterazione permette l interpolazione sub-pixel (somma dell ultimo incremento all ultima posizione discreta). Elaborazione dell immagine LS

Eliminazione di keypoints instabili Punti con basso contrasto non sono stabili. Dalle equazioni precedenti si può ricavare il valore della DoG nel nuovo estremante e scartare i punti per cui < Th ( = 0.03 del range di intensita in [7]) Lowe osserva che la DoG tende a generare degli estremanti instabili nelle vicinanze degli edge. Mentre la risposta nei centri dei blob è un picco molto netto, negli edge, alla scala individuata, la risposta della DoG è «asimmetrica», e cioè più ripida nella direzione normale all edge e più «smooth» lungo l edge. Soluzione simile ad Harris, analizzare le curvature principali nel punto senza calcolarne gli autovalori, eliminare quelli con rapporti maggiori ( più edge che blob, r = 10 in [7])

DoG: esempio

DoG: ulteriori esempi

Scale-adapted Harris Detector La matrice M di Harris può essere adattata in modo da rilevare interest points ad una scala predefinita (Mikolajczick et. al., [8]): (,, σ ) (, ) M x y g x y I (, ) (, ) (, ) 2 I x y I x x x y I y x y x, y x, y = σ I 2 (, ) (, ) (, ) I x y I x y I x y x y x, y x, y y 2 (,, σ, σ ) σ (, ) M x y g x y I D D (,, σ ) (,, σ ) (,, σ ) 2 L x y x D Lx x y D Ly x y D x, y x, y = σ I 2 (,, σ ) (,, σ ) (,, σ ) L x y L x y L x y x D y D y D x, y x, y Alle derivate parziali dell immagine sono sostituite le derivate gaussiane normalizzate alla scala di interesse (σ D ), detta differentiationscale). La σ I (integrationscale) deve crescere con la scala (σ I = k σ D ). 2 La cornerness è la medisima dell operatore di Harris det( M ) k tr ( M ) ( )

Harris-Laplace Detector (1) L operatore Scale-adapted Harris non include un meccanismo di selezione automatica della scala in grado di produrre la scala caratteristica da associare ad una feature. A tale scopo, si potrebbe calcolare l operatore a differenti scale e poi ricercare gli estremanti della cornerness nello spazio (x,y,σ D ). Sperimentalmente, si è osservato che questo approccio genera pochi keypoints [8]. Osservando inoltre che il LOG è in grado di stimare efficacemente la scala caratteristica non solo di blob, ma anche di altre strutture locali inclusi corner, in [8] si propone il detector Harris-Laplace: l operatore Scale-adapted Harris individua corner in un range di scale prefissate, la risposta del Laplaciano lungo la scale ne determina la scala caratteristica. scale y x Sa-Harris Sa-Harris Sa-Harris scale y x Laplace

Confronto fra Detector [8] Immagine 800x640 Pentium II, 500 MHz

FAST Hessian Detector (SURF) In [9] (Bay et.al.) ci si pone l obiettivo di migliorare significativamente l efficienza di SIFT, senza perdere ripetibilità e distintività dei keypoints. Per quanto riguarda il Detector scale-invariant, seguendo la proposta di Lindberg, si ricercano gli estremanti del determinante dell Hessiana: (,, σ ) H x y (,, σ ) xy (,, σ ) (,, σ ) (,, σ ) Lxx x y L x y = Lxy x y Lyy x y ma le derivate gaussiane sono approssimate con dei kernel che possono essere calcolati in maniera particolarmente efficiente: L ( x, y, σ = 1.2) Dyy ( x, y ) Lxy ( x, y, σ = 1.2) Dxy ( x, y) yy

Integral Images ( ) ( ) 2 det H D D w D, w = 0.9 xx yy xy Le derivate gaussiane approssimate possono essere calcolate efficientemente (ed in maniera indipendente dalla taglia del kernel) grazie alla tecnica delle integral images: i x j y = ( x, y) i= 0 j= 0 (, ) (, ) I x y I i j Σ d c Σ b a ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Σ = I a I c I b I d = I a I c I b + I d Σ Σ Σ Σ Σ Σ Σ Σ

Scale Space Essendo il costo computazionale delle derivate gaussiane realizzate con integral images indipendente dalla taglia del kernel, piuttosto che ridurre iterativamente la dimensione dell immagine (e.g. come in DOG) si preferisce filtrare l immagine di partenza con kernel di dimensioni via via crescenti (up-scaling della taglia dei filtri): Down-sampling dell immagine Up-scaling dei filtri 9 x 9, 15 x 15, 21 x 21, 27 x 27 39 x 39, 51 x 51 1 st octave 2 nd octave

Ricerca dei keypoints Viene eseguita inzialmente una nonmaxima suppression in un introrno 3x3x3 Blob-like features I keypoints sono poi localizzati con maggiore accuratezza(e precisione subpixel) utilizzando il metodo proposto da Brown e Lowe per DOG. Elaborazione dell immagine LS

Fast Hessian: ulteriori esempi Elaborazione dell immagine LS

Keypoints secondo Lepetit&Fua (1) Focus sull efficienza computazionale, nell ambito di un framework molto originale nel quale il matching dei keypoints viene impostato come un problema di classificazione [10]. Per ogni pixel, m, si considera innanzitutto un intorno circolare di raggio prefissato e con una serie di test molto rapidi, si scartano i pixel in cui l intensità è simile a quella di una coppia di pixel situati simmetricamente sulla circonferenza.

Keypoints secondo Lepetit&Fua (2) Sui pixel rimanenti, viene effettuata una stima del Laplaciano sommando le differenze fra l intensità in m e quella nelle coppie situate simmetricamente lungo la circonferenza: e sono selezionati come keypoint solo i potenziali candidati in cui il Laplaciano è massimo. I keypoint sono ricercati a varie scale (ad esempio, le prime 3 ottave) mediante costruzione dello scale-space gaussiano (smoothing e sub-samplig). Durante il training del classificatore che effettua il riconoscimento dei keypoint sono ulteriormente selezionati solo quelli maggiormente ripetibili.