Monocular SLAM
Corso di Robotica
Prof. Davide Brugali
Università degli Studi di Bergamo
Structure from motion (SFM)
Unknown
camera
viewpoints
?
?
2
Robotica - UNIBG - Prof. Brugali
Calcolo delle corrispondenze
 Coppia coniugata: è costituita da due punti di due
immagini differenti che proiettano su un piano lo stesso
punto nello spazio.
 Si assume che sia possibile trovare nelle due
immagini almeno un particolare simile.
 Le immagini devono essere scattate da due punti non
troppo distanti.
3
Robotica - UNIBG - Prof. Brugali
Calcolo delle corrispondenze
 Disparità: è la differenza di posizione (vettore) tra i
due punti della coppia coniugata. Può essere
immaginato sovrapponendo le immagini.
 Basarsi solo sulle similarità non è sufficiente
(molteplicità).
 Problema delle false corrispondenze.
 Altri problemi:
 Occlusioni: alcuni particolari compaiono in una sola
immagine
 Distorsione radiometrica: l’intensità dei punti
corrispondenti nelle due immagini può essere differente.
 Distorsione prospettica: lo stesso oggetto assume forme
diverse nelle due immagini.
4
Robotica - UNIBG - Prof. Brugali
Accoppiamento feature-based
 Consiste nel ricercare nell’immagine delle
caratteristiche salienti (feature)
 Esempi di feature:
 Spigoli (edge),
 Angoli,
 Segmenti rettilinei o curvi.
 Basate su operatori.
 Pro: rapidi ed efficienti
 Contro: forniscono mappe di profondità sparse che
vanno interpolate. Dipendo criticamente dal
descrittore della feature.
 Una retta può essere descrita da: lunghezza,
orientamento, punto medio, contrasto medio lungo la
retta.
5
Robotica - UNIBG - Prof. Brugali
Algoritmo ICP
 L’algoritmo Iterative Closest Point opera su due point cloud M
(modello) e S (scene) ed esegue iterativamente tre operazioni:
1.
2.
3.
Cerca le coppie di punti corrispondenti tra M e S.
Stima la trasformazione tra ogni coppia di punti.
Applica la trasformazione a tutti i punti di S.
M
 Si ricerca la trasformazione
che minimizza la funzione di costo che
S
valuta l’errore complessivo di corrispondenza tra le coppie.
 L’algoritmo ha due svantaggi:
 La sua convergenza dipende dalla qualità della stima della
trasformazione.
 È assicurata la convergenza ad un minimo locale, ma non globale. Non
è quindi ottimo.
6
Robotica - UNIBG - Prof. Brugali
Optical Flow
Optical flow
 How to estimate pixel motion from image H to
image I?
• Solve pixel correspondence problem
– given a pixel in H, look for nearby pixels of the same color in I
Key assumptions
• color constancy: a point in H looks the same in I
– For grayscale images, this is brightness constancy
• small motion: points do not move very far (u and v are less
than 1 pixel)
8
Robotica - UNIBG - Prof. Brugali
Handling large motions
 If the motion is much more than a pixel, use discrete
search instead
 Given feature window W in H, find best matching
window in I
 Solve by doing a search over a specified range of (u,v)
values
 this (u,v) range defines the search window
9
Robotica - UNIBG - Prof. Brugali
Revisiting the small motion assumption
Solution: reduce the resolution !
10
Robotica - UNIBG - Prof. Brugali
Coarse-to-fine optical flow estimation
u=1.25 pixels
u=2.5 pixels
u=5 pixels
u=10 pixels
image
imageHH
Gaussian pyramid of image H
11
image II
image
Gaussian pyramid of image I
Robotica - UNIBG - Prof. Brugali
Coarse-to-fine optical flow estimation
run iterative L-K
warp & upsample
run iterative L-K
.
.
.
image
imageHJ
image II
image
Gaussian pyramid of image H
12
Gaussian pyramid of image I
Robotica - UNIBG - Prof. Brugali
Librerie per Monocular SLAM
Corso di Robotica
Prof. Davide Brugali
Università degli Studi di Bergamo
Robotica - UNIBG - Prof. Brugali
Visual SLAM – Approcci all’elaborazione delle immagini
METODI DIRETTI
METODI BASATI SU FEATURE
Acquisizione
immagini
Acquisizione
immagini
Estrazione & matching
delle feature
Tracciamento:
Tracciamento:
min. errore di riproiezione
min. errore fotometrico
Mappa:
Mappa:
Mappa sparsa punti 3D
14
Mappa di profondità semidensa
Robotica - UNIBG - Prof. Brugali
Librerie open source per Monocular SLAM
 PTAM - Parallel Tracking and Mapping
