3D Photography: Bundle Adjustment and SLAM
31 March 2014
1
Bundle Adjustment and SLAM 31 March 2014 1 Structure-From-Motion - - PowerPoint PPT Presentation
3D Photography: Bundle Adjustment and SLAM 31 March 2014 1 Structure-From-Motion Two views initialization: 5-Point algorithm (Minimal Solver) 8-Point linear algorithm 7-Point algorithm E ( R,t) 2 Structure-From-Motion
1
E → (R,t)
2
E → (R,t)
3
(R,t) (R,t) (R,t)
4
ij
x
i j W i j ij X
ij
2
ij
j
P
j j C
X ,
i
C
ij
z
Measurement error covariance
1 ij
5
ij
x
j
P
j j C
X ,
i
C
ij
z
i j ij ij T ij X
Measurement error covariance
1 ij
6
X f
X
7
8
k k
WJ Z X X f g
T X X
k
Iterate until convergence : Step size
X J
: Jacobian
9
K K
X X T X X
2 1
K
X X
k
X X
X f H
2 2
:
10
k k
11
i j ij ij ij T
2 2
T
T T
k k
12
T T
LM
H
13
14
T LM
LM
3D Structures Camera Parameters
15
T LM
3D Structures Camera Parameters
s
LM
SC
H
T SC
H
C
16
T LM
C S C S C T SC SC S
3D Structures Camera Parameters
S T SC 1
1 1 S T SC S C S C S SC S T SC C SC S
17
1 1 S T SC S C S C S SC S T SC C SC S
1 1
S T SC S C C SC S T SC C
C
Schur Complement (Sparse and Symmetric Positive Definite Matrix) Easy to invert a block diagonal matrix
SC
18
1 1
S T SC S C C SC S T SC C
QR A
T
LL A
Solve for x by forward backward substitutions.
19
20
T T T
Permutation matrix to reorder A
21
22
ij ij ij T ij X
X
ij ij ij T ij ij X X
z W z c Z X p exp ln argmin
| ( ln argmin
ij ij ij T ij X
z W z argmin
23
24
ij ij ij T ij X ij ij ij X
Robust Cost Function scaled with
ij
W
ij
"
ij
25
Reduced influence from high errors Gaussian Distribution Cauchy Distribution Influence from high errors
26
Outliers are taken into account in Cauchy!
27
28
29
Robot Poses Observations Map landmarks
M i K k jk ik k i i i X,L X,L
l x z p u x x p X p U Z L X p
1 1 1
) , | ( ) , | ( ) ( argmax , | , argmax
u1 u2 u3 Control Actions
30
M i K k jk ik k i i i X,L X,L
l x z p u x x p X p U Z L X p
1 1 1
) , | ( ) , | ( ) ( argmax , | , argmax
K k jk ik k M i i i i X,L
l x z p u x x p
1 1 1
) , | ( ln ) , | ( ln argmin
likelihood
} ) , ( exp{ ) , | (
2 1 1
i
i i i i i
x u x f u x x p
Process model
} ) , ( exp{ ) , | (
2
k
k jk ik jk ik k
z l x h l x z p
Measurement model
31
K k jk ik k M i i i i X,L X,L
l x z p u x x p U Z L X p
1 1 1
) , | ( ln ) , | ( ln argmin
, | , ( argmax
K k k jk ik M i i i i X,L X,L
k i
z l x h x u x f U Z L X p
1 2 1 2 1
) , ( ) , ( argmin ) , | , ( argmax
32
T T
Jacobian made up of , , ,
x f u f x h l h
Weight made up of ,
i
k
33
1 2 1
t t
t
Previous poses are marginalized out
34
t
t
mean Error covariance
35
1
t t t
t T t t t t
1 1
t T t t t T t t t
t t t t
t t t t
1 1)
t t t t
t t t
Process model Error propagation with process noise Kalman gain Update mean
t t t
Measurement residual (innovation) Update covariance Measurement Jacobian Process Jacobian
36
2 2 2 2 2 2 2 1
2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1
,
N N N N N N N N N N N
l l l l l l yl xl l l l l l l yl xl l l l l l l yl xl l l l y x yl yl yl y y xy xl xl xl x xy x t N t
l l l y x
Covariance is a dense matrix that grows with increasing map features! True robot and map states might not follow unimodal Gaussian distribution!
37
t
t
38
, , , 2 , 2 , 1 , 1
m t N m t N m t m t m t m t m t m t
Robot state Landmark state (mean and covariance)
1 t t t m t
Sample the robot state from the process model
, t m t m t n
N Kalman filter measurement updates
m t m t t m t
Weight update
39
40
ij j i ij X
ij
2
41