際際滷

際際滷Share a Scribd company logo
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Universit`a degli Studi di Firenze
Facolt`a di Ingegneria
Progetto e sviluppo di un modulo di visual
odometry per dispositivi mobili
Marco Righini
Relatore:
Prof. Pietro Pala
Co-relatore:
Ing. Walter Nunziati
5 Marzo 2012
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Sommario
1. Odometria visuale
2. Flusso ottico e stima del moto
3. Architettura dellapplicazione
4. Risultati dei test e鍖ettuati
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Visual odometry
Lobiettivo principale della tesi `e la realizzazione di un modulo
per il supporto alla navigazione indoor su dispositivi mobili.
Approcci esistenti e relative limitazioni:
Metodo Limitazioni
Triangolazione/trilaterazione wi鍖 Necessit`a di ambiente strumentato
RFID attivi/passivi Necessit`a di ambiente strumentato
Sensori inerziali del dispositivo Alta rumorosit`a del segnale
Alternativa: visual odometry
Determinare il percorso e鍖ettuato tramite lanalisi video della sequenza di
immagini catturate dalla telecamera.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Visual odometry
Lobiettivo principale della tesi `e la realizzazione di un modulo
per il supporto alla navigazione indoor su dispositivi mobili.
Approcci esistenti e relative limitazioni:
Metodo Limitazioni
Triangolazione/trilaterazione wi鍖 Necessit`a di ambiente strumentato
RFID attivi/passivi Necessit`a di ambiente strumentato
Sensori inerziali del dispositivo Alta rumorosit`a del segnale
Alternativa: visual odometry
Determinare il percorso e鍖ettuato tramite lanalisi video della sequenza di
immagini catturate dalla telecamera.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Visual odometry
Lobiettivo principale della tesi `e la realizzazione di un modulo
per il supporto alla navigazione indoor su dispositivi mobili.
Approcci esistenti e relative limitazioni:
Metodo Limitazioni
Triangolazione/trilaterazione wi鍖 Necessit`a di ambiente strumentato
RFID attivi/passivi Necessit`a di ambiente strumentato
Sensori inerziali del dispositivo Alta rumorosit`a del segnale
Alternativa: visual odometry
Determinare il percorso e鍖ettuato tramite lanalisi video della sequenza di
immagini catturate dalla telecamera.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Dispositivi mobili
Gli studi di odometria visuale presenti in letteratura si riferiscono
ad un utilizzo tipico su piattaforme robotiche caratterizzate da:
movimenti controllati;
con鍖gurazione hardware scelta ad hoc.
I dispositivi mobili costituiscono un ambito applicativo di鍖erente:
nessun controllo di posa;
componenti hardware limitate e vincolate dal costruttore.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Dispositivi mobili
Gli studi di odometria visuale presenti in letteratura si riferiscono
ad un utilizzo tipico su piattaforme robotiche caratterizzate da:
movimenti controllati;
con鍖gurazione hardware scelta ad hoc.
I dispositivi mobili costituiscono un ambito applicativo di鍖erente:
nessun controllo di posa;
componenti hardware limitate e vincolate dal costruttore.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Approccio seguito
Ad ogni istante. . .
La posizione corrente `e ottenuta a partire dalla posizione
precedente tramite il calcolo dello spostamento relativo e鍖ettuato.
Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni
coppia di frame acquisiti:
1 Calcolo del 鍖usso ottico;
Keypoint detection. Estrazione punti interessanti dal primo
frame;
Keypoint tracking. Ricerca delle corrispondenze nel frame
successivo.
2 Stima del moto. Calcolo della trasformazione proiettiva
(omogra鍖a).
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Approccio seguito
Ad ogni istante. . .
La posizione corrente `e ottenuta a partire dalla posizione
precedente tramite il calcolo dello spostamento relativo e鍖ettuato.
Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni
coppia di frame acquisiti:
1 Calcolo del 鍖usso ottico;
Keypoint detection. Estrazione punti interessanti dal primo
frame;
Keypoint tracking. Ricerca delle corrispondenze nel frame
successivo.
2 Stima del moto. Calcolo della trasformazione proiettiva
(omogra鍖a).
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Approccio seguito
Ad ogni istante. . .
La posizione corrente `e ottenuta a partire dalla posizione
precedente tramite il calcolo dello spostamento relativo e鍖ettuato.
Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni
coppia di frame acquisiti:
1 Calcolo del 鍖usso ottico;
Keypoint detection. Estrazione punti interessanti dal primo
frame;
Keypoint tracking. Ricerca delle corrispondenze nel frame
successivo.
2 Stima del moto. Calcolo della trasformazione proiettiva
(omogra鍖a).
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Approccio seguito
Ad ogni istante. . .
La posizione corrente `e ottenuta a partire dalla posizione
precedente tramite il calcolo dello spostamento relativo e鍖ettuato.
Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni
coppia di frame acquisiti:
1 Calcolo del 鍖usso ottico;
Keypoint detection. Estrazione punti interessanti dal primo
frame;
Keypoint tracking. Ricerca delle corrispondenze nel frame
successivo.
2 Stima del moto. Calcolo della trasformazione proiettiva
(omogra鍖a).
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Scenario applicativo
Il procedimento richiede che le
corrispondenze dei punti siano
proiezione di una stessa struttura
planare.
Situazioni critiche:
corridoi stretti;
rotazioni ravvicinate ad oggetti
sporgenti;
oggetti vicini in movimento.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Scenario applicativo
Il procedimento richiede che le
corrispondenze dei punti siano
proiezione di una stessa struttura
planare.
Situazioni critiche:
corridoi stretti;
rotazioni ravvicinate ad oggetti
sporgenti;
oggetti vicini in movimento.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Flusso ottico sparso
Flusso ottico
Moto apparente di pattern di luminosit`a quando la telecamera `e in
moto relativo rispetto agli oggetti inquadrati nellimmagine.
Il metodo utilizzato `e di tipo sparso e prevede il calcolo del 鍖usso
ottico solamente per un sottoinsieme di punti notevoli (keypoint)
dellimmagine.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Flusso ottico sparso
Flusso ottico
Moto apparente di pattern di luminosit`a quando la telecamera `e in
moto relativo rispetto agli oggetti inquadrati nellimmagine.
Il metodo utilizzato `e di tipo sparso e prevede il calcolo del 鍖usso
ottico solamente per un sottoinsieme di punti notevoli (keypoint)
dellimmagine.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Rilevamento ed inseguimento keypoint
Rilevamento
FAST [Rosten, 2006]. Opera considerando la circonferenza di
16 pixel centrata nel punto candidato p.
Inseguimento
LK [Lucas and Kanade, 1981]. Fornisce una soluzione
allequazione generale del 鍖usso ottico v utilizzando una
鍖nestra di pixel S ed il metodo dei minimi quadrati pesati:
v = [vx vy ] = argmin
v
uS
wu I(u, t) 揃 vT
+
I
t
(u, t)
2
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Rilevamento ed inseguimento keypoint
Rilevamento
FAST [Rosten, 2006]. Opera considerando la circonferenza di
16 pixel centrata nel punto candidato p.
Inseguimento
LK [Lucas and Kanade, 1981]. Fornisce una soluzione
allequazione generale del 鍖usso ottico v utilizzando una
鍖nestra di pixel S ed il metodo dei minimi quadrati pesati:
v = [vx vy ] = argmin
v
uS
wu I(u, t) 揃 vT
+
I
t
(u, t)
2
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Stima della trasformazione proiettiva (omogra鍖a)
Lobiettivo `e determinare la relazione tra immagini degli stessi
punti di un piano quando il punto di vista dellosservatore cambia.
x  H 揃 x
con H  R33
La matrice omogra鍖a H presenta 8 gradi di libert`a e per calcolarla
sono necessarie 4 corrispondenze di punti o linee.
Tipicamente `e utilizzato un metodo di stima robusta (RANSAC)
su pi`u corrispondenze.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Stima della trasformazione proiettiva (omogra鍖a)
Lobiettivo `e determinare la relazione tra immagini degli stessi
punti di un piano quando il punto di vista dellosservatore cambia.
x  H 揃 x
con H  R33
La matrice omogra鍖a H presenta 8 gradi di libert`a e per calcolarla
sono necessarie 4 corrispondenze di punti o linee.
Tipicamente `e utilizzato un metodo di stima robusta (RANSAC)
su pi`u corrispondenze.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Stima della trasformazione proiettiva (omogra鍖a)
Lobiettivo `e determinare la relazione tra immagini degli stessi
punti di un piano quando il punto di vista dellosservatore cambia.
x  H 揃 x
con H  R33
La matrice omogra鍖a H presenta 8 gradi di libert`a e per calcolarla
sono necessarie 4 corrispondenze di punti o linee.
Tipicamente `e utilizzato un metodo di stima robusta (RANSAC)
su pi`u corrispondenze.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Pattern di calibrazione
Tramite la composizione (moltiplicazione) delle omogra鍖e `e
possibile ottenere lo spostamento in pixel rispetto al sistema di
riferimento dellimmagine iniziale.
. . . e per la rispettiva distanza in metri
Si utilizza un pattern di calibrazione di dimensioni metriche note e
si calcola lomogra鍖a di calibrazione.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Pattern di calibrazione
Tramite la composizione (moltiplicazione) delle omogra鍖e `e
possibile ottenere lo spostamento in pixel rispetto al sistema di
riferimento dellimmagine iniziale.
. . . e per la rispettiva distanza in metri
Si utilizza un pattern di calibrazione di dimensioni metriche note e
si calcola lomogra鍖a di calibrazione.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Pattern di calibrazione
Tramite la composizione (moltiplicazione) delle omogra鍖e `e
possibile ottenere lo spostamento in pixel rispetto al sistema di
riferimento dellimmagine iniziale.
. . . e per la rispettiva distanza in metri
Si utilizza un pattern di calibrazione di dimensioni metriche note e
si calcola lomogra鍖a di calibrazione.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android e OpenCV
Il processo di keypoint detection, tracking e calcolo dellomogra鍖a `e
stato implementato in unapplicazione per la piattaforma Android.
La libreria OpenCV ha fornito gli strumenti base di computer
vision. Oltre allimplementazione standard C/C++ esiste un
porting per Android in linguaggio Java.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android e OpenCV
Il processo di keypoint detection, tracking e calcolo dellomogra鍖a `e
stato implementato in unapplicazione per la piattaforma Android.
La libreria OpenCV ha fornito gli strumenti base di computer
vision. Oltre allimplementazione standard C/C++ esiste un
porting per Android in linguaggio Java.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android NDK
LAndroid NDK permette di integrare codice nativo C/C++
allinterno delle applicazioni Android.
Sviluppo nativo
Modulo di visual odometry nativo ed autocontenuto.
Motivazioni:
Ottimizzazione delle prestazioni;
Riduzione tempi di overhead. Il porting di OpenCV `e un
wrapper per chiamate alla libreria standard C/C++;
Riutilizzo codice per test in locale.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android NDK
LAndroid NDK permette di integrare codice nativo C/C++
allinterno delle applicazioni Android.
Sviluppo nativo
Modulo di visual odometry nativo ed autocontenuto.
Motivazioni:
Ottimizzazione delle prestazioni;
Riduzione tempi di overhead. Il porting di OpenCV `e un
wrapper per chiamate alla libreria standard C/C++;
Riutilizzo codice per test in locale.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android NDK
LAndroid NDK permette di integrare codice nativo C/C++
allinterno delle applicazioni Android.
Sviluppo nativo
Modulo di visual odometry nativo ed autocontenuto.
Motivazioni:
Ottimizzazione delle prestazioni;
Riduzione tempi di overhead. Il porting di OpenCV `e un
wrapper per chiamate alla libreria standard C/C++;
Riutilizzo codice per test in locale.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android NDK
LAndroid NDK permette di integrare codice nativo C/C++
allinterno delle applicazioni Android.
Sviluppo nativo
Modulo di visual odometry nativo ed autocontenuto.
Motivazioni:
Ottimizzazione delle prestazioni;
Riduzione tempi di overhead. Il porting di OpenCV `e un
wrapper per chiamate alla libreria standard C/C++;
Riutilizzo codice per test in locale.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Android NDK
LAndroid NDK permette di integrare codice nativo C/C++
allinterno delle applicazioni Android.
Sviluppo nativo
Modulo di visual odometry nativo ed autocontenuto.
Motivazioni:
Ottimizzazione delle prestazioni;
Riduzione tempi di overhead. Il porting di OpenCV `e un
wrapper per chiamate alla libreria standard C/C++;
Riutilizzo codice per test in locale.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Architettura dellapplicazione
Ottimizzazioni:
Maschere di rilevamento keypoint. Ridurre punti estranei
al piano-pavimento;
Ripetizione omogra鍖a. Nel caso limite in cui non sia
possibile calcolare lomogra鍖a, `e utilizzata lultima computata.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Architettura dellapplicazione
Ottimizzazioni:
Maschere di rilevamento keypoint. Ridurre punti estranei
al piano-pavimento;
Ripetizione omogra鍖a. Nel caso limite in cui non sia
possibile calcolare lomogra鍖a, `e utilizzata lultima computata.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Architettura dellapplicazione
Ottimizzazioni:
Maschere di rilevamento keypoint. Ridurre punti estranei
al piano-pavimento;
Ripetizione omogra鍖a. Nel caso limite in cui non sia
possibile calcolare lomogra鍖a, `e utilizzata lultima computata.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
User interface
Linterfaccia utente `e composta da due activity:
Calibration Activity Map Activity
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
User interface
Linterfaccia utente `e composta da due activity:
Calibration Activity Map Activity
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Test e risultati
Accuratezza del modulo di navigazione
Di鍖erenza tra la posizione reale e quella computata.
Strettamente dipendente dalla scelta dei parametri liberi degli
algoritmi.
Ottimizzazione locale. Per ogni fase del processo di visual
odometry `e stata scelta la con鍖gurazione ottimale tramite lanalisi
di opportuni descrittori.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Test e risultati
Accuratezza del modulo di navigazione
Di鍖erenza tra la posizione reale e quella computata.
Strettamente dipendente dalla scelta dei parametri liberi degli
algoritmi.
Ottimizzazione locale. Per ogni fase del processo di visual
odometry `e stata scelta la con鍖gurazione ottimale tramite lanalisi
di opportuni descrittori.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Test e risultati
Accuratezza del modulo di navigazione
Di鍖erenza tra la posizione reale e quella computata.
Strettamente dipendente dalla scelta dei parametri liberi degli
algoritmi.
Ottimizzazione locale. Per ogni fase del processo di visual
odometry `e stata scelta la con鍖gurazione ottimale tramite lanalisi
di opportuni descrittori.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Confronto algoritmi di keypoint detection
Ripetibilit`a. Stabilit`a geometrica dei keypoint estratti in due
immagini della stessa scena, catturate da punti di vista di鍖erenti.
1 2 3 4 5 6 7 8
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Immagine
Ripetibilit卒a
ST3 ST4 ST5 ST6 ST7 ST8 ST9 ST10 FAST
Tempo di esecuzione. Lalgoritmo FAST `e circa 9 volte pi`u
veloce di Shi-Tomasi.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Confronto algoritmi di keypoint detection
Ripetibilit`a. Stabilit`a geometrica dei keypoint estratti in due
immagini della stessa scena, catturate da punti di vista di鍖erenti.
1 2 3 4 5 6 7 8
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Immagine
Ripetibilit卒a
ST3 ST4 ST5 ST6 ST7 ST8 ST9 ST10 FAST
Tempo di esecuzione. Lalgoritmo FAST `e circa 9 volte pi`u
veloce di Shi-Tomasi.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Prestazioni algoritmo di tracking LK
Accuratezza. `E rappresentata dal numero di keypoint inseguiti e
dallerrore sugli stessi.
92.5 93 93.5 94 94.5 95 95.5
16
16.5
17
17.5
18
9
11
13
15
17 19 21
23
25
27
29
media percentuale keypoint inseguiti
erroremedio
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Accuratezza del modulo di navigazione
Percorso (circa 10m)
Lineare Andata e ritorno Deviazione
vmin
m
s
0.04 0.09 0.086
vmax
m
s
0.38 0.2 0.19
Numero prove 15 10 10
Errore medio % 8.13 8.33 14.89
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Conclusioni e sviluppi futuri
Il lavoro di ricerca ha permesso:
lo sviluppo di un modulo di visual odometry e del prototipo di
applicazione di navigazione;
la caratterizzazione degli algoritmi al variare dei parametri
liberi;
la determinazione delle performance necessarie allesecuzione
del modulo.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Conclusioni e sviluppi futuri
Il lavoro di ricerca ha permesso:
lo sviluppo di un modulo di visual odometry e del prototipo di
applicazione di navigazione;
la caratterizzazione degli algoritmi al variare dei parametri
liberi;
la determinazione delle performance necessarie allesecuzione
del modulo.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Conclusioni e sviluppi futuri
Il lavoro di ricerca ha permesso:
lo sviluppo di un modulo di visual odometry e del prototipo di
applicazione di navigazione;
la caratterizzazione degli algoritmi al variare dei parametri
liberi;
la determinazione delle performance necessarie allesecuzione
del modulo.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Grazie per l'attenzione
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Shi-Tomasi
Valuta il punto candidato p tramite lanalisi degli autovalori 了1 e
了2 della matrice di autocorrelazione
Mac = uS wu
I
x
2
(u) uS wu
I
x (u) I
y (u)
uS wu
I
x (u) I
y (u) uS wu
I
y
2
(u)
Sia 了p = min(了1,了2) e 了 un valore soglia 鍖ssato:
了p  了 indica un edge o una regione uniforme;
了p > 了 rivela un keypoint.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Flusso ottico sparso
Assunzioni fondamentali:
Intensit`a costante;
Persistenza temporale;
Coerenza spaziale.
Si ottiene lequazione fondamentale del 鍖usso ottico v:
I 揃 vT
= 
I
t
Una equazione in due incognite.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Maschere di rilevamento keypoint
Nel compimento di rotazioni ravvicinate ad ostacoli sporgenti, `e
risultato evidente che, nella maggior parte dei casi, i punti estranei
si dispongono nella parte superiore dellinquadratura.
In particolare sono state individuate tre diverse situazioni,
corrispondenti a diverse distanze dagli ostacoli:
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Fasi dei test di ripetibilit`a
Calibrazione dei valori di soglia. Per ogni pavimentazione
sia estratto un numero su鍖ciente di keypoint;
Warping delle immagini;
Calcolo della ripetibilit`a. Al variare dei parametri liberi:
1 Keypoint detection. Rilevazione dei keypoint sullimmagine
originale (P1) e sullimmagine trasformata (P2);
2 Punti ripetuti. R2 = {(p1, p2)  P1  P2|d(H 揃 p1, p2) < 2};
3 Ripetibilit`a. r2 = |R2|
min (n1,n2) con n1 = |P1| e n2 = |P2|.
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Dataset dei test di ripetibilit`a
Marco Righini Modulo di visual odometry per dispositivi mobili
Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni
Performance dellalgoritmo LK
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
16
16.5
17
17.5
18
18.5
19
19.5
20
9
11
13 1517 19 21 23 25 27 29 31
4 fps
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
16
16.5
17
17.5
18
18.5
19
19.5
20
7
9
11
131517 19
21
23 25
27
29 31
8 fps
erroremedio
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
16
16.5
17
17.5
18
18.5
19
19.5
20
7
9
11
13
1517
192123
25
27
29 31
media percentuale keypoint inseguiti
16 fps
Marco Righini Modulo di visual odometry per dispositivi mobili

More Related Content

Viewers also liked (11)

Jesse.cole-resume1
Jesse.cole-resume1Jesse.cole-resume1
Jesse.cole-resume1
Jesse Cole
Moodle cloud
Moodle cloudMoodle cloud
Moodle cloud
Papp Gyula
USAF2USAF2
USAF2
David Funk
SAIBPP_volume 2 issue 1
SAIBPP_volume 2 issue 1SAIBPP_volume 2 issue 1
SAIBPP_volume 2 issue 1
Denise Mhlanga
嗚嗚
JAZMIN GALINDEZ BENITEZ 嗚モ
Never Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation PacksNever Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation Packs
Jerome Leonard
ZeroCampus-LMS-Proposal
ZeroCampus-LMS-ProposalZeroCampus-LMS-Proposal
ZeroCampus-LMS-Proposal
AVIAM Technologies Inc
Animals in danger of extinction
Animals in danger of extinctionAnimals in danger of extinction
Animals in danger of extinction
davidmacias75
竜旅粒留流 龍ホ刃
竜旅粒留流 龍ホ刃竜旅粒留流 龍ホ刃
竜旅粒留流 龍ホ刃
Eirini Papazaxariou
Chapter 11 percentage taxes- Valencia
Chapter 11   percentage taxes- ValenciaChapter 11   percentage taxes- Valencia
Chapter 11 percentage taxes- Valencia
Magnolia Raz
Jesse.cole-resume1
Jesse.cole-resume1Jesse.cole-resume1
Jesse.cole-resume1
Jesse Cole
Moodle cloud
Moodle cloudMoodle cloud
Moodle cloud
Papp Gyula
USAF2USAF2
USAF2
David Funk
SAIBPP_volume 2 issue 1
SAIBPP_volume 2 issue 1SAIBPP_volume 2 issue 1
SAIBPP_volume 2 issue 1
Denise Mhlanga
Never Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation PacksNever Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation Packs
Jerome Leonard
Animals in danger of extinction
Animals in danger of extinctionAnimals in danger of extinction
Animals in danger of extinction
davidmacias75
Chapter 11 percentage taxes- Valencia
Chapter 11   percentage taxes- ValenciaChapter 11   percentage taxes- Valencia
Chapter 11 percentage taxes- Valencia
Magnolia Raz

Similar to Android Visual Odometry (20)

Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
RiccardoScilla
MSc Thesis - Loop Closing, Place Recognition
MSc Thesis - Loop Closing, Place RecognitionMSc Thesis - Loop Closing, Place Recognition
MSc Thesis - Loop Closing, Place Recognition
Giacomo Picchiarelli
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
RiccardoScilla
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
RiccardoScilla
際際滷s marco de_marco
際際滷s marco de_marco際際滷s marco de_marco
際際滷s marco de_marco
Marco De Marco
ppt Ivan Riolino_led_eos2013
ppt Ivan Riolino_led_eos2013ppt Ivan Riolino_led_eos2013
ppt Ivan Riolino_led_eos2013
AREA Science Park
Corso impianti fotovoltaici sessione 2 - studio fattibilita e progettazion...
Corso impianti fotovoltaici   sessione 2 - studio fattibilita e progettazion...Corso impianti fotovoltaici   sessione 2 - studio fattibilita e progettazion...
Corso impianti fotovoltaici sessione 2 - studio fattibilita e progettazion...
Angelo Pignatelli
Smart pon04a3 00402
Smart pon04a3 00402Smart pon04a3 00402
Smart pon04a3 00402
abbia18
SWAMM
SWAMMSWAMM
SWAMM
Toscana Open Research
Modello tesi presentazione
Modello tesi presentazione Modello tesi presentazione
Modello tesi presentazione
Maurizio Esposito
Tesi De Franceschi Daniel
Tesi De Franceschi DanielTesi De Franceschi Daniel
Tesi De Franceschi Daniel
guest8d17469
際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...
際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...
際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...
EdoardoRomeo1
Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Tesi
Rilevamento di facce in flussi video per l'ausilio ai non vedenti - TesiRilevamento di facce in flussi video per l'ausilio ai non vedenti - Tesi
Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Tesi
temp temp
Ignite IBB : Laura Botti : progetto RIPEG
Ignite IBB : Laura Botti : progetto RIPEG Ignite IBB : Laura Botti : progetto RIPEG
Ignite IBB : Laura Botti : progetto RIPEG
Toscanalab
I METODI DELLINTELLIGENZA ARTIFICIALE NELLANALISI E NELLA PROGETTAZIONE D...
I METODI DELLINTELLIGENZA ARTIFICIALE  NELLANALISI E NELLA PROGETTAZIONE  D...I METODI DELLINTELLIGENZA ARTIFICIALE  NELLANALISI E NELLA PROGETTAZIONE  D...
I METODI DELLINTELLIGENZA ARTIFICIALE NELLANALISI E NELLA PROGETTAZIONE D...
Franco Bontempi
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
anwarNazik
Controllo di un'entit mobile da un'applicazione Android - 2013/2014
Controllo di un'entit mobile da un'applicazione Android - 2013/2014Controllo di un'entit mobile da un'applicazione Android - 2013/2014
Controllo di un'entit mobile da un'applicazione Android - 2013/2014
Emanuele Cucci
Rilievo fotogrammetrico e multispettrale
Rilievo fotogrammetrico e multispettraleRilievo fotogrammetrico e multispettrale
Rilievo fotogrammetrico e multispettrale
Giacomo Uguccioni
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
RiccardoScilla
MSc Thesis - Loop Closing, Place Recognition
MSc Thesis - Loop Closing, Place RecognitionMSc Thesis - Loop Closing, Place Recognition
MSc Thesis - Loop Closing, Place Recognition
Giacomo Picchiarelli
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
RiccardoScilla
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
RiccardoScilla
際際滷s marco de_marco
際際滷s marco de_marco際際滷s marco de_marco
際際滷s marco de_marco
Marco De Marco
ppt Ivan Riolino_led_eos2013
ppt Ivan Riolino_led_eos2013ppt Ivan Riolino_led_eos2013
ppt Ivan Riolino_led_eos2013
AREA Science Park
Corso impianti fotovoltaici sessione 2 - studio fattibilita e progettazion...
Corso impianti fotovoltaici   sessione 2 - studio fattibilita e progettazion...Corso impianti fotovoltaici   sessione 2 - studio fattibilita e progettazion...
Corso impianti fotovoltaici sessione 2 - studio fattibilita e progettazion...
Angelo Pignatelli
Smart pon04a3 00402
Smart pon04a3 00402Smart pon04a3 00402
Smart pon04a3 00402
abbia18
Modello tesi presentazione
Modello tesi presentazione Modello tesi presentazione
Modello tesi presentazione
Maurizio Esposito
Tesi De Franceschi Daniel
Tesi De Franceschi DanielTesi De Franceschi Daniel
Tesi De Franceschi Daniel
guest8d17469
際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...
際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...
際際滷s implementazione di un sistema per la generazione di stimoli visivi e l...
EdoardoRomeo1
Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Tesi
Rilevamento di facce in flussi video per l'ausilio ai non vedenti - TesiRilevamento di facce in flussi video per l'ausilio ai non vedenti - Tesi
Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Tesi
temp temp
Ignite IBB : Laura Botti : progetto RIPEG
Ignite IBB : Laura Botti : progetto RIPEG Ignite IBB : Laura Botti : progetto RIPEG
Ignite IBB : Laura Botti : progetto RIPEG
Toscanalab
I METODI DELLINTELLIGENZA ARTIFICIALE NELLANALISI E NELLA PROGETTAZIONE D...
I METODI DELLINTELLIGENZA ARTIFICIALE  NELLANALISI E NELLA PROGETTAZIONE  D...I METODI DELLINTELLIGENZA ARTIFICIALE  NELLANALISI E NELLA PROGETTAZIONE  D...
I METODI DELLINTELLIGENZA ARTIFICIALE NELLANALISI E NELLA PROGETTAZIONE D...
Franco Bontempi
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
anwarNazik
Controllo di un'entit mobile da un'applicazione Android - 2013/2014
Controllo di un'entit mobile da un'applicazione Android - 2013/2014Controllo di un'entit mobile da un'applicazione Android - 2013/2014
Controllo di un'entit mobile da un'applicazione Android - 2013/2014
Emanuele Cucci
Rilievo fotogrammetrico e multispettrale
Rilievo fotogrammetrico e multispettraleRilievo fotogrammetrico e multispettrale
Rilievo fotogrammetrico e multispettrale
Giacomo Uguccioni

Android Visual Odometry

  • 1. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Universit`a degli Studi di Firenze Facolt`a di Ingegneria Progetto e sviluppo di un modulo di visual odometry per dispositivi mobili Marco Righini Relatore: Prof. Pietro Pala Co-relatore: Ing. Walter Nunziati 5 Marzo 2012 Marco Righini Modulo di visual odometry per dispositivi mobili
  • 2. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Sommario 1. Odometria visuale 2. Flusso ottico e stima del moto 3. Architettura dellapplicazione 4. Risultati dei test e鍖ettuati Marco Righini Modulo di visual odometry per dispositivi mobili
  • 3. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Visual odometry Lobiettivo principale della tesi `e la realizzazione di un modulo per il supporto alla navigazione indoor su dispositivi mobili. Approcci esistenti e relative limitazioni: Metodo Limitazioni Triangolazione/trilaterazione wi鍖 Necessit`a di ambiente strumentato RFID attivi/passivi Necessit`a di ambiente strumentato Sensori inerziali del dispositivo Alta rumorosit`a del segnale Alternativa: visual odometry Determinare il percorso e鍖ettuato tramite lanalisi video della sequenza di immagini catturate dalla telecamera. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 4. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Visual odometry Lobiettivo principale della tesi `e la realizzazione di un modulo per il supporto alla navigazione indoor su dispositivi mobili. Approcci esistenti e relative limitazioni: Metodo Limitazioni Triangolazione/trilaterazione wi鍖 Necessit`a di ambiente strumentato RFID attivi/passivi Necessit`a di ambiente strumentato Sensori inerziali del dispositivo Alta rumorosit`a del segnale Alternativa: visual odometry Determinare il percorso e鍖ettuato tramite lanalisi video della sequenza di immagini catturate dalla telecamera. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 5. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Visual odometry Lobiettivo principale della tesi `e la realizzazione di un modulo per il supporto alla navigazione indoor su dispositivi mobili. Approcci esistenti e relative limitazioni: Metodo Limitazioni Triangolazione/trilaterazione wi鍖 Necessit`a di ambiente strumentato RFID attivi/passivi Necessit`a di ambiente strumentato Sensori inerziali del dispositivo Alta rumorosit`a del segnale Alternativa: visual odometry Determinare il percorso e鍖ettuato tramite lanalisi video della sequenza di immagini catturate dalla telecamera. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 6. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Dispositivi mobili Gli studi di odometria visuale presenti in letteratura si riferiscono ad un utilizzo tipico su piattaforme robotiche caratterizzate da: movimenti controllati; con鍖gurazione hardware scelta ad hoc. I dispositivi mobili costituiscono un ambito applicativo di鍖erente: nessun controllo di posa; componenti hardware limitate e vincolate dal costruttore. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 7. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Dispositivi mobili Gli studi di odometria visuale presenti in letteratura si riferiscono ad un utilizzo tipico su piattaforme robotiche caratterizzate da: movimenti controllati; con鍖gurazione hardware scelta ad hoc. I dispositivi mobili costituiscono un ambito applicativo di鍖erente: nessun controllo di posa; componenti hardware limitate e vincolate dal costruttore. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 8. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Approccio seguito Ad ogni istante. . . La posizione corrente `e ottenuta a partire dalla posizione precedente tramite il calcolo dello spostamento relativo e鍖ettuato. Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni coppia di frame acquisiti: 1 Calcolo del 鍖usso ottico; Keypoint detection. Estrazione punti interessanti dal primo frame; Keypoint tracking. Ricerca delle corrispondenze nel frame successivo. 2 Stima del moto. Calcolo della trasformazione proiettiva (omogra鍖a). Marco Righini Modulo di visual odometry per dispositivi mobili
  • 9. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Approccio seguito Ad ogni istante. . . La posizione corrente `e ottenuta a partire dalla posizione precedente tramite il calcolo dello spostamento relativo e鍖ettuato. Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni coppia di frame acquisiti: 1 Calcolo del 鍖usso ottico; Keypoint detection. Estrazione punti interessanti dal primo frame; Keypoint tracking. Ricerca delle corrispondenze nel frame successivo. 2 Stima del moto. Calcolo della trasformazione proiettiva (omogra鍖a). Marco Righini Modulo di visual odometry per dispositivi mobili
  • 10. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Approccio seguito Ad ogni istante. . . La posizione corrente `e ottenuta a partire dalla posizione precedente tramite il calcolo dello spostamento relativo e鍖ettuato. Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni coppia di frame acquisiti: 1 Calcolo del 鍖usso ottico; Keypoint detection. Estrazione punti interessanti dal primo frame; Keypoint tracking. Ricerca delle corrispondenze nel frame successivo. 2 Stima del moto. Calcolo della trasformazione proiettiva (omogra鍖a). Marco Righini Modulo di visual odometry per dispositivi mobili
  • 11. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Approccio seguito Ad ogni istante. . . La posizione corrente `e ottenuta a partire dalla posizione precedente tramite il calcolo dello spostamento relativo e鍖ettuato. Il metodo risolutivo adottato `e di tipo iterativo e prevede per ogni coppia di frame acquisiti: 1 Calcolo del 鍖usso ottico; Keypoint detection. Estrazione punti interessanti dal primo frame; Keypoint tracking. Ricerca delle corrispondenze nel frame successivo. 2 Stima del moto. Calcolo della trasformazione proiettiva (omogra鍖a). Marco Righini Modulo di visual odometry per dispositivi mobili
  • 12. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Scenario applicativo Il procedimento richiede che le corrispondenze dei punti siano proiezione di una stessa struttura planare. Situazioni critiche: corridoi stretti; rotazioni ravvicinate ad oggetti sporgenti; oggetti vicini in movimento. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 13. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Scenario applicativo Il procedimento richiede che le corrispondenze dei punti siano proiezione di una stessa struttura planare. Situazioni critiche: corridoi stretti; rotazioni ravvicinate ad oggetti sporgenti; oggetti vicini in movimento. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 14. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Flusso ottico sparso Flusso ottico Moto apparente di pattern di luminosit`a quando la telecamera `e in moto relativo rispetto agli oggetti inquadrati nellimmagine. Il metodo utilizzato `e di tipo sparso e prevede il calcolo del 鍖usso ottico solamente per un sottoinsieme di punti notevoli (keypoint) dellimmagine. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 15. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Flusso ottico sparso Flusso ottico Moto apparente di pattern di luminosit`a quando la telecamera `e in moto relativo rispetto agli oggetti inquadrati nellimmagine. Il metodo utilizzato `e di tipo sparso e prevede il calcolo del 鍖usso ottico solamente per un sottoinsieme di punti notevoli (keypoint) dellimmagine. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 16. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Rilevamento ed inseguimento keypoint Rilevamento FAST [Rosten, 2006]. Opera considerando la circonferenza di 16 pixel centrata nel punto candidato p. Inseguimento LK [Lucas and Kanade, 1981]. Fornisce una soluzione allequazione generale del 鍖usso ottico v utilizzando una 鍖nestra di pixel S ed il metodo dei minimi quadrati pesati: v = [vx vy ] = argmin v uS wu I(u, t) 揃 vT + I t (u, t) 2 Marco Righini Modulo di visual odometry per dispositivi mobili
  • 17. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Rilevamento ed inseguimento keypoint Rilevamento FAST [Rosten, 2006]. Opera considerando la circonferenza di 16 pixel centrata nel punto candidato p. Inseguimento LK [Lucas and Kanade, 1981]. Fornisce una soluzione allequazione generale del 鍖usso ottico v utilizzando una 鍖nestra di pixel S ed il metodo dei minimi quadrati pesati: v = [vx vy ] = argmin v uS wu I(u, t) 揃 vT + I t (u, t) 2 Marco Righini Modulo di visual odometry per dispositivi mobili
  • 18. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Stima della trasformazione proiettiva (omogra鍖a) Lobiettivo `e determinare la relazione tra immagini degli stessi punti di un piano quando il punto di vista dellosservatore cambia. x H 揃 x con H R33 La matrice omogra鍖a H presenta 8 gradi di libert`a e per calcolarla sono necessarie 4 corrispondenze di punti o linee. Tipicamente `e utilizzato un metodo di stima robusta (RANSAC) su pi`u corrispondenze. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 19. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Stima della trasformazione proiettiva (omogra鍖a) Lobiettivo `e determinare la relazione tra immagini degli stessi punti di un piano quando il punto di vista dellosservatore cambia. x H 揃 x con H R33 La matrice omogra鍖a H presenta 8 gradi di libert`a e per calcolarla sono necessarie 4 corrispondenze di punti o linee. Tipicamente `e utilizzato un metodo di stima robusta (RANSAC) su pi`u corrispondenze. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 20. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Stima della trasformazione proiettiva (omogra鍖a) Lobiettivo `e determinare la relazione tra immagini degli stessi punti di un piano quando il punto di vista dellosservatore cambia. x H 揃 x con H R33 La matrice omogra鍖a H presenta 8 gradi di libert`a e per calcolarla sono necessarie 4 corrispondenze di punti o linee. Tipicamente `e utilizzato un metodo di stima robusta (RANSAC) su pi`u corrispondenze. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 21. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Pattern di calibrazione Tramite la composizione (moltiplicazione) delle omogra鍖e `e possibile ottenere lo spostamento in pixel rispetto al sistema di riferimento dellimmagine iniziale. . . . e per la rispettiva distanza in metri Si utilizza un pattern di calibrazione di dimensioni metriche note e si calcola lomogra鍖a di calibrazione. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 22. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Pattern di calibrazione Tramite la composizione (moltiplicazione) delle omogra鍖e `e possibile ottenere lo spostamento in pixel rispetto al sistema di riferimento dellimmagine iniziale. . . . e per la rispettiva distanza in metri Si utilizza un pattern di calibrazione di dimensioni metriche note e si calcola lomogra鍖a di calibrazione. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 23. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Pattern di calibrazione Tramite la composizione (moltiplicazione) delle omogra鍖e `e possibile ottenere lo spostamento in pixel rispetto al sistema di riferimento dellimmagine iniziale. . . . e per la rispettiva distanza in metri Si utilizza un pattern di calibrazione di dimensioni metriche note e si calcola lomogra鍖a di calibrazione. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 24. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android e OpenCV Il processo di keypoint detection, tracking e calcolo dellomogra鍖a `e stato implementato in unapplicazione per la piattaforma Android. La libreria OpenCV ha fornito gli strumenti base di computer vision. Oltre allimplementazione standard C/C++ esiste un porting per Android in linguaggio Java. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 25. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android e OpenCV Il processo di keypoint detection, tracking e calcolo dellomogra鍖a `e stato implementato in unapplicazione per la piattaforma Android. La libreria OpenCV ha fornito gli strumenti base di computer vision. Oltre allimplementazione standard C/C++ esiste un porting per Android in linguaggio Java. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 26. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android NDK LAndroid NDK permette di integrare codice nativo C/C++ allinterno delle applicazioni Android. Sviluppo nativo Modulo di visual odometry nativo ed autocontenuto. Motivazioni: Ottimizzazione delle prestazioni; Riduzione tempi di overhead. Il porting di OpenCV `e un wrapper per chiamate alla libreria standard C/C++; Riutilizzo codice per test in locale. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 27. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android NDK LAndroid NDK permette di integrare codice nativo C/C++ allinterno delle applicazioni Android. Sviluppo nativo Modulo di visual odometry nativo ed autocontenuto. Motivazioni: Ottimizzazione delle prestazioni; Riduzione tempi di overhead. Il porting di OpenCV `e un wrapper per chiamate alla libreria standard C/C++; Riutilizzo codice per test in locale. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 28. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android NDK LAndroid NDK permette di integrare codice nativo C/C++ allinterno delle applicazioni Android. Sviluppo nativo Modulo di visual odometry nativo ed autocontenuto. Motivazioni: Ottimizzazione delle prestazioni; Riduzione tempi di overhead. Il porting di OpenCV `e un wrapper per chiamate alla libreria standard C/C++; Riutilizzo codice per test in locale. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 29. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android NDK LAndroid NDK permette di integrare codice nativo C/C++ allinterno delle applicazioni Android. Sviluppo nativo Modulo di visual odometry nativo ed autocontenuto. Motivazioni: Ottimizzazione delle prestazioni; Riduzione tempi di overhead. Il porting di OpenCV `e un wrapper per chiamate alla libreria standard C/C++; Riutilizzo codice per test in locale. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 30. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Android NDK LAndroid NDK permette di integrare codice nativo C/C++ allinterno delle applicazioni Android. Sviluppo nativo Modulo di visual odometry nativo ed autocontenuto. Motivazioni: Ottimizzazione delle prestazioni; Riduzione tempi di overhead. Il porting di OpenCV `e un wrapper per chiamate alla libreria standard C/C++; Riutilizzo codice per test in locale. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 31. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Architettura dellapplicazione Ottimizzazioni: Maschere di rilevamento keypoint. Ridurre punti estranei al piano-pavimento; Ripetizione omogra鍖a. Nel caso limite in cui non sia possibile calcolare lomogra鍖a, `e utilizzata lultima computata. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 32. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Architettura dellapplicazione Ottimizzazioni: Maschere di rilevamento keypoint. Ridurre punti estranei al piano-pavimento; Ripetizione omogra鍖a. Nel caso limite in cui non sia possibile calcolare lomogra鍖a, `e utilizzata lultima computata. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 33. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Architettura dellapplicazione Ottimizzazioni: Maschere di rilevamento keypoint. Ridurre punti estranei al piano-pavimento; Ripetizione omogra鍖a. Nel caso limite in cui non sia possibile calcolare lomogra鍖a, `e utilizzata lultima computata. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 34. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni User interface Linterfaccia utente `e composta da due activity: Calibration Activity Map Activity Marco Righini Modulo di visual odometry per dispositivi mobili
  • 35. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni User interface Linterfaccia utente `e composta da due activity: Calibration Activity Map Activity Marco Righini Modulo di visual odometry per dispositivi mobili
  • 36. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Test e risultati Accuratezza del modulo di navigazione Di鍖erenza tra la posizione reale e quella computata. Strettamente dipendente dalla scelta dei parametri liberi degli algoritmi. Ottimizzazione locale. Per ogni fase del processo di visual odometry `e stata scelta la con鍖gurazione ottimale tramite lanalisi di opportuni descrittori. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 37. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Test e risultati Accuratezza del modulo di navigazione Di鍖erenza tra la posizione reale e quella computata. Strettamente dipendente dalla scelta dei parametri liberi degli algoritmi. Ottimizzazione locale. Per ogni fase del processo di visual odometry `e stata scelta la con鍖gurazione ottimale tramite lanalisi di opportuni descrittori. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 38. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Test e risultati Accuratezza del modulo di navigazione Di鍖erenza tra la posizione reale e quella computata. Strettamente dipendente dalla scelta dei parametri liberi degli algoritmi. Ottimizzazione locale. Per ogni fase del processo di visual odometry `e stata scelta la con鍖gurazione ottimale tramite lanalisi di opportuni descrittori. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 39. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Confronto algoritmi di keypoint detection Ripetibilit`a. Stabilit`a geometrica dei keypoint estratti in due immagini della stessa scena, catturate da punti di vista di鍖erenti. 1 2 3 4 5 6 7 8 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Immagine Ripetibilit卒a ST3 ST4 ST5 ST6 ST7 ST8 ST9 ST10 FAST Tempo di esecuzione. Lalgoritmo FAST `e circa 9 volte pi`u veloce di Shi-Tomasi. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 40. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Confronto algoritmi di keypoint detection Ripetibilit`a. Stabilit`a geometrica dei keypoint estratti in due immagini della stessa scena, catturate da punti di vista di鍖erenti. 1 2 3 4 5 6 7 8 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Immagine Ripetibilit卒a ST3 ST4 ST5 ST6 ST7 ST8 ST9 ST10 FAST Tempo di esecuzione. Lalgoritmo FAST `e circa 9 volte pi`u veloce di Shi-Tomasi. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 41. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Prestazioni algoritmo di tracking LK Accuratezza. `E rappresentata dal numero di keypoint inseguiti e dallerrore sugli stessi. 92.5 93 93.5 94 94.5 95 95.5 16 16.5 17 17.5 18 9 11 13 15 17 19 21 23 25 27 29 media percentuale keypoint inseguiti erroremedio Marco Righini Modulo di visual odometry per dispositivi mobili
  • 42. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Accuratezza del modulo di navigazione Percorso (circa 10m) Lineare Andata e ritorno Deviazione vmin m s 0.04 0.09 0.086 vmax m s 0.38 0.2 0.19 Numero prove 15 10 10 Errore medio % 8.13 8.33 14.89 Marco Righini Modulo di visual odometry per dispositivi mobili
  • 43. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Conclusioni e sviluppi futuri Il lavoro di ricerca ha permesso: lo sviluppo di un modulo di visual odometry e del prototipo di applicazione di navigazione; la caratterizzazione degli algoritmi al variare dei parametri liberi; la determinazione delle performance necessarie allesecuzione del modulo. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 44. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Conclusioni e sviluppi futuri Il lavoro di ricerca ha permesso: lo sviluppo di un modulo di visual odometry e del prototipo di applicazione di navigazione; la caratterizzazione degli algoritmi al variare dei parametri liberi; la determinazione delle performance necessarie allesecuzione del modulo. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 45. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Conclusioni e sviluppi futuri Il lavoro di ricerca ha permesso: lo sviluppo di un modulo di visual odometry e del prototipo di applicazione di navigazione; la caratterizzazione degli algoritmi al variare dei parametri liberi; la determinazione delle performance necessarie allesecuzione del modulo. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 46. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Grazie per l'attenzione Marco Righini Modulo di visual odometry per dispositivi mobili
  • 47. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Shi-Tomasi Valuta il punto candidato p tramite lanalisi degli autovalori 了1 e 了2 della matrice di autocorrelazione Mac = uS wu I x 2 (u) uS wu I x (u) I y (u) uS wu I x (u) I y (u) uS wu I y 2 (u) Sia 了p = min(了1,了2) e 了 un valore soglia 鍖ssato: 了p 了 indica un edge o una regione uniforme; 了p > 了 rivela un keypoint. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 48. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Flusso ottico sparso Assunzioni fondamentali: Intensit`a costante; Persistenza temporale; Coerenza spaziale. Si ottiene lequazione fondamentale del 鍖usso ottico v: I 揃 vT = I t Una equazione in due incognite. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 49. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Maschere di rilevamento keypoint Nel compimento di rotazioni ravvicinate ad ostacoli sporgenti, `e risultato evidente che, nella maggior parte dei casi, i punti estranei si dispongono nella parte superiore dellinquadratura. In particolare sono state individuate tre diverse situazioni, corrispondenti a diverse distanze dagli ostacoli: Marco Righini Modulo di visual odometry per dispositivi mobili
  • 50. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Fasi dei test di ripetibilit`a Calibrazione dei valori di soglia. Per ogni pavimentazione sia estratto un numero su鍖ciente di keypoint; Warping delle immagini; Calcolo della ripetibilit`a. Al variare dei parametri liberi: 1 Keypoint detection. Rilevazione dei keypoint sullimmagine originale (P1) e sullimmagine trasformata (P2); 2 Punti ripetuti. R2 = {(p1, p2) P1 P2|d(H 揃 p1, p2) < 2}; 3 Ripetibilit`a. r2 = |R2| min (n1,n2) con n1 = |P1| e n2 = |P2|. Marco Righini Modulo di visual odometry per dispositivi mobili
  • 51. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Dataset dei test di ripetibilit`a Marco Righini Modulo di visual odometry per dispositivi mobili
  • 52. Introduzione Studi teorici Progettazione e implementazione Risultati sperimentali Conclusioni Performance dellalgoritmo LK 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 16 16.5 17 17.5 18 18.5 19 19.5 20 9 11 13 1517 19 21 23 25 27 29 31 4 fps 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 16 16.5 17 17.5 18 18.5 19 19.5 20 7 9 11 131517 19 21 23 25 27 29 31 8 fps erroremedio 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 16 16.5 17 17.5 18 18.5 19 19.5 20 7 9 11 13 1517 192123 25 27 29 31 media percentuale keypoint inseguiti 16 fps Marco Righini Modulo di visual odometry per dispositivi mobili