novembre 2007 - Università di Oxford
 ORB-SLAM
aprile 2015 - Università di Saragozza
 LSD-SLAM - Large Semi-Dense SLAM
settembre 2014 - Università Tecnica di Monaco
 SVO - Semi-Direct Visual Odometry
giugno 2014 - Università di Zurigo
15
Robotica - UNIBG - Prof. Brugali
Confronto
Metodi basati su feature
PTAM
LSD-SLAM
Funzionalità
1) Tracking
2) Mapping
1) Tracking
2) Mapping
3) Loop Closure
1) Tracking
2) Mapping
3) Loop closure
Mappa locale
• Posizione camera
• Frame associato
• Piramide di
immagini
• Posizione camera
• ORB-feature estratte dal
frame
• Frame associato
• Mappa profondità inversa
• Varianza profondità inversa
Mappa globale
• Insieme di punti 3D
• Insieme di mappe
locali
•
•
•
•
• Grafo delle posizioni
Inizializzazione
Scena planare
Caratteristiche
aggiuntive
16
ORB-SLAM
Insieme di punti 3D
Insieme di mappe locali
Grafo covisibilità
Grafo essenziale
SVO
1) Tracking
2) Mapping
• Frame associato
• Punti relativi al
frame
• Numero limitato di
mappe locali
Scena planare o non planare
Scena struttura
Scena planare
Modulo di place recognition
basato sul modello Bag of
Words
Tiene conto dell’incertezza sulla
profondità nel tracciamento
Camera rivolta verso il
basso
Robotica - UNIBG - Prof. Brugali
Test su dataset
Loop chiuso con successo
Loop non identificato
PTAM
ATE
Dimensione
Mappa
Globale
Freiburg1 - xyz
7,5 cm
Freiburg2 – desk
Freiburg3-Nostructure_
texture_near_with_loop
ORB-SLAM
ATE
Dimensione
Mappa
Globale
ATE
Dimensione
Mappa
Globale
73
4,0 cm
38
1,9 cm
40
/
/
11,3 cm
109
2,2 cm
187
17,3 cm
204
31,3 cm
75
3,6 cm
81
DATASET
17
LSD-SLAM
Robotica - UNIBG - Prof. Brugali
Freiburg2-1
ORB-SLAM
ATE
18
LSD-SLAM
MAPPA
Robotica - UNIBG - Prof. Brugali
ATE
MAPPA
Freiburg2-2
19
Robotica - UNIBG - Prof. Brugali
Freiburg2-3
20
Robotica - UNIBG - Prof. Brugali
Freiburg3-1
LSD-SLAM
ORB-SLAM
ATE
21
MAPPA
ATE
Robotica - UNIBG - Prof. Brugali
MAPPA
Freiburg3-2
22
Robotica - UNIBG - Prof. Brugali
Freiburg3-3
23
Robotica - UNIBG - Prof. Brugali
Freiburg3-4
24
Robotica - UNIBG - Prof. Brugali
Prove live
25
TIPOLOGIA
ANGOLO DI
VISIONE
OTTURATOR
E
RISOLUZIO
NE
FRAME
RATE
Webcam
stretto
Progressivo
640x480
30
Kinect
(camera RGB)
43° verticale
57° orizzontale
Progressivo
640x480
30
Firewire Basler
+ obiettivo Goyo
30° orizzontale
22° verticale
Globale
640x480
60
uEye Camera
+ obiettivo Lensagon
104° orizzontale
77° verticale
Globale
752x480
90
Robotica - UNIBG - Prof. Brugali
Conclusioni
I metodi basati su feature offrono maggiore precisione
I metodi diretti permettono di costruire una mappa semi-densa
Alcune caratteristiche della camera influenzano in maniera
considerevole i risultati raggiungibili
Problema del calcolo della scala
26
Robotica - UNIBG - Prof. Brugali