Algoritmi per l’Image Alignment Università degli studi di Roma “La Sapienza” Algoritmi per l’Image Alignment Corso di Visione e Percezione Professoressa: Fiora Pirri Studenti: Galizia Luca Martinelli Giuseppe Martino Musilli Roberto Tutor: Andrea Carbone
Introduzione al problema RIFERIMENTI: “Lucas-Kanade 20 Years On: A Unifying Framework” di Simon Baker, Ralph Gross, Takahiro Ishikawa, and Iain Matthews OBIETTIVO: Valutazione degli algoritmi per l’Image Alignment: CONCETTI DI BASE: “Image Alignment”: muovere e deformare un template per minimizzare la differenza con una immagine di ingresso “Gradient Descent”: è un algoritmo di ottimizzazione iterativo che si avvicina al minimo locale di una funzione scendendo lungo il gradiente “Error Function”: valuta l’errore tra il template attuale e quello di riferimento “Lucas Kanade algorithm”: minimizza la somma dei quadrati tra un template e un’immagine trasformata nel sistema di coordinate del template “Inverse Compositional”: riformulazione dell’algoritmo di Lukas-Kanade a matrice hessiana costante POSSIBILI APPLICAZIONI: Tracking -Mosaic construction -Stereo vision -Face coding -…
Lucas-Kanade Algorithm Proposto nel 1981. Introduce il problema dell’Image Allignment Algoritmo iterativo di ottimizzazione non-lineare di tipo gradient descent -Allinea un template ad un immagine in ingresso -Si basa sulla minimizzazione della somma dei quadrati -Utilizza un vettore p di parametri caratterizzanti una trasformazione, ed una matrice W(x;p) che identifica il set di deformazioni ammissibili -Tutti i passi dell’algoritmo devono essere eseguiti ad ogni iterazione -L’algoritmo termina quando la stima dei parametri p converge (10) (9)
The Inverse Compositional Algorithm con norma L2 Euclidea The Inverse Compositional Algorithm con norma L2 Pesata Riformulazione dell’algoritmo di Lucas-Kanade per la riduzione del costo computazionale -Allinea l’immagine in ingresso ad un template (il contrario rispetto a L-K) -Si basa sulla minimizzazione della somma dei quadrati (norma L2 Euclidea) -Il calcolo dell’Hessiana e dello Jacobiano viene eseguito una sola volta (non c’è dipendenza diretta rispetto ai parametri) -L’algoritmo termina quando la stima dei parametri p converge The Inverse Compositional Algorithm con norma L2 Pesata (30) (20) -Algoritmo identico al precedente; l’unica differenza è che utilizza la norma pesata (28) (29) (19)
Iteratively Reweighted Least Squares Approssimazione H-Algorithm IDEA: utilizzare una funzione d’errore robusta al posto della norma L2 -Si basa sulla minimizzazione di -La matrice jacobiana può essere precalcolata -L’hessiana, poiché dipende dal vettore p dei parametri, deve essere calcolata ad ogni iterazione -Questo algoritmo può essere utilizzato con una funzione robusta arbitraria -Per le simulazioni è stata utilizzata la funzione d’errore: Introdotto da Dutter – Huber Sostituisce all’Hessiana dell’IRLS classico la formulazione costante già vista in precedenza: Approssimazione Spatial Coherence degli outliers Si basa sul raggruppamento dei pixel outliers in gruppi coerenti Si divide il template in K blocchi o sotto-template generalmente organizzati in una griglia regolare La matrice Hessiana di ogni sotto-template si assume costante: L’Hessiana generale del template assume quindi la forma di seguito riportata; essa deve essere calcolata ad ogni iterazione ma con un costo computazionale minimo (64) (63)
Simulazioni 2)Test robust error 1)Test weighted -Sono proposti due script Matlab per il confronto dei vari algoritmi 2)Test robust error -Confronta l’algoritmo IC a norma euclidea con l’IC IRLS classico, con approssimazione H-algorithm e con approssimazione spatial coherence degli outliers -Si assume che la causa principale di rumore sia l’occlusione -La valutazione utilizza come parametro la percentuale di occlusione -Viene generato in modo random un rettangolo occludente parte della figura 1)Test weighted -Confronta l’algoritmo IC a norma euclidea con l’IC a norma pesata -Pesa i pixel con valori opportuni Scenario B - rumore uniforme invariante -Come matrice di peso utilizza la seguente, che associa un peso maggiore ai pixel caratterizzati da un gradiente più elevato. -Il test è effettuato per diversi valori di varianza (0.0, 16.0, 32.0) Scenario A - rumore bianco gaussiano a varianza variabile -Come matrice di peso utilizza la seguente, che associa un peso minore ai pixel caratterizzati da una varianza del rumore minore. -Il test è effettuato per diversi intervalli di varianza -varianza 8.0 -> 24.0 -varianza 4.0 -> 32.0 -varianza 8.0 -> 40.0 I risultati ottenuti per tre differenti percentuali di occlusioni (10%, 30% e 50%) mostrano come le prestazioni dell’algoritmo IC decadano all’aumentare della percentuale fino al punto che, con un’occlusione del 50%, l’algoritmo diverge quasi sempre. L’algoritmio H si comporta meglio, ma i risultati migliori si ottengono con l’IRLS classico e quello con l’approssimazione spatial coherence. Nel caso a varianza 0.0 la velocità di convergenza dell’algoritmo con la norma euclidea non pesata è più veloce rispetto all’algoritmo a norma pesata. Al crescere della varianza la situazione si ribalta in quanto in presenza di rumore la stima del gradiente del template diviene più accurata al crescere della sua magnitudine. In tutti i casi la velocità di convergenza dell’algoritmo con la norma pesata è più veloce rispetto all’algoritmo originale. La frequenza di convergenza è di conseguenza più elevata. Performance migliori con l’utilizzo degli algoritmi IRLS Performance migliori con l’utilizzo della norma pesata (in presenza di rumore) Performance migliori con l’utilizzo della norma pesata
La scelta dell’algoritmo da utilizzare dipende Riepilogo -L’algoritmo IC a norma L2 pesata è efficiente tanto quanto l’IC originale, ma il suo impiego è preferibile per le migliori prestazioni ottenute in presenza di rumore additivo -L’algoritmo IRLS è il migliore per quanto riguarda correttezza e prestazioni, tuttavia presenta l’handicap dell’elevato costo computazionale (scarsa efficienza) -L’algoritmo-H presenta il minore costo computazionale, a discapito delle prestazioni -L’approssimazione Spatial Coherence risulta essere un buon compromesso La scelta dell’algoritmo da utilizzare dipende dal tipo di rumore e dalle risorse computazionali Caso A - rumore gaussiano IC a norma pesata Caso B - rumore non gaussiano Funzione di errore robusta Caso C - performance IC-IRLS Caso D - efficienza IC-IRLS Spatial Coherence