SlideShare ist ein Scribd-Unternehmen logo
1 von 216
Downloaden Sie, um offline zu lesen
Visual SLAM, Bundle Adjustment, Factor Graphs
Frank Dellaert, Robotics & Intelligent Machines @ Georgia Tech
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
2
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 3
2014
Frank Dellaert
Monte Carlo Localization
Dellaert, Fox, Burgard & Thrun, ICRA 1999
Frank Dellaert
Monte Carlo Localization
Dellaert, Fox, Burgard & Thrun, ICRA 1999
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
Biotracking
• Multi-Target Tracking with MCMC
5
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
Biotracking
• Multi-Target Tracking with MCMC
5
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 6
SFM without Correspondence
Frank Dellaert
4D Reconstruction
7
Historical Image Collection
4D City Model
4D Cities: 3D + Time
Grant Schindler
Frank Dellaert
4D Reconstruction
7
Historical Image Collection
4D City Model
4D Cities: 3D + Time
Grant Schindler
Frank Dellaert
4D Reconstruction
7
Historical Image Collection
4D City Model
4D Cities: 3D + Time
Grant Schindler
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
4D Structure over Time
8
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
4D Structure over Time
8
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Large-Scale Structure from Motion
Photo Tourism
[Snavely et al. SIGGRAPH’06]
Build Rome in a Day
[Agarwal et al. ICCV’09]
Photosynth
[Microsoft]
Build Rome on a Cloudless Day
[Frahm et al. ECCV’10]
Iconic Scene Graphs
[Li et al. ECCV’08]
Discrete-Continuous Optim.
[Crandall et al. CVPR’11]
2 / 40
9Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
3D Models from Community Databases
• E.g., Google image search on “Dubrovnik”
10
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
3D Models from Community Databases
Agarwal, Snavely et al., University of Washington
http://grail.cs.washington.edu/rome/
11
5K images, 3.5M points, 10M factors
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
3D Models from Community Databases
Agarwal, Snavely et al., University of Washington
http://grail.cs.washington.edu/rome/
11
5K images, 3.5M points, 10M factors
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
12
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Bibliography
• Murray,	
  Li	
  	
  Sastry,	
  1994	
  
• Hartley	
  and	
  Zisserman,	
  2004	
  
• Visual	
  Odometry,	
  Nister	
  et	
  al,	
  CVPR	
  2004	
  
• An	
  Invitation	
  to	
  3-­‐D	
  Vision,	
  Ma,	
  Soatto,	
  Kosecka,	
  Sastry,	
  2005	
  
• Square	
  Root	
  SAM,	
  Dellaert	
  	
  Kaess,	
  IJRR	
  2006	
  
• Absil,	
  Mahony	
  	
  Sepulchre,	
  2007	
  
• iSAM,	
  Kaess	
  	
  Dellaert,	
  TRO	
  2008	
  
• iSAM	
  2,	
  Kaess	
  et	
  al,	
  IJRR	
  2011	
  
• Generalized	
  Subgraph	
  Preconditioners,	
  Jian	
  et	
  al,	
  ICCV	
  2011	
  
• Visibility	
  Based	
  Preconditioning,	
  Kushal	
  	
  Agarwal,	
  CVPR	
  2012	
  
• CVPR	
  2014	
  Tutorial	
  on	
  Visual	
  SLAM,

http://frc.ri.cmu.edu/~kaess/vslam_cvpr14/
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
14
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
What is Visual Odometry?
What is Visual Odometry?
What is Visual Odometry?
Monocular Visual Odometry
16
• VO:	
  two	
  frames	
  -­‐	
  R,t	
  
• Essential	
  Matrix	
  
• 5-­‐point	
  RANSAC	
  algorithm	
  
• Refinement
• Why Stereo?
• Avoids scale ambiguity inherent in monocular VO
• No special initialization procedure of landmark depth
Stereo Visual Odometry
Stereo VO Overview
1. Rectification
2. Feature Extraction
4. Temporal Feature Matching
3. Stereo Feature Matching
5. Incremental Pose Recovery/RANSAC
Undistortion and Rectification
• Detect local features in each image
• SIFT gives good results (can also use SURF, Harris, etc.)
Feature Extraction
Lowe ICCV 1999
• Match features between left/right images
• Since the images are rectified, we can restrict the search to a
bounding box on the same scan-line
Stereo Matching
Left image Right image
• Temporally match features between frame t and t-1
Temporal Matching
• There will be some erroneous stereo and temporal feature
associations à Use 3-point RANSAC
• Select 3 correspondences at random
• Estimate relative transform R,t
• Find the fraction of inliers that agree with this transform
• Repeat for fixed nr. of tries or until fraction80%
• Compute refined model using full inlier set
Relative Pose Estimation/RANSAC
• There will be some erroneous stereo and temporal feature
associations à Use 3-point RANSAC
• Select 3 correspondences at random
• Estimate relative transform R,t
• Find the fraction of inliers that agree with this transform
• Repeat for fixed nr. of tries or until fraction80%
• Compute refined model using full inlier set
Relative Pose Estimation/RANSAC
• Camera pose can be recovered
given at least three known
landmarks in a non-degenerate
configuration
• In the case of stereo VO,
landmarks can simply be
triangulated
• Two ways to recover pose:
• Absolute orientation
• Reprojection error minimization
Relative Pose Estimation
6 DOF
camera
pose
Known 3D
landmarks
• Estimate relative relative transformation between 3D landmarks
which were triangulated from stereo-matched features
• 3-Point algorithm: polynomial equations
Absolute Orientation
Pose r0
Pose r1
Tt
Pose r0
(R,t) ? Tt-1
Tt-1
Tt
• Another approach is to estimate relative pose by minimizing
reprojection error of 3D landmarks into images at time t and t-1
• Even better: jointly optimize the landmark positions and the
relative camera pose:


• the measurement function h(.) transforms 3D points into the camera
frame at time t, and then projects into the stereo images
Relative Pose Estimation
Camera poses

Landmarks

Measurements
between
was done
h express
previous
lgorithm
escriptor
ANSAC
ereo and
roducing
remental
ose with
ry in the
be used
stage.
ORY
(instead
think of the SAM problem. Fig. 1 shows an illustration of
a factor graph which is representative of the optimization
problem. The factor graph fully represents the problem to be
solved in a graphical way, where the 6 DOF poses of the left
stereo rig camera are indicated by r, and the tracked SURF
landmarks are denoted as l, where landmarks are represented
as 3D points. The nodes on the vertices connecting the
variables r and l represent the visual image measurements
that were made for each tracked feature point.
We optimize over the entire set of camera poses and
landmarks, R and L respectively, and collect all unknowns
in the vector ⇥ = (R, L). The factor graph then captures a
non-linear least-squares problem
⇥⇤
= argmin
⇥
MX
m=1
khm(rim , ljm ) zmk2
⌃m
(4)
where hm(·) is the measurement function of landmark ljm
from pose rim
, and M is the total number of measurements,
and r 2 R and l 2 L .The measurements are denoted by
zm = (uL, uR, v), where uL and uR are the horizontal
Triangulate
Tt
Tt-1
Reproject
Tt
Tt-1
• The presented algorithm works very well in feature-rich, static
environments, but…
• A few tricks for better results in challenging conditions:
• Feature binning to cope with bias due to uneven feature
distributions
• Keyframing to cope with dynamic scenes, as well as reducing
drift of a stationary camera
• Real-time performance
Practical/Robustness Considerations
• Incremental pose estimation yields poor results when features
are concentrated in one area of the image
• Solution: Draw a grid and keep k strongest features in each cell
Feature Binning
• Dynamic, crowded scenes present a real challenge
• Can’t depend on RANSAC to always recover the correct inliers
• Example 1: Large van “steals” inlier set in passing
Challenges: Dynamic Scenes
Inliers Outliers
• Example 2: Cross-traffic while waiting to turn left at light
Only accept incremental
pose if:
• Translation  0.5m
• Dominant direction is
forward
Without keyframing With keyframing
Incorrect
sideways
motion
Challenges: Dynamic Scenes
• Parallelization of feature extraction and stereo matching steps
allows real-time performance even in CPU-only
implementation
Real-time performance
Mono
Frame
Queue
Stereo
Frame
Queue
Pose
Recovery/
RANSAC
…
Feature
Extractor
Feature
Extractor
Feature
Extractor
Stereo
Frame
Queue
Stereo
Matching
Stereo
Matching
• Representative results on KITTI VO Benchmark
• Average translational/rotational errors are very small
• Accumulate over time, resulting in drift
Results on KITTI Benchmark
• Stereo Visual Odometry yields more than just a camera
trajectory!
• Tracked landmarks form a sparse 3D point cloud of the
environment
• Can be used as the basis for localization
What else do you get?
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
34
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Motivation
• VO:	
  just	
  two	
  frames	
  -­‐	
  R,t	
  using	
  5-­‐pt	
  or	
  3-­‐pt	
  
• Can	
  we	
  do	
  better?	
  Bundle	
  Adjustment	
  -­‐	
  VSLAM	
  
• Later:	
  integrate	
  IMU,	
  other	
  sensors
Objective	
  Function
• refine	
  VO	
  by	
  non-­‐linear	
  optimization
pij
T1
w T2
w
Pj
w
Two	
  Views
• Unknowns:	
  poses	
  and	
  points	
  
• Measurements	
  pij:	
  normalized	
  (x,y),	
  known	
  K!
pij
T1
w T2
w
Pj
w
If	
  we	
  lived	
  in	
  a	
  Linear	
  World:
In	
  a	
  Linear	
  World…
• Linear	
  measurement	
  	
  function:	
  
• …and	
  objective	
  function:	
  
• Linear	
  least-­‐squares	
  !	
  
• Note:	
  	
  	
  	
  	
  	
  =	
  6D,	
  =	
  	
  =	
  3D
Sparse	
  Matters
• Rewrite	
  as

where
Normal	
  Equations
• Least-­‐squares	
  criterion	
  	
  
• Take	
  derivative,	
  set	
  to	
  zero:	
  
• Solve	
  using	
  cholmod,	
  GTSAM…	
  
• In	
  MATLAB:	
  x=Ab
Generative	
  Model
• Measurement	
  Function,	
  calibrated	
  setting!
Rigid	
  3D	
  transform	
  to	
  camera	
  frame
Projection	
  to	
  intrinsic	
  image	
  coordinates
Taylor	
  Expansion	
  Epic	
  Fail
• Taylor	
  expansion?
Taylor	
  Expansion	
  Epic	
  Fail
• Taylor	
  expansion?	
  
• Oops:	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ?	
  
• T	
  is	
  a	
  4x4	
  matrix,	
  but	
  is	
  over-­‐parameterized!	
  
• T	
  in	
  SE(3):	
  only	
  6DOF	
  (3	
  rotation,	
  3	
  translation)
Tangent	
  Spaces
• An	
  incremental	
  change	
  on	
  a	
  manifold	
  	
  	
  	
  	
  	
  	
  can	
  be	
  introduced	
  via	
  
the	
  notion	
  of	
  an	
  n-­‐dimensional	
  tangent	
  space	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  at	
  a	
  
• 	
  	
  	
  	
  	
  Sphere	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  SO(2)
a
a==0
Tangent	
  Spaces
• Provides	
  local	
  coordinate	
  frame	
  for	
  manifold
a
0
SE(3):	
  A	
  Twist	
  of	
  Li(m)e
• Lie	
  group	
  =	
  group	
  +	
  manifold	
  
– SE(3)	
  is	
  group!	
  
– SE(3)	
  is	
  6DOF	
  manifold	
  embedded	
  in	
  R4*4	
  
• For	
  Lie	
  groups,	
  we	
  have	
  exponential	
  maps:	
  
• se2	
  twist:
Exponential	
  Map	
  for	
  SE(3)
Generators	
  for	
  SE(3)
Exponential	
  map	
  closed	
  form:
Generalized	
  Taylor	
  Expansion
• Define	
  f’(a)	
  to	
  satisfy:
=[0.2	
  0.3]
Taylor	
  Expansion	
  for	
  Projection
• Projection:	
  function	
  of	
  two	
  variables,
2x6 2x3
)
Taylor	
  Expansion	
  for	
  Projection
• Projection:	
  function	
  of	
  two	
  variables,
2x6 2x3
Gauss-­‐Newton
• Iteratively	
  Linearize,	
  solve	
  normal	
  equations	
  on	
  
tangent	
  space,	
  update	
  Lie	
  group	
  elements
Too	
  much	
  Freedom!
• A’A	
  will	
  be	
  singular!	
  7DOF	
  gauge	
  freedom	
  
– Switch	
  to	
  5DOF	
  Essential	
  Manifold	
  
– Use	
  photogrammetry	
  “inner	
  constraints”	
  
– Add	
  prior	
  terms	
  
– Fuse	
  in	
  other	
  sensors,	
  e.g.,	
  IMU/GPS
SE(3)	
  x	
  SE(3) E
• Idea:	
  Add	
  a	
  damping	
  factor	
  
• What	
  is	
  the	
  effect	
  of	
  this	
  damping	
  factor?	
  
– Small	
  	
  	
  	
  ?	
  
– Large	
  	
  	
  	
  ?
Levenberg-­‐Marquardt	
  Algorithm
Slide	
  by	
  Dr.	
  Jürgen	
  Sturm,	
  Computer	
  
Vision	
  Group,	
  TUM
Levenberg-­‐Marquardt	
  Algorithm
• Idea:	
  Add	
  a	
  damping	
  factor	
  
• What	
  is	
  the	
  effect	
  of	
  this	
  damping	
  factor?	
  
– Small	
  	
  	
  	
  à same	
  as	
  least	
  squares	
  
– Large	
  	
  	
  	
  à steepest	
  descent	
  (with	
  small	
  step	
  size)	
  
• Algorithm	
  
– If	
  error	
  decreases,	
  accept	
  	
  	
  	
  	
  	
  	
  	
  and	
  reduce	
  
– If	
  error	
  increases,	
  reject	
  	
  	
  	
  	
  	
  	
  	
  and	
  increase	
  
Slide	
  by	
  Dr.	
  Jürgen	
  Sturm,	
  Computer	
  
Vision	
  Group,	
  TUM
Linearizing	
  Re-­‐projection	
  Error
• Chain	
  rule:
Linearizing	
  Re-­‐projection	
  Error
• Chain	
  rule:
Linearizing	
  Re-­‐projection	
  Error
• Chain	
  rule:
Linearizing	
  Re-­‐projection	
  Error
• Chain	
  rule:
Linearizing	
  Re-­‐projection	
  Error
• Chain	
  rule:
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
59
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Structure from Motion (Chicago, movie by Yong Dian Jian)
60
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Structure from Motion (Chicago, movie by Yong Dian Jian)
60
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Boolean Satisfiability
61
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Boolean Satisfiability
M I
A H G
¬M ∨ I
M ∨ ¬I
M ∨ A
¬I ∨ H
¬A ∨ H ¬H ∨ G
61
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Boolean Satisfiability
M I
A H G
¬M ∨ I
M ∨ ¬I
M ∨ A
¬I ∨ H
¬A ∨ H ¬H ∨ G
Variables
61
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Boolean Satisfiability
M I
A H G
¬M ∨ I
M ∨ ¬I
M ∨ A
¬I ∨ H
¬A ∨ H ¬H ∨ G
Variables
Factors
61
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Boolean Satisfiability
M I
A H G
¬M ∨ I
M ∨ ¬I
M ∨ A
¬I ∨ H
¬A ∨ H ¬H ∨ G
Variables
Factors
Factor Graph
61
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Constraint Satisfaction
62
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Constraint Satisfaction
63
S
V
Y
NL
BC
N
NB
O
NT
M
Q
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Constraint Satisfaction
63
S
V
Y
NL
BC
N
NB
O
NT
M
Q
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Graphical Models
64
P( |Z) as the product of the prior P( ) and the likelihood factors L( k;zk),
P( |Z) P( )
k
L( k;zk) = f0( 0)
k
fk( k)
where the factor f0 corresponding to the prior P( ) typically factors as well, depe
T
S
L
BE
X
Figure 4.3: Factor graph for examples in Figure 4.2.
g about how a given measurement z depends on the parameters . Importantly,
joint density P( ,Z) into a product of simple factors. This is typically done by
sities of the form P(z| ), indicating that given the values for a subset ⊂ of
ement z is conditionally independent of all other parameters.
A
D
T
S
L
BE
X
or example in Figure 4.1. The observed variables are shown as square nodes.
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Polynomial Equations
65
Multi-camera pose estimation (Gim Hee Lee, ETH)
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Polynomial Equations
66
𝛾2
𝛾3
𝛾1
Multi-camera pose estimation (Gim Hee Lee, ETH)
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 67
Continuous Probability Densities
x0 x1 x2 xM...
lNl1 l2
...
...
P(X,M) = k*
- E.g., Robot Trajectory
- Landmarks
- Measurements
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 68
Simultaneous Localization and Mapping (SLAM)
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 68
Simultaneous Localization and Mapping (SLAM)
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 69
Factor Graph - Smoothing and Mapping (SAM) !
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 69
Factor Graph - Smoothing and Mapping (SAM) !
Variables are multivariate! Factors are non-linear!
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 69
Factor Graph - Smoothing and Mapping (SAM) !
Variables are multivariate! Factors are non-linear!
Factors induce
probability densities.
-log P(x) = |E(x)|2
Full	
  Bundle	
  Adjustment
• Extend	
  2-­‐frame	
  case	
  to	
  multiple	
  cameras:	
  
• Factor	
  graph	
  representation:
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Structure from Motion (Chicago, movie by Yong Dian Jian)
71
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Structure from Motion (Chicago, movie by Yong Dian Jian)
71
Frank Dellaert
Nonlinear Least-Squares
72
 
Gaussian	
  noise
Frank Dellaert
Nonlinear Least-Squares
Repeatedly	
  solve	
  linearized	
  system	
  (GN)
72
 
Gaussian	
  noise
 
Frank Dellaert
Nonlinear Least-Squares
Repeatedly	
  solve	
  linearized	
  system	
  (GN)
72
A
 
b
  
Gaussian	
  noise
 
poses	
  	
  	
  points
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 73
Gaussian Factor Graph == mxn Matrix
A
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Frank Dellaert
Solving the Linear Least-Squares System
74
A
Measurement	
  Jacobian
Solve:  
Frank Dellaert
Solving the Linear Least-Squares System
74
ATA
A
Measurement	
  Jacobian
Information	
  matrix
Normal	
  equations
Solve:  
 
Frank Dellaert
Solving the Linear Least-Squares System
•Can	
  we	
  simply	
  invert	
  ATA	
  to	
  solve	
  for	
  x?	
  
75
ATA
Information	
  matrix
Normal	
  equations
 
Frank Dellaert
Solving the Linear Least-Squares System
•Can	
  we	
  simply	
  invert	
  ATA	
  to	
  solve	
  for	
  x?	
  
•Yes,	
  but	
  we	
  shouldn’t…

The	
  inverse	
  of	
  ATA	
  is	
  dense	
  -­‐	
  O(n^3)
•Can	
  do	
  much	
  better	
  by	
  taking

advantage	
  of	
  sparsity!
75
ATA
Information	
  matrix
Normal	
  equations
 
Frank Dellaert
Solving the Linear Least-Squares System
76
ATA
Information	
  matrix
Normal	
  equations
Solve:  
 A
Measurement	
  Jacobian
Frank Dellaert
Solving the Linear Least-Squares System
76
R
ATA
Information	
  matrix
Square	
  root	
  information	
  matrix
Normal	
  equations
Matrix	
  factorization
Solve:  
 
 
A
Measurement	
  Jacobian
Frank Dellaert
Matrix – Square Root Factorization
77
• QR	
  on	
  A:	
  Numerically	
  More	
  Stable	
  
• Cholesky	
  on	
  ATA:	
  Faster
A QR R
Cholesky RATA
Frank Dellaert
Solving by Backsubstitution
After	
  factorization	
  (via	
  Cholesky):	
  RTR	
  x	
  =	
  ATb
78
Frank Dellaert
Solving by Backsubstitution
After	
  factorization	
  (via	
  Cholesky):	
  RTR	
  x	
  =	
  ATb
•Forward	
  substitution
RTy	
  =	
  ATb,	
  solve	
  for	
  y
78
RT
Frank Dellaert
Solving by Backsubstitution
After	
  factorization	
  (via	
  Cholesky):	
  RTR	
  x	
  =	
  ATb
•Forward	
  substitution
RTy	
  =	
  ATb,	
  solve	
  for	
  y
•Backsubstition
R	
  x	
  =	
  y,	
  solve	
  for	
  x
78
RT
R
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Intel Dataset
79
910 poses, 4453 constraints, 45s or 49ms/step
(Olson, RSS 07: iterative equation solver, same ballpark)
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
MIT Killian Court Dataset
80
1941 poses, 2190 constraints, 14.2s or 7.3ms/step
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• OnVesta and Ceres
81
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• OnVesta and Ceres
81
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
“Gaussian” Elimination?
82
The Nine Chapters on the
Mathematical Art, 200 B.C.
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
“Gaussian” Elimination?
82
The Nine Chapters on the
Mathematical Art, 200 B.C.
Gauss re-invented elimination for
determining the orbit of Ceres
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013
“Gaussian” Elimination?
82
The Nine Chapters on the
Mathematical Art, 200 B.C.
Gauss re-invented elimination for
determining the orbit of Ceres
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 83
Variable Elimination
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3
l1 l2
l1 l2 x1 x2 x3
x
x x
x x
x
x x
x
x
x x
x x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 83
Variable Elimination
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3
l1 l2
Basis = Chain Rule ! e.g. P(l1,x1,x2)=P(l1|x1,x2)P(x1,x2)
P(l1,x1,x2)
l1 l2 x1 x2 x3
x
x x
x x
x
x x
x
x
x x
x x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3
l1 l2l1
Small Example
84
P(l1|x1,x2)
P(x1,x2)
Basis = Chain Rule ! e.g. P(l1,x1,x2)=P(l1|x1,x2)P(x1,x2)
l1 l2 x1 x2 x3
x x x
x
x x
x x
x
x
x x
x x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3
l1 l2l2
Small Example
85
l1 l2 x1 x2 x3
x x x
x x
x x
x
x
x x
x x
x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3x1
l1 l2
Small Example
86
l1 l2 x1 x2 x3
x x x
x x
x x
x
x x
x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3x2
l1 l2
Small Example
87
l1 l2 x1 x2 x3
x x x
x x
x x
x x
x
x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
• Choose Ordering
• Eliminate one node at a time
• Express node as function of adjacent nodes
x1 x2 x3x3
l1 l2
Small Example
88
l1 l2 x1 x2 x3
x x x
x x
x x
x x
x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
x1 x2 x3x3
l1 l2
Small Example
89
• End-Result = Bayes Net ! l1 l2 x1 x2 x3
x x x
x x
x x
x x
x
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Polynomial Equations
90
Gim Hee Lee’s thesis: multi-camera pose estimation
𝛾2
𝛾3
𝛾1
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Polynomial Equations
91
𝛾2
𝛾3
𝛾1 𝛾1
𝛾2
𝛾3
𝛾1
𝛾2
𝛾3
Three degree 2 polynomials, each in only 2 variables
Degree 8 polynomial
Degree 4 polynomial
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Elimination at work
92
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Elimination at work
92
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Elimination at work
93
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Elimination at work
93
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 94
Elimination order is again CRUCIAL
• Order with least fill-in 

NP-complete to find
Square Root SAM: Simultaneous Location and Mapping via Square Root Information Smoothing, Frank Dellaert,
Robotics: Science and Systems, 2005
Exploiting Locality by Nested Dissection For Square Root Smoothing and Mapping, Peter Krauthausen, Frank
Dellaert, and Alexander Kipp, Robotics: Science and Systems, 2006
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 95
Remember: Larger Example Factor Graph
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 96
Eliminate Poses then Landmarks
R
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 97
Eliminate Landmarks then Poses
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 98
Minimum Degree Fill

Yields Chordal Graph. Chordal graph + order = directed
R
Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 98
Minimum Degree Fill

Yields Chordal Graph. Chordal graph + order = directed
R
The importance of
being Ordered
500 Landmarks, 1000 steps, many loops
The importance of
being Ordered
500 Landmarks, 1000 steps, many loops
The importance of
being Ordered
500 Landmarks, 1000 steps, many loops
The importance of
being Ordered
500 Landmarks, 1000 steps, many loops
Bottom line: even a tiny amount of domain knowledge helps.
The importance of
being Ordered
500 Landmarks, 1000 steps, many loops
Bottom line: even a tiny amount of domain knowledge helps.
Bottom line 2: this is EXACT !!!
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Approximate Minimum Degree
100
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Approximate Minimum Degree
100
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Divide and Conquer
101
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Divide and Conquer
101
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 102
St. Peter’s Basilica, Rome
Data Courtesy Microsoft Research
Kai Ni, Drew Steedly, and Frank Dellaert, Out-of-Core Bundle Adjustment for Large-Scale
3D Reconstruction, IEEE International Conference on Computer Vision (ICCV), 2007.
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 102
St. Peter’s Basilica, Rome
Data Courtesy Microsoft Research
Kai Ni, Drew Steedly, and Frank Dellaert, Out-of-Core Bundle Adjustment for Large-Scale
3D Reconstruction, IEEE International Conference on Computer Vision (ICCV), 2007.
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Nested Dissection (but good separators are hard)
103
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Nested Dissection (but good separators are hard)
103
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Nested-Dissection for SFM: Hyper-SFM
104
Kai Ni, and Frank Dellaert, HyperSfM, IEEE International Conference on 3D Imaging,
Modeling, Processing, Visualization and Transmission (3DIMPVT), 2012.
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
105
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=0)
Robot Onboard	
  sensors:	
  
– Wheel	
  odometry	
  
– Inertial	
  measurement	
  unit	
  
(gyro,	
  accelerometer)	
  
– Sonar	
  
– Laser	
  range	
  finder	
  
– Camera	
  
– RGB-­‐D	
  sensors	
  
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=0)
Robot
Landmark
Landmark

Measurement
Onboard	
  sensors:	
  
– Wheel	
  odometry	
  
– Inertial	
  measurement	
  unit	
  
(gyro,	
  accelerometer)	
  
– Sonar	
  
– Laser	
  range	
  finder	
  
– Camera	
  
– RGB-­‐D	
  sensors	
  
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=1)
Robot
Landmark	
  1
Odometry	
  measurement
Landmark

measurement
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=1)
Robot
Landmark	
  1 Landmark	
  2
Odometry	
  measurement
Landmark

measurement
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=n-­‐1)
Robot
Landmark	
  1 Landmark	
  2
Odometry	
  measurement
Landmark

measurement
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=n)
Odometry	
  measurement
Landmark

measurement
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
The	
  Mapping	
  Problem	
  (t=n)
Odometry	
  measurement
Landmark

measurement
Mapping	
  problem	
  is	
  incremental	
  !
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Factor	
  Graph	
  Representation
Robot	
  pose
Landmark	
  position
Landmark

measurement
Odometry	
  measurement
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Factor	
  Graph	
  Representation
Pose
Point
Point

measurement
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Full	
  Bundle	
  Adjustment
•Graph	
  grows	
  with	
  time:	
  
– Have	
  to	
  solve	
  a	
  sequence	
  of	
  increasingly	
  larger	
  BA	
  problems	
  
– Will	
  become	
  too	
  expensive	
  even	
  for	
  sparse	
  Cholesky	
  
F.	
  Dellaert	
  and	
  M.	
  Kaess,	
  “Square	
  Root	
  SAM:	
  Simultaneous	
  localization	
  and	
  
mapping	
  via	
  square	
  root	
  information	
  smoothing,”	
  IJRR	
  2006
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Full	
  Bundle	
  Adjustment
•Graph	
  grows	
  with	
  time:	
  
– Have	
  to	
  solve	
  a	
  sequence	
  of	
  increasingly	
  larger	
  BA	
  problems	
  
– Will	
  become	
  too	
  expensive	
  even	
  for	
  sparse	
  Cholesky	
  
F.	
  Dellaert	
  and	
  M.	
  Kaess,	
  “Square	
  Root	
  SAM:	
  Simultaneous	
  localization	
  and	
  
mapping	
  via	
  square	
  root	
  information	
  smoothing,”	
  IJRR	
  2006


From	
  Strasdat	
  et	
  al,	
  2011	
  IVC	
  
“Visual	
  SLAM:	
  Why	
  filter?”
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Keyframe	
  Bundle	
  Adjustment
•Drop	
  subset	
  of	
  poses	
  to	
  reduce	
  density/complexity	
  
•Only	
  retain	
  “keyframes”	
  necessary	
  for	
  good	
  map	
  
•Complexity	
  still	
  grows	
  with	
  time,	
  just	
  slower
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Filter
•Marginalize	
  out	
  previous	
  poses
– Extended	
  Kalman	
  Filter	
  (EKF)
•Problems	
  when	
  used	
  for	
  Visual	
  SLAM:
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Filter
•Marginalize	
  out	
  previous	
  poses
– Extended	
  Kalman	
  Filter	
  (EKF)
•Problems	
  when	
  used	
  for	
  Visual	
  SLAM:
– All	
  points	
  become	
  fully	
  connected	
  -­‐	
  expensive
– Relinearization	
  not	
  possible	
  -­‐	
  inconsistent
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Incremental	
  Solver
•Back	
  to	
  full	
  BA	
  and	
  keyframes:	
  
•New	
  information	
  is	
  added	
  to	
  the	
  graph	
  
•Older	
  information	
  does	
  not	
  change	
  
•Can	
  be	
  exploited	
  to	
  obtain	
  an	
  efficient	
  solution!
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Solving	
  a	
  growing	
  system:
– R	
  factor	
  from	
  previous	
  step
– How	
  do	
  we	
  add	
  new	
  measurements?
R
[Kaess	
  et	
  al.,	
  TRO	
  08]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Solving	
  a	
  growing	
  system:
– R	
  factor	
  from	
  previous	
  step
– How	
  do	
  we	
  add	
  new	
  measurements?
Key	
  idea:
– Append	
  to	
  existing	
  matrix	
  factorization
R
New	
  measurements	
  -­‐
[Kaess	
  et	
  al.,	
  TRO	
  08]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Solving	
  a	
  growing	
  system:
– R	
  factor	
  from	
  previous	
  step
– How	
  do	
  we	
  add	
  new	
  measurements?
Key	
  idea:
– Append	
  to	
  existing	
  matrix	
  factorization
– “Repair”	
  using	
  Givens	
  rotations
R
New	
  measurements	
  -­‐
[Kaess	
  et	
  al.,	
  TRO	
  08]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Solving	
  a	
  growing	
  system:
– R	
  factor	
  from	
  previous	
  step
– How	
  do	
  we	
  add	
  new	
  measurements?
Key	
  idea:
– Append	
  to	
  existing	
  matrix	
  factorization
– “Repair”	
  using	
  Givens	
  rotations
R
R’
New	
  measurements	
  -­‐
[Kaess	
  et	
  al.,	
  TRO	
  08]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Update	
  and	
  solution	
  are	
  O(1)
[Kaess	
  et	
  al.,	
  TRO	
  08]
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Update	
  and	
  solution	
  are	
  O(1)
[Kaess	
  et	
  al.,	
  TRO	
  08]
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Update	
  and	
  solution	
  are	
  O(1)
Are	
  we	
  done?
BA	
  is	
  nonlinear…
iSAM	
  requires	
  periodic	
  batch	
  factorization	
  to	
  relinearize
Not	
  O(1),	
  we	
  need	
  iSAM2!
[Kaess	
  et	
  al.,	
  TRO	
  08]
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Update	
  and	
  solution	
  are	
  O(1)
Are	
  we	
  done?
BA	
  is	
  nonlinear…
iSAM	
  requires	
  periodic	
  batch	
  factorization	
  to	
  relinearize
Not	
  O(1),	
  we	
  need	
  iSAM2!
[Kaess	
  et	
  al.,	
  TRO	
  08]
Incremental	
  Smoothing	
  and	
  Mapping	
  (iSAM)
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Fixed-­‐lag	
  Smoothing
•Marginalize	
  out	
  all	
  but	
  last	
  n	
  poses	
  
and	
  connected	
  landmarks
– Relinearization	
  possible
plus	
  some	
  fill-­‐in
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Fixed-­‐lag	
  Smoothing
•Marginalize	
  out	
  all	
  but	
  last	
  n	
  poses	
  
and	
  connected	
  landmarks
– Relinearization	
  possible
•Linear	
  case
Fixed	
  lag


Cut	
  here	
  to	
  
marginalize
plus	
  some	
  fill-­‐in
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Fixed-­‐lag	
  Smoothing
•Marginalize	
  out	
  all	
  but	
  last	
  n	
  poses	
  
and	
  connected	
  landmarks
– Relinearization	
  possible
•Linear	
  case
•Nonlinear:	
  need	
  iSAM2
Fixed	
  lag


Cut	
  here	
  to	
  
marginalize
plus	
  some	
  fill-­‐in
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Matrix	
  vs.	
  Graph
Measurement	
  Jacobian
Factor	
  Graph
x0 x1 x2 xM...
lNl1 l2
...
...
A
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Matrix	
  vs.	
  Graph
Measurement	
  Jacobian
Factor	
  Graph
Information	
  Matrix
Markov	
  Random	
  Field
x0 x1 x2 xM...
lNl1 l2
...
...
x0 x1 x2 xM...
lNl1 l2
...
...
A
ATA
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
Matrix	
  vs.	
  Graph
Measurement	
  Jacobian
Factor	
  Graph
Information	
  Matrix
Markov	
  Random	
  Field
Square	
  Root	
  Inf.	
  Matrix
x0 x1 x2 xM...
lNl1 l2
...
...
x0 x1 x2 xM...
lNl1 l2
...
...
R
A
ATA
?
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  2:	
  Find	
  cliques	
  in	
  reverse	
  elimination	
  order:
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  2:	
  Find	
  cliques	
  in	
  reverse	
  elimination	
  order:
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  2:	
  Find	
  cliques	
  in	
  reverse	
  elimination	
  order:
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  2:	
  Find	
  cliques	
  in	
  reverse	
  elimination	
  order:
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  2:	
  Find	
  cliques	
  in	
  reverse	
  elimination	
  order:
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Data	
  Structure
Step	
  2:	
  Find	
  cliques	
  in	
  reverse	
  elimination	
  order:
Step	
  1
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Example
Manhattan	
  dataset	
  (Olson)
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  Example
How	
  to	
  update	
  with	
  new	
  measurements	
  /	
  add	
  variables?
Manhattan	
  dataset	
  (Olson)
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Updating	
  the	
  Bayes	
  Tree
Add	
  new	
  factor	
  
between	
  x1	
  and	
  x3
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Updating	
  the	
  Bayes	
  Tree
Add	
  new	
  factor	
  
between	
  x1	
  and	
  x3
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Updating	
  the	
  Bayes	
  Tree
Add	
  new	
  factor	
  
between	
  x1	
  and	
  x3
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Updating	
  the	
  Bayes	
  Tree
Add	
  new	
  factor	
  
between	
  x1	
  and	
  x3
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  for	
  Manhattan	
  Sequence
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Michael	
  Kaess‹#› CVPR14:	
  Visual	
  SLAM	
  Tutorial
iSAM2:	
  Bayes	
  Tree	
  for	
  Manhattan	
  Sequence
[Kaess	
  et	
  al.,	
  IJRR	
  12]
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
126
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Primary	
  Structure
• Insight:	
  	
  	
  	
  	
  	
  	
  	
  and	
  	
  	
  	
  	
  	
  	
  	
  	
  are	
  block-­‐diagonal	
  (because	
  
each	
  constraint	
  depends	
  only	
  on	
  one	
  camera	
  and	
  
one	
  point)	
  
• This	
  can	
  be	
  solved	
  using	
  the	
  Schur	
  Complement
127
…
…
Slide	
  by	
  Dr.	
  Jürgen	
  Sturm,	
  Computer	
  
Vision	
  Group,	
  TUM
Schur	
  Complement	
  
• Given:	
  Linear	
  system	
  
• If	
  D	
  is	
  invertible,	
  then	
  (using	
  Gauss	
  elimination)	
  
• Reduced	
  complexity?	
  
• A:	
  not	
  in	
  theory!	
  But	
  cache-­‐friendly,	
  repeatable
Slide	
  by	
  Dr.	
  Jürgen	
  Sturm,	
  Computer	
  
Vision	
  Group,	
  TUM
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Of Eiffel Towers....
129
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Of Eiffel Towers....
129
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Iterative Methods
Better than direct methods for large problems because they
Perform only simple operations and no variable elimination
Require constant (linear) memory
But they may converge slowly
when the problem is ill-conditioned
The conjugate gradient method: The convergence speed is related to
the condition number (AtA) = max / min
13 / 40130Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Main Idea (with Viorela Ila and Doru Balcan)
0 0.5 1 1.5 2 2.5
x 10
4
0
0.5
1
1.5
2
2.5
x 10
4
nz = 3151
0 0.5 1 1.5 2 2.5
x 10
4
0
0.5
1
1.5
2
2.5
x 10
4
nz = 28624
0 0.5 1 1.5 2 2.5
x 10
4
0
0.5
1
1.5
2
2.5
x 10
4
nz = 25473
The whole problem The easy part
(subgraph)
The hard part
(loop closures)
DirectM
ethod
Iterative
M
ethod
= +
131
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Linear Reparametrization is Preconditioning
The preconditioned conjugate gradient (PCG) method will converge
faster if the new problem becomes well-conditioned
18 / 40132Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Original, max
133
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Original, max
133
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Preconditioner
134
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Preconditioner
134
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Preconditioned, max
135
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Preconditioned, max
135
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Illustration with Real Data
Reconstruction results of a street scene dataset [Agarwal et al. ECCV’10]
Solution to a sparse subgraph
An approximated solution
E cient to compute
Solution to the entire graph
The optimal solution
Expensive to compute directly
Use the subgraph solution to reparametrize the original problem
21 / 40136Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Yong-Dian Jian, Doru C. Balcan and Frank Dellaert



Generalized Subgraph Preconditioners for Large-Scale Bundle Adjustment 

Proceedings of 13th International Conference on Computer Vision (ICCV), Barcelona, 2011
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Solution from Subgraph Solution from the Original Graph
Data from Noah Snavely
Notre Dame
137
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Solution from Subgraph Solution from the Original Graph
Data from Sameer Agarwal
Piazza San Marco
138
Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Results (3)
The condition numbers of the preconditioned systems
source Original SPCG Jacobi GSP-3
D-15 5.58e+21 1.87e+06 5.94e+04 4.36e+03
V-02 6.54e+21 6.46e+09 6.35e+05 1.38e+05
F-01 3.68e+11 1.92e+08 7.54e+06 8.71e+05
The original condition numbers are very large
GSP-3 has consistently smaller condition numbers
39 / 40139Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
Frank Dellaert
State of the art = Schur Complement + Iterative
• Condition number of reduced camera matrix is
already much lower
• Cluster based on co-visibility of features
• Pre-conditioner = tree of clusters
• Visibility Based Preconditioning, Kushal  Agarwal,
CVPR 2012, Experimental in Ceres
140
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Outline
141
Intro	
  
Visual	
  SLAM	
  
Bundle	
  Adjustment	
  
Factor	
  Graphs	
  
Incremental	
  
Large-­‐Scale	
  
End
Three	
  Questions
• What	
  is	
  an	
  exponential	
  map?	
  
• What	
  is	
  a	
  good	
  elimination	
  order	
  for	
  BA?	
  
• Which	
  system	
  has	
  a	
  high	
  condition	
  number?
SFM/BA	
  Packages
• SBA:	
  pioneer	
  
• Google	
  Ceres:	
  great	
  at	
  large-­‐scale	
  BA	
  
• GTSAM	
  (Georgia	
  Tech	
  Smoothing	
  and	
  Mapping)	
  
– Has	
  iSAM,	
  iSAM2	
  (later),	
  ideal	
  for	
  sensor	
  fusion	
  
– Factor-­‐graph	
  based	
  throughout:
Lago
Linear	
  Approximation	
  for	
  Graph	
  
Optimization
Smart	
  FactorsMulti-­‐threading
NEW	
  RELEASE:	
  GTSAM	
  3.1	
  
Georgia	
  Tech	
  Smoothing	
  And	
  Mapping
Download:	
  collab.cc.gatech.edu/borg/gtsam
Includes	
  numerous	
  performance	
  improvements	
  and	
  features:	
  
• Multi-­‐threading	
  with	
  TBB	
  (funded	
  by	
  DARPA)	
  
• Smart	
  Projection	
  Factors	
  for	
  SfM	
  
• LAGO	
  Initialization	
  for	
  planar	
  SLAM	
  (Luca	
  Carlone	
  et.	
  al)	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Analysis of KinectFusion
Analysis of KinectFusionAnalysis of KinectFusion
Analysis of KinectFusionDong-Won Shin
 
3D SLAM introcution& current status
3D SLAM introcution& current status3D SLAM introcution& current status
3D SLAM introcution& current statuse8xu
 
VSlam 2017 11_20(張閎智)
VSlam 2017 11_20(張閎智)VSlam 2017 11_20(張閎智)
VSlam 2017 11_20(張閎智)Hung-Chih Chang
 
Observability of path loss parameters in wlan based simultaneous
Observability of path loss parameters in wlan based simultaneousObservability of path loss parameters in wlan based simultaneous
Observability of path loss parameters in wlan based simultaneouslbruno236
 
[Mmlab seminar 2016] deep learning for human pose estimation
[Mmlab seminar 2016] deep learning for human pose estimation[Mmlab seminar 2016] deep learning for human pose estimation
[Mmlab seminar 2016] deep learning for human pose estimationWei Yang
 
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)Abdulrahman Kerim
 
Automatic Dense Semantic Mapping From Visual Street-level Imagery
Automatic Dense Semantic Mapping From Visual Street-level ImageryAutomatic Dense Semantic Mapping From Visual Street-level Imagery
Automatic Dense Semantic Mapping From Visual Street-level ImagerySunando Sengupta
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupLihang Li
 
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...Ken Sakurada
 
Solving LRS Challenges with Custom Transformers for Transportation Professionals
Solving LRS Challenges with Custom Transformers for Transportation ProfessionalsSolving LRS Challenges with Custom Transformers for Transportation Professionals
Solving LRS Challenges with Custom Transformers for Transportation ProfessionalsSafe Software
 
Self-dependent 3D face rotational alignment using the nose region
Self-dependent 3D face rotational alignment using the nose regionSelf-dependent 3D face rotational alignment using the nose region
Self-dependent 3D face rotational alignment using the nose regionMehryar (Mike) E., Ph.D.
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusionHiroki Mizuno
 
Geoscience For Gis A
Geoscience For Gis AGeoscience For Gis A
Geoscience For Gis AAndrew Zolnai
 
Linear Referencing - See How FME Measures Up
Linear Referencing - See How FME Measures UpLinear Referencing - See How FME Measures Up
Linear Referencing - See How FME Measures UpSafe Software
 
Multiple UGV SLAM Map Sharing
Multiple UGV SLAM Map SharingMultiple UGV SLAM Map Sharing
Multiple UGV SLAM Map SharingAkash Borate
 
Practical implementation of pca on satellite images
Practical implementation of pca on satellite imagesPractical implementation of pca on satellite images
Practical implementation of pca on satellite imagesBhanu Pratap
 

Was ist angesagt? (20)

Analysis of KinectFusion
Analysis of KinectFusionAnalysis of KinectFusion
Analysis of KinectFusion
 
3D SLAM introcution& current status
3D SLAM introcution& current status3D SLAM introcution& current status
3D SLAM introcution& current status
 
VSlam 2017 11_20(張閎智)
VSlam 2017 11_20(張閎智)VSlam 2017 11_20(張閎智)
VSlam 2017 11_20(張閎智)
 
Observability of path loss parameters in wlan based simultaneous
Observability of path loss parameters in wlan based simultaneousObservability of path loss parameters in wlan based simultaneous
Observability of path loss parameters in wlan based simultaneous
 
[Mmlab seminar 2016] deep learning for human pose estimation
[Mmlab seminar 2016] deep learning for human pose estimation[Mmlab seminar 2016] deep learning for human pose estimation
[Mmlab seminar 2016] deep learning for human pose estimation
 
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
 
Mapping mobile robotics
Mapping mobile roboticsMapping mobile robotics
Mapping mobile robotics
 
Automatic Dense Semantic Mapping From Visual Street-level Imagery
Automatic Dense Semantic Mapping From Visual Street-level ImageryAutomatic Dense Semantic Mapping From Visual Street-level Imagery
Automatic Dense Semantic Mapping From Visual Street-level Imagery
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
 
Poster_Final
Poster_FinalPoster_Final
Poster_Final
 
Vf sift
Vf siftVf sift
Vf sift
 
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
 
Solving LRS Challenges with Custom Transformers for Transportation Professionals
Solving LRS Challenges with Custom Transformers for Transportation ProfessionalsSolving LRS Challenges with Custom Transformers for Transportation Professionals
Solving LRS Challenges with Custom Transformers for Transportation Professionals
 
Self-dependent 3D face rotational alignment using the nose region
Self-dependent 3D face rotational alignment using the nose regionSelf-dependent 3D face rotational alignment using the nose region
Self-dependent 3D face rotational alignment using the nose region
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion
 
Geoscience For Gis A
Geoscience For Gis AGeoscience For Gis A
Geoscience For Gis A
 
Linear Referencing - See How FME Measures Up
Linear Referencing - See How FME Measures UpLinear Referencing - See How FME Measures Up
Linear Referencing - See How FME Measures Up
 
Multiple UGV SLAM Map Sharing
Multiple UGV SLAM Map SharingMultiple UGV SLAM Map Sharing
Multiple UGV SLAM Map Sharing
 
Motion analyser using image processing
Motion analyser using image processingMotion analyser using image processing
Motion analyser using image processing
 
Practical implementation of pca on satellite images
Practical implementation of pca on satellite imagesPractical implementation of pca on satellite images
Practical implementation of pca on satellite images
 

Andere mochten auch

Teleimmersion
TeleimmersionTeleimmersion
Teleimmersionstudent
 
Modelado basado en imágenes
Modelado basado en imágenesModelado basado en imágenes
Modelado basado en imágenesMario Rodriguez
 
An Open Source solution for Three-Dimensional documentation: archaeological a...
An Open Source solution for Three-Dimensional documentation: archaeological a...An Open Source solution for Three-Dimensional documentation: archaeological a...
An Open Source solution for Three-Dimensional documentation: archaeological a...Giulio Bigliardi
 
Crime Scene Diagramming and Reconstruction by Det. Mike Anderson
Crime Scene Diagramming and Reconstruction by Det. Mike AndersonCrime Scene Diagramming and Reconstruction by Det. Mike Anderson
Crime Scene Diagramming and Reconstruction by Det. Mike AndersonPPI_Group
 
Shape from Distortion - 3D Digitization
Shape from Distortion - 3D DigitizationShape from Distortion - 3D Digitization
Shape from Distortion - 3D DigitizationVanya Valindria
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsvirtualcitySYSTEMS GmbH
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationBuild Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationDouglas Lanman
 
Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0
Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0
Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0Stephenson Prieto
 
Build Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course NotesBuild Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course NotesDouglas Lanman
 
Ar techniques@sergi grau
Ar techniques@sergi grauAr techniques@sergi grau
Ar techniques@sergi grauSergi Grau
 
Overview of 3D GIS Capabilties
Overview of 3D GIS CapabiltiesOverview of 3D GIS Capabilties
Overview of 3D GIS CapabiltiesErik Van Der Zee
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesDouglas Lanman
 
Inside Matters - 3D X-Ray Microscopy - Software - Octopus Imaging
Inside Matters - 3D X-Ray Microscopy - Software - Octopus ImagingInside Matters - 3D X-Ray Microscopy - Software - Octopus Imaging
Inside Matters - 3D X-Ray Microscopy - Software - Octopus ImagingLeiv Hendrickx
 
3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained
3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained
3D Scanning Technology Overview: Kinect Reconstruction Algorithms ExplainedVoxelMetric
 
3D CT Middle and Inner Ear
3D CT Middle and Inner Ear3D CT Middle and Inner Ear
3D CT Middle and Inner EarDr. Paulose
 
Inside Matters - 3D X-Ray Microscopy - Services
Inside Matters - 3D X-Ray Microscopy - ServicesInside Matters - 3D X-Ray Microscopy - Services
Inside Matters - 3D X-Ray Microscopy - ServicesLeiv Hendrickx
 
Pixie Dust - SIGGGRAPH 2014
Pixie Dust - SIGGGRAPH 2014Pixie Dust - SIGGGRAPH 2014
Pixie Dust - SIGGGRAPH 2014Yoichi Ochiai
 
A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...
A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...
A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...Sergio Orts-Escolano
 
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingBuild Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingDouglas Lanman
 

Andere mochten auch (20)

Teleimmersion
TeleimmersionTeleimmersion
Teleimmersion
 
Modelado basado en imágenes
Modelado basado en imágenesModelado basado en imágenes
Modelado basado en imágenes
 
An Open Source solution for Three-Dimensional documentation: archaeological a...
An Open Source solution for Three-Dimensional documentation: archaeological a...An Open Source solution for Three-Dimensional documentation: archaeological a...
An Open Source solution for Three-Dimensional documentation: archaeological a...
 
Crime Scene Diagramming and Reconstruction by Det. Mike Anderson
Crime Scene Diagramming and Reconstruction by Det. Mike AndersonCrime Scene Diagramming and Reconstruction by Det. Mike Anderson
Crime Scene Diagramming and Reconstruction by Det. Mike Anderson
 
Shape from Distortion - 3D Digitization
Shape from Distortion - 3D DigitizationShape from Distortion - 3D Digitization
Shape from Distortion - 3D Digitization
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developments
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationBuild Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
 
Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0
Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0
Programación 3D y Modelado de Realidad Virtual para Internet con VRML 2.0
 
Acosutic Trail, GPS manos libres
Acosutic Trail, GPS manos libresAcosutic Trail, GPS manos libres
Acosutic Trail, GPS manos libres
 
Build Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course NotesBuild Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course Notes
 
Ar techniques@sergi grau
Ar techniques@sergi grauAr techniques@sergi grau
Ar techniques@sergi grau
 
Overview of 3D GIS Capabilties
Overview of 3D GIS CapabiltiesOverview of 3D GIS Capabilties
Overview of 3D GIS Capabilties
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
 
Inside Matters - 3D X-Ray Microscopy - Software - Octopus Imaging
Inside Matters - 3D X-Ray Microscopy - Software - Octopus ImagingInside Matters - 3D X-Ray Microscopy - Software - Octopus Imaging
Inside Matters - 3D X-Ray Microscopy - Software - Octopus Imaging
 
3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained
3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained
3D Scanning Technology Overview: Kinect Reconstruction Algorithms Explained
 
3D CT Middle and Inner Ear
3D CT Middle and Inner Ear3D CT Middle and Inner Ear
3D CT Middle and Inner Ear
 
Inside Matters - 3D X-Ray Microscopy - Services
Inside Matters - 3D X-Ray Microscopy - ServicesInside Matters - 3D X-Ray Microscopy - Services
Inside Matters - 3D X-Ray Microscopy - Services
 
Pixie Dust - SIGGGRAPH 2014
Pixie Dust - SIGGGRAPH 2014Pixie Dust - SIGGGRAPH 2014
Pixie Dust - SIGGGRAPH 2014
 
A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...
A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...
A Three-Dimensional Representation method for Noisy Point Clouds based on Gro...
 
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingBuild Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
 

Ähnlich wie Visual SLAM, Bundle Adjustment & Factor Graphs

Video Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFTVideo Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFTIRJET Journal
 
Object Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online LearningObject Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online LearningJui-Hsin (Larry) Lai
 
CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018
CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018
CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018Universitat Politècnica de Catalunya
 
Fisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingFisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingYu Huang
 
Visual geometry with deep learning
Visual geometry with deep learningVisual geometry with deep learning
Visual geometry with deep learningNAVER Engineering
 
eric-yilin cv presentation
eric-yilin cv presentationeric-yilin cv presentation
eric-yilin cv presentationYujia Huang
 
Augmented reality session 4
Augmented reality session 4Augmented reality session 4
Augmented reality session 4NirsandhG
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithmSajid Pareeth
 
Clip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with ClippingClip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with ClippingSafe Software
 
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...Lionel Briand
 
An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...Kunal Kishor Nirala
 
Clip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with ClippingClip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with ClippingSafe Software
 
Large Scale Image Retrieval 2022.pdf
Large Scale Image Retrieval 2022.pdfLarge Scale Image Retrieval 2022.pdf
Large Scale Image Retrieval 2022.pdfSamuCerezo
 
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...ijfcstjournal
 
Fisheye Omnidirectional View in Autonomous Driving II
Fisheye Omnidirectional View in Autonomous Driving IIFisheye Omnidirectional View in Autonomous Driving II
Fisheye Omnidirectional View in Autonomous Driving IIYu Huang
 
Generating 3 d model from video
Generating 3 d model from videoGenerating 3 d model from video
Generating 3 d model from videoacijjournal
 

Ähnlich wie Visual SLAM, Bundle Adjustment & Factor Graphs (20)

Video Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFTVideo Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFT
 
Object Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online LearningObject Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online Learning
 
CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018
CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018
CNN vs SIFT-based Visual Localization - Laura Leal-Taixé - UPC Barcelona 2018
 
AR/SLAM for end-users
AR/SLAM for end-usersAR/SLAM for end-users
AR/SLAM for end-users
 
Fisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingFisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous Driving
 
Visual geometry with deep learning
Visual geometry with deep learningVisual geometry with deep learning
Visual geometry with deep learning
 
eric-yilin cv presentation
eric-yilin cv presentationeric-yilin cv presentation
eric-yilin cv presentation
 
Augmented reality session 4
Augmented reality session 4Augmented reality session 4
Augmented reality session 4
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithm
 
Clip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with ClippingClip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with Clipping
 
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
 
An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...
 
Final Paper
Final PaperFinal Paper
Final Paper
 
Graphics
GraphicsGraphics
Graphics
 
Clip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with ClippingClip, Clip, Hooray! Get Just the Data You Need with Clipping
Clip, Clip, Hooray! Get Just the Data You Need with Clipping
 
Large Scale Image Retrieval 2022.pdf
Large Scale Image Retrieval 2022.pdfLarge Scale Image Retrieval 2022.pdf
Large Scale Image Retrieval 2022.pdf
 
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
 
Fisheye Omnidirectional View in Autonomous Driving II
Fisheye Omnidirectional View in Autonomous Driving IIFisheye Omnidirectional View in Autonomous Driving II
Fisheye Omnidirectional View in Autonomous Driving II
 
Electrical Engineering Assignment Help
Electrical Engineering Assignment HelpElectrical Engineering Assignment Help
Electrical Engineering Assignment Help
 
Generating 3 d model from video
Generating 3 d model from videoGenerating 3 d model from video
Generating 3 d model from video
 

Mehr von mustafa sarac

Uluslararasilasma son
Uluslararasilasma sonUluslararasilasma son
Uluslararasilasma sonmustafa sarac
 
Real time machine learning proposers day v3
Real time machine learning proposers day v3Real time machine learning proposers day v3
Real time machine learning proposers day v3mustafa sarac
 
Latka december digital
Latka december digitalLatka december digital
Latka december digitalmustafa sarac
 
Axial RC SCX10 AE2 ESC user manual
Axial RC SCX10 AE2 ESC user manualAxial RC SCX10 AE2 ESC user manual
Axial RC SCX10 AE2 ESC user manualmustafa sarac
 
Array programming with Numpy
Array programming with NumpyArray programming with Numpy
Array programming with Numpymustafa sarac
 
Math for programmers
Math for programmersMath for programmers
Math for programmersmustafa sarac
 
TEGV 2020 Bireysel bagiscilarimiz
TEGV 2020 Bireysel bagiscilarimizTEGV 2020 Bireysel bagiscilarimiz
TEGV 2020 Bireysel bagiscilarimizmustafa sarac
 
How to make and manage a bee hotel?
How to make and manage a bee hotel?How to make and manage a bee hotel?
How to make and manage a bee hotel?mustafa sarac
 
Cahit arf makineler dusunebilir mi
Cahit arf makineler dusunebilir miCahit arf makineler dusunebilir mi
Cahit arf makineler dusunebilir mimustafa sarac
 
How did Software Got So Reliable Without Proof?
How did Software Got So Reliable Without Proof?How did Software Got So Reliable Without Proof?
How did Software Got So Reliable Without Proof?mustafa sarac
 
Staff Report on Algorithmic Trading in US Capital Markets
Staff Report on Algorithmic Trading in US Capital MarketsStaff Report on Algorithmic Trading in US Capital Markets
Staff Report on Algorithmic Trading in US Capital Marketsmustafa sarac
 
Yetiskinler icin okuma yazma egitimi
Yetiskinler icin okuma yazma egitimiYetiskinler icin okuma yazma egitimi
Yetiskinler icin okuma yazma egitimimustafa sarac
 
Consumer centric api design v0.4.0
Consumer centric api design v0.4.0Consumer centric api design v0.4.0
Consumer centric api design v0.4.0mustafa sarac
 
State of microservices 2020 by tsh
State of microservices 2020 by tshState of microservices 2020 by tsh
State of microservices 2020 by tshmustafa sarac
 
Uber pitch deck 2008
Uber pitch deck 2008Uber pitch deck 2008
Uber pitch deck 2008mustafa sarac
 
Wireless solar keyboard k760 quickstart guide
Wireless solar keyboard k760 quickstart guideWireless solar keyboard k760 quickstart guide
Wireless solar keyboard k760 quickstart guidemustafa sarac
 
State of Serverless Report 2020
State of Serverless Report 2020State of Serverless Report 2020
State of Serverless Report 2020mustafa sarac
 
Dont just roll the dice
Dont just roll the diceDont just roll the dice
Dont just roll the dicemustafa sarac
 

Mehr von mustafa sarac (20)

Uluslararasilasma son
Uluslararasilasma sonUluslararasilasma son
Uluslararasilasma son
 
Real time machine learning proposers day v3
Real time machine learning proposers day v3Real time machine learning proposers day v3
Real time machine learning proposers day v3
 
Latka december digital
Latka december digitalLatka december digital
Latka december digital
 
Axial RC SCX10 AE2 ESC user manual
Axial RC SCX10 AE2 ESC user manualAxial RC SCX10 AE2 ESC user manual
Axial RC SCX10 AE2 ESC user manual
 
Array programming with Numpy
Array programming with NumpyArray programming with Numpy
Array programming with Numpy
 
Math for programmers
Math for programmersMath for programmers
Math for programmers
 
The book of Why
The book of WhyThe book of Why
The book of Why
 
BM sgk meslek kodu
BM sgk meslek koduBM sgk meslek kodu
BM sgk meslek kodu
 
TEGV 2020 Bireysel bagiscilarimiz
TEGV 2020 Bireysel bagiscilarimizTEGV 2020 Bireysel bagiscilarimiz
TEGV 2020 Bireysel bagiscilarimiz
 
How to make and manage a bee hotel?
How to make and manage a bee hotel?How to make and manage a bee hotel?
How to make and manage a bee hotel?
 
Cahit arf makineler dusunebilir mi
Cahit arf makineler dusunebilir miCahit arf makineler dusunebilir mi
Cahit arf makineler dusunebilir mi
 
How did Software Got So Reliable Without Proof?
How did Software Got So Reliable Without Proof?How did Software Got So Reliable Without Proof?
How did Software Got So Reliable Without Proof?
 
Staff Report on Algorithmic Trading in US Capital Markets
Staff Report on Algorithmic Trading in US Capital MarketsStaff Report on Algorithmic Trading in US Capital Markets
Staff Report on Algorithmic Trading in US Capital Markets
 
Yetiskinler icin okuma yazma egitimi
Yetiskinler icin okuma yazma egitimiYetiskinler icin okuma yazma egitimi
Yetiskinler icin okuma yazma egitimi
 
Consumer centric api design v0.4.0
Consumer centric api design v0.4.0Consumer centric api design v0.4.0
Consumer centric api design v0.4.0
 
State of microservices 2020 by tsh
State of microservices 2020 by tshState of microservices 2020 by tsh
State of microservices 2020 by tsh
 
Uber pitch deck 2008
Uber pitch deck 2008Uber pitch deck 2008
Uber pitch deck 2008
 
Wireless solar keyboard k760 quickstart guide
Wireless solar keyboard k760 quickstart guideWireless solar keyboard k760 quickstart guide
Wireless solar keyboard k760 quickstart guide
 
State of Serverless Report 2020
State of Serverless Report 2020State of Serverless Report 2020
State of Serverless Report 2020
 
Dont just roll the dice
Dont just roll the diceDont just roll the dice
Dont just roll the dice
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Kürzlich hochgeladen (20)

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Visual SLAM, Bundle Adjustment & Factor Graphs

  • 1. Visual SLAM, Bundle Adjustment, Factor Graphs Frank Dellaert, Robotics & Intelligent Machines @ Georgia Tech
  • 2. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 2 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 3. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 3 2014
  • 4. Frank Dellaert Monte Carlo Localization Dellaert, Fox, Burgard & Thrun, ICRA 1999
  • 5. Frank Dellaert Monte Carlo Localization Dellaert, Fox, Burgard & Thrun, ICRA 1999
  • 6. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 Biotracking • Multi-Target Tracking with MCMC 5
  • 7. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 Biotracking • Multi-Target Tracking with MCMC 5
  • 8. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 6 SFM without Correspondence
  • 9. Frank Dellaert 4D Reconstruction 7 Historical Image Collection 4D City Model 4D Cities: 3D + Time Grant Schindler
  • 10. Frank Dellaert 4D Reconstruction 7 Historical Image Collection 4D City Model 4D Cities: 3D + Time Grant Schindler
  • 11. Frank Dellaert 4D Reconstruction 7 Historical Image Collection 4D City Model 4D Cities: 3D + Time Grant Schindler
  • 12. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 4D Structure over Time 8
  • 13. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 4D Structure over Time 8
  • 14. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Large-Scale Structure from Motion Photo Tourism [Snavely et al. SIGGRAPH’06] Build Rome in a Day [Agarwal et al. ICCV’09] Photosynth [Microsoft] Build Rome on a Cloudless Day [Frahm et al. ECCV’10] Iconic Scene Graphs [Li et al. ECCV’08] Discrete-Continuous Optim. [Crandall et al. CVPR’11] 2 / 40 9Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
  • 15. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 3D Models from Community Databases • E.g., Google image search on “Dubrovnik” 10
  • 16. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 3D Models from Community Databases Agarwal, Snavely et al., University of Washington http://grail.cs.washington.edu/rome/ 11 5K images, 3.5M points, 10M factors
  • 17. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 3D Models from Community Databases Agarwal, Snavely et al., University of Washington http://grail.cs.washington.edu/rome/ 11 5K images, 3.5M points, 10M factors
  • 18. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 12 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 19. Bibliography • Murray,  Li    Sastry,  1994   • Hartley  and  Zisserman,  2004   • Visual  Odometry,  Nister  et  al,  CVPR  2004   • An  Invitation  to  3-­‐D  Vision,  Ma,  Soatto,  Kosecka,  Sastry,  2005   • Square  Root  SAM,  Dellaert    Kaess,  IJRR  2006   • Absil,  Mahony    Sepulchre,  2007   • iSAM,  Kaess    Dellaert,  TRO  2008   • iSAM  2,  Kaess  et  al,  IJRR  2011   • Generalized  Subgraph  Preconditioners,  Jian  et  al,  ICCV  2011   • Visibility  Based  Preconditioning,  Kushal    Agarwal,  CVPR  2012   • CVPR  2014  Tutorial  on  Visual  SLAM,
 http://frc.ri.cmu.edu/~kaess/vslam_cvpr14/
  • 20. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 14 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 21. What is Visual Odometry?
  • 22. What is Visual Odometry?
  • 23. What is Visual Odometry?
  • 24. Monocular Visual Odometry 16 • VO:  two  frames  -­‐  R,t   • Essential  Matrix   • 5-­‐point  RANSAC  algorithm   • Refinement
  • 25. • Why Stereo? • Avoids scale ambiguity inherent in monocular VO • No special initialization procedure of landmark depth Stereo Visual Odometry
  • 26. Stereo VO Overview 1. Rectification 2. Feature Extraction 4. Temporal Feature Matching 3. Stereo Feature Matching 5. Incremental Pose Recovery/RANSAC
  • 28. • Detect local features in each image • SIFT gives good results (can also use SURF, Harris, etc.) Feature Extraction Lowe ICCV 1999
  • 29. • Match features between left/right images • Since the images are rectified, we can restrict the search to a bounding box on the same scan-line Stereo Matching Left image Right image
  • 30. • Temporally match features between frame t and t-1 Temporal Matching
  • 31. • There will be some erroneous stereo and temporal feature associations à Use 3-point RANSAC • Select 3 correspondences at random • Estimate relative transform R,t • Find the fraction of inliers that agree with this transform • Repeat for fixed nr. of tries or until fraction80% • Compute refined model using full inlier set Relative Pose Estimation/RANSAC
  • 32. • There will be some erroneous stereo and temporal feature associations à Use 3-point RANSAC • Select 3 correspondences at random • Estimate relative transform R,t • Find the fraction of inliers that agree with this transform • Repeat for fixed nr. of tries or until fraction80% • Compute refined model using full inlier set Relative Pose Estimation/RANSAC
  • 33. • Camera pose can be recovered given at least three known landmarks in a non-degenerate configuration • In the case of stereo VO, landmarks can simply be triangulated • Two ways to recover pose: • Absolute orientation • Reprojection error minimization Relative Pose Estimation 6 DOF camera pose Known 3D landmarks
  • 34. • Estimate relative relative transformation between 3D landmarks which were triangulated from stereo-matched features • 3-Point algorithm: polynomial equations Absolute Orientation Pose r0 Pose r1 Tt Pose r0 (R,t) ? Tt-1 Tt-1 Tt
  • 35. • Another approach is to estimate relative pose by minimizing reprojection error of 3D landmarks into images at time t and t-1 • Even better: jointly optimize the landmark positions and the relative camera pose: 
 • the measurement function h(.) transforms 3D points into the camera frame at time t, and then projects into the stereo images Relative Pose Estimation Camera poses
 Landmarks
 Measurements between was done h express previous lgorithm escriptor ANSAC ereo and roducing remental ose with ry in the be used stage. ORY (instead think of the SAM problem. Fig. 1 shows an illustration of a factor graph which is representative of the optimization problem. The factor graph fully represents the problem to be solved in a graphical way, where the 6 DOF poses of the left stereo rig camera are indicated by r, and the tracked SURF landmarks are denoted as l, where landmarks are represented as 3D points. The nodes on the vertices connecting the variables r and l represent the visual image measurements that were made for each tracked feature point. We optimize over the entire set of camera poses and landmarks, R and L respectively, and collect all unknowns in the vector ⇥ = (R, L). The factor graph then captures a non-linear least-squares problem ⇥⇤ = argmin ⇥ MX m=1 khm(rim , ljm ) zmk2 ⌃m (4) where hm(·) is the measurement function of landmark ljm from pose rim , and M is the total number of measurements, and r 2 R and l 2 L .The measurements are denoted by zm = (uL, uR, v), where uL and uR are the horizontal Triangulate Tt Tt-1 Reproject Tt Tt-1
  • 36. • The presented algorithm works very well in feature-rich, static environments, but… • A few tricks for better results in challenging conditions: • Feature binning to cope with bias due to uneven feature distributions • Keyframing to cope with dynamic scenes, as well as reducing drift of a stationary camera • Real-time performance Practical/Robustness Considerations
  • 37. • Incremental pose estimation yields poor results when features are concentrated in one area of the image • Solution: Draw a grid and keep k strongest features in each cell Feature Binning
  • 38. • Dynamic, crowded scenes present a real challenge • Can’t depend on RANSAC to always recover the correct inliers • Example 1: Large van “steals” inlier set in passing Challenges: Dynamic Scenes Inliers Outliers
  • 39. • Example 2: Cross-traffic while waiting to turn left at light Only accept incremental pose if: • Translation 0.5m • Dominant direction is forward Without keyframing With keyframing Incorrect sideways motion Challenges: Dynamic Scenes
  • 40. • Parallelization of feature extraction and stereo matching steps allows real-time performance even in CPU-only implementation Real-time performance Mono Frame Queue Stereo Frame Queue Pose Recovery/ RANSAC … Feature Extractor Feature Extractor Feature Extractor Stereo Frame Queue Stereo Matching Stereo Matching
  • 41. • Representative results on KITTI VO Benchmark • Average translational/rotational errors are very small • Accumulate over time, resulting in drift Results on KITTI Benchmark
  • 42. • Stereo Visual Odometry yields more than just a camera trajectory! • Tracked landmarks form a sparse 3D point cloud of the environment • Can be used as the basis for localization What else do you get?
  • 43. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 34 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 44. Motivation • VO:  just  two  frames  -­‐  R,t  using  5-­‐pt  or  3-­‐pt   • Can  we  do  better?  Bundle  Adjustment  -­‐  VSLAM   • Later:  integrate  IMU,  other  sensors
  • 45. Objective  Function • refine  VO  by  non-­‐linear  optimization pij T1 w T2 w Pj w
  • 46. Two  Views • Unknowns:  poses  and  points   • Measurements  pij:  normalized  (x,y),  known  K! pij T1 w T2 w Pj w
  • 47. If  we  lived  in  a  Linear  World:
  • 48. In  a  Linear  World… • Linear  measurement    function:   • …and  objective  function:   • Linear  least-­‐squares  !   • Note:            =  6D,  =    =  3D
  • 50. Normal  Equations • Least-­‐squares  criterion     • Take  derivative,  set  to  zero:   • Solve  using  cholmod,  GTSAM…   • In  MATLAB:  x=Ab
  • 51. Generative  Model • Measurement  Function,  calibrated  setting! Rigid  3D  transform  to  camera  frame Projection  to  intrinsic  image  coordinates
  • 52. Taylor  Expansion  Epic  Fail • Taylor  expansion?
  • 53. Taylor  Expansion  Epic  Fail • Taylor  expansion?   • Oops:                          ?   • T  is  a  4x4  matrix,  but  is  over-­‐parameterized!   • T  in  SE(3):  only  6DOF  (3  rotation,  3  translation)
  • 54. Tangent  Spaces • An  incremental  change  on  a  manifold              can  be  introduced  via   the  notion  of  an  n-­‐dimensional  tangent  space                        at  a   •          Sphere                                                                                                              SO(2) a a==0
  • 55. Tangent  Spaces • Provides  local  coordinate  frame  for  manifold a 0
  • 56. SE(3):  A  Twist  of  Li(m)e • Lie  group  =  group  +  manifold   – SE(3)  is  group!   – SE(3)  is  6DOF  manifold  embedded  in  R4*4   • For  Lie  groups,  we  have  exponential  maps:   • se2  twist:
  • 58. Generators  for  SE(3) Exponential  map  closed  form:
  • 59. Generalized  Taylor  Expansion • Define  f’(a)  to  satisfy: =[0.2  0.3]
  • 60. Taylor  Expansion  for  Projection • Projection:  function  of  two  variables, 2x6 2x3 )
  • 61. Taylor  Expansion  for  Projection • Projection:  function  of  two  variables, 2x6 2x3
  • 62. Gauss-­‐Newton • Iteratively  Linearize,  solve  normal  equations  on   tangent  space,  update  Lie  group  elements
  • 63. Too  much  Freedom! • A’A  will  be  singular!  7DOF  gauge  freedom   – Switch  to  5DOF  Essential  Manifold   – Use  photogrammetry  “inner  constraints”   – Add  prior  terms   – Fuse  in  other  sensors,  e.g.,  IMU/GPS SE(3)  x  SE(3) E
  • 64. • Idea:  Add  a  damping  factor   • What  is  the  effect  of  this  damping  factor?   – Small        ?   – Large        ? Levenberg-­‐Marquardt  Algorithm Slide  by  Dr.  Jürgen  Sturm,  Computer   Vision  Group,  TUM
  • 65. Levenberg-­‐Marquardt  Algorithm • Idea:  Add  a  damping  factor   • What  is  the  effect  of  this  damping  factor?   – Small        à same  as  least  squares   – Large        à steepest  descent  (with  small  step  size)   • Algorithm   – If  error  decreases,  accept                and  reduce   – If  error  increases,  reject                and  increase   Slide  by  Dr.  Jürgen  Sturm,  Computer   Vision  Group,  TUM
  • 71. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 59 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 72. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Structure from Motion (Chicago, movie by Yong Dian Jian) 60
  • 73. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Structure from Motion (Chicago, movie by Yong Dian Jian) 60
  • 74. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Boolean Satisfiability 61
  • 75. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Boolean Satisfiability M I A H G ¬M ∨ I M ∨ ¬I M ∨ A ¬I ∨ H ¬A ∨ H ¬H ∨ G 61
  • 76. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Boolean Satisfiability M I A H G ¬M ∨ I M ∨ ¬I M ∨ A ¬I ∨ H ¬A ∨ H ¬H ∨ G Variables 61
  • 77. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Boolean Satisfiability M I A H G ¬M ∨ I M ∨ ¬I M ∨ A ¬I ∨ H ¬A ∨ H ¬H ∨ G Variables Factors 61
  • 78. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Boolean Satisfiability M I A H G ¬M ∨ I M ∨ ¬I M ∨ A ¬I ∨ H ¬A ∨ H ¬H ∨ G Variables Factors Factor Graph 61
  • 79. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Constraint Satisfaction 62
  • 80. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Constraint Satisfaction 63 S V Y NL BC N NB O NT M Q
  • 81. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Constraint Satisfaction 63 S V Y NL BC N NB O NT M Q
  • 82. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Graphical Models 64 P( |Z) as the product of the prior P( ) and the likelihood factors L( k;zk), P( |Z) P( ) k L( k;zk) = f0( 0) k fk( k) where the factor f0 corresponding to the prior P( ) typically factors as well, depe T S L BE X Figure 4.3: Factor graph for examples in Figure 4.2. g about how a given measurement z depends on the parameters . Importantly, joint density P( ,Z) into a product of simple factors. This is typically done by sities of the form P(z| ), indicating that given the values for a subset ⊂ of ement z is conditionally independent of all other parameters. A D T S L BE X or example in Figure 4.1. The observed variables are shown as square nodes.
  • 83. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Polynomial Equations 65 Multi-camera pose estimation (Gim Hee Lee, ETH)
  • 84. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Polynomial Equations 66 𝛾2 𝛾3 𝛾1 Multi-camera pose estimation (Gim Hee Lee, ETH)
  • 85. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 67 Continuous Probability Densities x0 x1 x2 xM... lNl1 l2 ... ... P(X,M) = k* - E.g., Robot Trajectory - Landmarks - Measurements
  • 86. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 68 Simultaneous Localization and Mapping (SLAM)
  • 87. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 68 Simultaneous Localization and Mapping (SLAM)
  • 88. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 69 Factor Graph - Smoothing and Mapping (SAM) !
  • 89. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 69 Factor Graph - Smoothing and Mapping (SAM) ! Variables are multivariate! Factors are non-linear!
  • 90. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 69 Factor Graph - Smoothing and Mapping (SAM) ! Variables are multivariate! Factors are non-linear! Factors induce probability densities. -log P(x) = |E(x)|2
  • 91. Full  Bundle  Adjustment • Extend  2-­‐frame  case  to  multiple  cameras:   • Factor  graph  representation:
  • 92. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Structure from Motion (Chicago, movie by Yong Dian Jian) 71
  • 93. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Structure from Motion (Chicago, movie by Yong Dian Jian) 71
  • 95. Frank Dellaert Nonlinear Least-Squares Repeatedly  solve  linearized  system  (GN) 72   Gaussian  noise  
  • 96. Frank Dellaert Nonlinear Least-Squares Repeatedly  solve  linearized  system  (GN) 72 A   b    Gaussian  noise   poses      points
  • 97. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 73 Gaussian Factor Graph == mxn Matrix A Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
  • 98. Frank Dellaert Solving the Linear Least-Squares System 74 A Measurement  Jacobian Solve:  
  • 99. Frank Dellaert Solving the Linear Least-Squares System 74 ATA A Measurement  Jacobian Information  matrix Normal  equations Solve:    
  • 100. Frank Dellaert Solving the Linear Least-Squares System •Can  we  simply  invert  ATA  to  solve  for  x?   75 ATA Information  matrix Normal  equations  
  • 101. Frank Dellaert Solving the Linear Least-Squares System •Can  we  simply  invert  ATA  to  solve  for  x?   •Yes,  but  we  shouldn’t…
 The  inverse  of  ATA  is  dense  -­‐  O(n^3) •Can  do  much  better  by  taking
 advantage  of  sparsity! 75 ATA Information  matrix Normal  equations  
  • 102. Frank Dellaert Solving the Linear Least-Squares System 76 ATA Information  matrix Normal  equations Solve:    A Measurement  Jacobian
  • 103. Frank Dellaert Solving the Linear Least-Squares System 76 R ATA Information  matrix Square  root  information  matrix Normal  equations Matrix  factorization Solve:       A Measurement  Jacobian
  • 104. Frank Dellaert Matrix – Square Root Factorization 77 • QR  on  A:  Numerically  More  Stable   • Cholesky  on  ATA:  Faster A QR R Cholesky RATA
  • 105. Frank Dellaert Solving by Backsubstitution After  factorization  (via  Cholesky):  RTR  x  =  ATb 78
  • 106. Frank Dellaert Solving by Backsubstitution After  factorization  (via  Cholesky):  RTR  x  =  ATb •Forward  substitution RTy  =  ATb,  solve  for  y 78 RT
  • 107. Frank Dellaert Solving by Backsubstitution After  factorization  (via  Cholesky):  RTR  x  =  ATb •Forward  substitution RTy  =  ATb,  solve  for  y •Backsubstition R  x  =  y,  solve  for  x 78 RT R
  • 108. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Intel Dataset 79 910 poses, 4453 constraints, 45s or 49ms/step (Olson, RSS 07: iterative equation solver, same ballpark)
  • 109. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping MIT Killian Court Dataset 80 1941 poses, 2190 constraints, 14.2s or 7.3ms/step
  • 110. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • OnVesta and Ceres 81
  • 111. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • OnVesta and Ceres 81
  • 112. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 “Gaussian” Elimination? 82 The Nine Chapters on the Mathematical Art, 200 B.C.
  • 113. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 “Gaussian” Elimination? 82 The Nine Chapters on the Mathematical Art, 200 B.C. Gauss re-invented elimination for determining the orbit of Ceres
  • 114. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 “Gaussian” Elimination? 82 The Nine Chapters on the Mathematical Art, 200 B.C. Gauss re-invented elimination for determining the orbit of Ceres
  • 115. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 83 Variable Elimination • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3 l1 l2 l1 l2 x1 x2 x3 x x x x x x x x x x x x x x
  • 116. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 83 Variable Elimination • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3 l1 l2 Basis = Chain Rule ! e.g. P(l1,x1,x2)=P(l1|x1,x2)P(x1,x2) P(l1,x1,x2) l1 l2 x1 x2 x3 x x x x x x x x x x x x x x
  • 117. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3 l1 l2l1 Small Example 84 P(l1|x1,x2) P(x1,x2) Basis = Chain Rule ! e.g. P(l1,x1,x2)=P(l1|x1,x2)P(x1,x2) l1 l2 x1 x2 x3 x x x x x x x x x x x x x x
  • 118. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3 l1 l2l2 Small Example 85 l1 l2 x1 x2 x3 x x x x x x x x x x x x x x
  • 119. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3x1 l1 l2 Small Example 86 l1 l2 x1 x2 x3 x x x x x x x x x x x
  • 120. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3x2 l1 l2 Small Example 87 l1 l2 x1 x2 x3 x x x x x x x x x x x
  • 121. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping • Choose Ordering • Eliminate one node at a time • Express node as function of adjacent nodes x1 x2 x3x3 l1 l2 Small Example 88 l1 l2 x1 x2 x3 x x x x x x x x x x
  • 122. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping x1 x2 x3x3 l1 l2 Small Example 89 • End-Result = Bayes Net ! l1 l2 x1 x2 x3 x x x x x x x x x x
  • 123. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Polynomial Equations 90 Gim Hee Lee’s thesis: multi-camera pose estimation 𝛾2 𝛾3 𝛾1
  • 124. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Polynomial Equations 91 𝛾2 𝛾3 𝛾1 𝛾1 𝛾2 𝛾3 𝛾1 𝛾2 𝛾3 Three degree 2 polynomials, each in only 2 variables Degree 8 polynomial Degree 4 polynomial
  • 125. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Elimination at work 92
  • 126. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Elimination at work 92
  • 127. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Elimination at work 93
  • 128. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Elimination at work 93
  • 129. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 94 Elimination order is again CRUCIAL • Order with least fill-in 
 NP-complete to find Square Root SAM: Simultaneous Location and Mapping via Square Root Information Smoothing, Frank Dellaert, Robotics: Science and Systems, 2005 Exploiting Locality by Nested Dissection For Square Root Smoothing and Mapping, Peter Krauthausen, Frank Dellaert, and Alexander Kipp, Robotics: Science and Systems, 2006
  • 130. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 95 Remember: Larger Example Factor Graph
  • 131. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 96 Eliminate Poses then Landmarks R
  • 132. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 97 Eliminate Landmarks then Poses
  • 133. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 98 Minimum Degree Fill
 Yields Chordal Graph. Chordal graph + order = directed R
  • 134. Frank Dellaert: Inference in Factor Graphs,Tutorial at ICRA 2013 98 Minimum Degree Fill
 Yields Chordal Graph. Chordal graph + order = directed R
  • 135. The importance of being Ordered 500 Landmarks, 1000 steps, many loops
  • 136. The importance of being Ordered 500 Landmarks, 1000 steps, many loops
  • 137. The importance of being Ordered 500 Landmarks, 1000 steps, many loops
  • 138. The importance of being Ordered 500 Landmarks, 1000 steps, many loops Bottom line: even a tiny amount of domain knowledge helps.
  • 139. The importance of being Ordered 500 Landmarks, 1000 steps, many loops Bottom line: even a tiny amount of domain knowledge helps. Bottom line 2: this is EXACT !!!
  • 140. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Approximate Minimum Degree 100
  • 141. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Approximate Minimum Degree 100
  • 142. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Divide and Conquer 101
  • 143. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Divide and Conquer 101
  • 144. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 102 St. Peter’s Basilica, Rome Data Courtesy Microsoft Research Kai Ni, Drew Steedly, and Frank Dellaert, Out-of-Core Bundle Adjustment for Large-Scale 3D Reconstruction, IEEE International Conference on Computer Vision (ICCV), 2007.
  • 145. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping 102 St. Peter’s Basilica, Rome Data Courtesy Microsoft Research Kai Ni, Drew Steedly, and Frank Dellaert, Out-of-Core Bundle Adjustment for Large-Scale 3D Reconstruction, IEEE International Conference on Computer Vision (ICCV), 2007.
  • 146. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Nested Dissection (but good separators are hard) 103
  • 147. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Nested Dissection (but good separators are hard) 103
  • 148. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Nested-Dissection for SFM: Hyper-SFM 104 Kai Ni, and Frank Dellaert, HyperSfM, IEEE International Conference on 3D Imaging, Modeling, Processing, Visualization and Transmission (3DIMPVT), 2012.
  • 149. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 105 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 150. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=0) Robot Onboard  sensors:   – Wheel  odometry   – Inertial  measurement  unit   (gyro,  accelerometer)   – Sonar   – Laser  range  finder   – Camera   – RGB-­‐D  sensors  
  • 151. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=0) Robot Landmark Landmark
 Measurement Onboard  sensors:   – Wheel  odometry   – Inertial  measurement  unit   (gyro,  accelerometer)   – Sonar   – Laser  range  finder   – Camera   – RGB-­‐D  sensors  
  • 152. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=1) Robot Landmark  1 Odometry  measurement Landmark
 measurement
  • 153. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=1) Robot Landmark  1 Landmark  2 Odometry  measurement Landmark
 measurement
  • 154. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=n-­‐1) Robot Landmark  1 Landmark  2 Odometry  measurement Landmark
 measurement
  • 155. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=n) Odometry  measurement Landmark
 measurement
  • 156. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial The  Mapping  Problem  (t=n) Odometry  measurement Landmark
 measurement Mapping  problem  is  incremental  !
  • 157. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Factor  Graph  Representation Robot  pose Landmark  position Landmark
 measurement Odometry  measurement
  • 158. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Factor  Graph  Representation Pose Point Point
 measurement
  • 159. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Full  Bundle  Adjustment •Graph  grows  with  time:   – Have  to  solve  a  sequence  of  increasingly  larger  BA  problems   – Will  become  too  expensive  even  for  sparse  Cholesky   F.  Dellaert  and  M.  Kaess,  “Square  Root  SAM:  Simultaneous  localization  and   mapping  via  square  root  information  smoothing,”  IJRR  2006
  • 160. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Full  Bundle  Adjustment •Graph  grows  with  time:   – Have  to  solve  a  sequence  of  increasingly  larger  BA  problems   – Will  become  too  expensive  even  for  sparse  Cholesky   F.  Dellaert  and  M.  Kaess,  “Square  Root  SAM:  Simultaneous  localization  and   mapping  via  square  root  information  smoothing,”  IJRR  2006 
 From  Strasdat  et  al,  2011  IVC   “Visual  SLAM:  Why  filter?”
  • 161. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Keyframe  Bundle  Adjustment •Drop  subset  of  poses  to  reduce  density/complexity   •Only  retain  “keyframes”  necessary  for  good  map   •Complexity  still  grows  with  time,  just  slower
  • 162. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Filter •Marginalize  out  previous  poses – Extended  Kalman  Filter  (EKF) •Problems  when  used  for  Visual  SLAM:
  • 163. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Filter •Marginalize  out  previous  poses – Extended  Kalman  Filter  (EKF) •Problems  when  used  for  Visual  SLAM: – All  points  become  fully  connected  -­‐  expensive – Relinearization  not  possible  -­‐  inconsistent
  • 164. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Incremental  Solver •Back  to  full  BA  and  keyframes:   •New  information  is  added  to  the  graph   •Older  information  does  not  change   •Can  be  exploited  to  obtain  an  efficient  solution!
  • 165. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Incremental  Smoothing  and  Mapping  (iSAM) Solving  a  growing  system: – R  factor  from  previous  step – How  do  we  add  new  measurements? R [Kaess  et  al.,  TRO  08]
  • 166. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Incremental  Smoothing  and  Mapping  (iSAM) Solving  a  growing  system: – R  factor  from  previous  step – How  do  we  add  new  measurements? Key  idea: – Append  to  existing  matrix  factorization R New  measurements  -­‐ [Kaess  et  al.,  TRO  08]
  • 167. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Incremental  Smoothing  and  Mapping  (iSAM) Solving  a  growing  system: – R  factor  from  previous  step – How  do  we  add  new  measurements? Key  idea: – Append  to  existing  matrix  factorization – “Repair”  using  Givens  rotations R New  measurements  -­‐ [Kaess  et  al.,  TRO  08]
  • 168. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Incremental  Smoothing  and  Mapping  (iSAM) Solving  a  growing  system: – R  factor  from  previous  step – How  do  we  add  new  measurements? Key  idea: – Append  to  existing  matrix  factorization – “Repair”  using  Givens  rotations R R’ New  measurements  -­‐ [Kaess  et  al.,  TRO  08]
  • 169. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Update  and  solution  are  O(1) [Kaess  et  al.,  TRO  08] Incremental  Smoothing  and  Mapping  (iSAM)
  • 170. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Update  and  solution  are  O(1) [Kaess  et  al.,  TRO  08] Incremental  Smoothing  and  Mapping  (iSAM)
  • 171. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Update  and  solution  are  O(1) Are  we  done? BA  is  nonlinear… iSAM  requires  periodic  batch  factorization  to  relinearize Not  O(1),  we  need  iSAM2! [Kaess  et  al.,  TRO  08] Incremental  Smoothing  and  Mapping  (iSAM)
  • 172. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Update  and  solution  are  O(1) Are  we  done? BA  is  nonlinear… iSAM  requires  periodic  batch  factorization  to  relinearize Not  O(1),  we  need  iSAM2! [Kaess  et  al.,  TRO  08] Incremental  Smoothing  and  Mapping  (iSAM)
  • 173. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Fixed-­‐lag  Smoothing •Marginalize  out  all  but  last  n  poses   and  connected  landmarks – Relinearization  possible plus  some  fill-­‐in
  • 174. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Fixed-­‐lag  Smoothing •Marginalize  out  all  but  last  n  poses   and  connected  landmarks – Relinearization  possible •Linear  case Fixed  lag 
 Cut  here  to   marginalize plus  some  fill-­‐in
  • 175. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Fixed-­‐lag  Smoothing •Marginalize  out  all  but  last  n  poses   and  connected  landmarks – Relinearization  possible •Linear  case •Nonlinear:  need  iSAM2 Fixed  lag 
 Cut  here  to   marginalize plus  some  fill-­‐in
  • 176. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Matrix  vs.  Graph Measurement  Jacobian Factor  Graph x0 x1 x2 xM... lNl1 l2 ... ... A
  • 177. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Matrix  vs.  Graph Measurement  Jacobian Factor  Graph Information  Matrix Markov  Random  Field x0 x1 x2 xM... lNl1 l2 ... ... x0 x1 x2 xM... lNl1 l2 ... ... A ATA
  • 178. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial Matrix  vs.  Graph Measurement  Jacobian Factor  Graph Information  Matrix Markov  Random  Field Square  Root  Inf.  Matrix x0 x1 x2 xM... lNl1 l2 ... ... x0 x1 x2 xM... lNl1 l2 ... ... R A ATA ?
  • 179. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  1 [Kaess  et  al.,  IJRR  12]
  • 180. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  2:  Find  cliques  in  reverse  elimination  order: Step  1 [Kaess  et  al.,  IJRR  12]
  • 181. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  2:  Find  cliques  in  reverse  elimination  order: Step  1 [Kaess  et  al.,  IJRR  12]
  • 182. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  2:  Find  cliques  in  reverse  elimination  order: Step  1 [Kaess  et  al.,  IJRR  12]
  • 183. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  2:  Find  cliques  in  reverse  elimination  order: Step  1 [Kaess  et  al.,  IJRR  12]
  • 184. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  2:  Find  cliques  in  reverse  elimination  order: Step  1 [Kaess  et  al.,  IJRR  12]
  • 185. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Data  Structure Step  2:  Find  cliques  in  reverse  elimination  order: Step  1 [Kaess  et  al.,  IJRR  12]
  • 186. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Example Manhattan  dataset  (Olson) [Kaess  et  al.,  IJRR  12]
  • 187. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  Example How  to  update  with  new  measurements  /  add  variables? Manhattan  dataset  (Olson) [Kaess  et  al.,  IJRR  12]
  • 188. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Updating  the  Bayes  Tree Add  new  factor   between  x1  and  x3 [Kaess  et  al.,  IJRR  12]
  • 189. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Updating  the  Bayes  Tree Add  new  factor   between  x1  and  x3 [Kaess  et  al.,  IJRR  12]
  • 190. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Updating  the  Bayes  Tree Add  new  factor   between  x1  and  x3 [Kaess  et  al.,  IJRR  12]
  • 191. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Updating  the  Bayes  Tree Add  new  factor   between  x1  and  x3 [Kaess  et  al.,  IJRR  12]
  • 192. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  for  Manhattan  Sequence [Kaess  et  al.,  IJRR  12]
  • 193. Michael  Kaess‹#› CVPR14:  Visual  SLAM  Tutorial iSAM2:  Bayes  Tree  for  Manhattan  Sequence [Kaess  et  al.,  IJRR  12]
  • 194. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 126 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 195. Primary  Structure • Insight:                and                  are  block-­‐diagonal  (because   each  constraint  depends  only  on  one  camera  and   one  point)   • This  can  be  solved  using  the  Schur  Complement 127 … … Slide  by  Dr.  Jürgen  Sturm,  Computer   Vision  Group,  TUM
  • 196. Schur  Complement   • Given:  Linear  system   • If  D  is  invertible,  then  (using  Gauss  elimination)   • Reduced  complexity?   • A:  not  in  theory!  But  cache-­‐friendly,  repeatable Slide  by  Dr.  Jürgen  Sturm,  Computer   Vision  Group,  TUM
  • 197. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Of Eiffel Towers.... 129
  • 198. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Of Eiffel Towers.... 129
  • 199. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Iterative Methods Better than direct methods for large problems because they Perform only simple operations and no variable elimination Require constant (linear) memory But they may converge slowly when the problem is ill-conditioned The conjugate gradient method: The convergence speed is related to the condition number (AtA) = max / min 13 / 40130Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
  • 200. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Main Idea (with Viorela Ila and Doru Balcan) 0 0.5 1 1.5 2 2.5 x 10 4 0 0.5 1 1.5 2 2.5 x 10 4 nz = 3151 0 0.5 1 1.5 2 2.5 x 10 4 0 0.5 1 1.5 2 2.5 x 10 4 nz = 28624 0 0.5 1 1.5 2 2.5 x 10 4 0 0.5 1 1.5 2 2.5 x 10 4 nz = 25473 The whole problem The easy part (subgraph) The hard part (loop closures) DirectM ethod Iterative M ethod = + 131
  • 201. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Linear Reparametrization is Preconditioning The preconditioned conjugate gradient (PCG) method will converge faster if the new problem becomes well-conditioned 18 / 40132Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
  • 202. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Original, max 133
  • 203. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Original, max 133
  • 204. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Preconditioner 134
  • 205. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Preconditioner 134
  • 206. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Preconditioned, max 135
  • 207. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Preconditioned, max 135
  • 208. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Illustration with Real Data Reconstruction results of a street scene dataset [Agarwal et al. ECCV’10] Solution to a sparse subgraph An approximated solution E cient to compute Solution to the entire graph The optimal solution Expensive to compute directly Use the subgraph solution to reparametrize the original problem 21 / 40136Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Yong-Dian Jian, Doru C. Balcan and Frank Dellaert
 
 Generalized Subgraph Preconditioners for Large-Scale Bundle Adjustment 
 Proceedings of 13th International Conference on Computer Vision (ICCV), Barcelona, 2011
  • 209. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Solution from Subgraph Solution from the Original Graph Data from Noah Snavely Notre Dame 137
  • 210. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Solution from Subgraph Solution from the Original Graph Data from Sameer Agarwal Piazza San Marco 138
  • 211. Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping Results (3) The condition numbers of the preconditioned systems source Original SPCG Jacobi GSP-3 D-15 5.58e+21 1.87e+06 5.94e+04 4.36e+03 V-02 6.54e+21 6.46e+09 6.35e+05 1.38e+05 F-01 3.68e+11 1.92e+08 7.54e+06 8.71e+05 The original condition numbers are very large GSP-3 has consistently smaller condition numbers 39 / 40139Frank Dellaert: Optimization in Factor Graphs for Fast and Scalable 3D Reconstruction and Mapping
  • 212. Frank Dellaert State of the art = Schur Complement + Iterative • Condition number of reduced camera matrix is already much lower • Cluster based on co-visibility of features • Pre-conditioner = tree of clusters • Visibility Based Preconditioning, Kushal Agarwal, CVPR 2012, Experimental in Ceres 140
  • 213. Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End Outline 141 Intro   Visual  SLAM   Bundle  Adjustment   Factor  Graphs   Incremental   Large-­‐Scale   End
  • 214. Three  Questions • What  is  an  exponential  map?   • What  is  a  good  elimination  order  for  BA?   • Which  system  has  a  high  condition  number?
  • 215. SFM/BA  Packages • SBA:  pioneer   • Google  Ceres:  great  at  large-­‐scale  BA   • GTSAM  (Georgia  Tech  Smoothing  and  Mapping)   – Has  iSAM,  iSAM2  (later),  ideal  for  sensor  fusion   – Factor-­‐graph  based  throughout:
  • 216. Lago
Linear  Approximation  for  Graph   Optimization Smart  FactorsMulti-­‐threading NEW  RELEASE:  GTSAM  3.1   Georgia  Tech  Smoothing  And  Mapping Download:  collab.cc.gatech.edu/borg/gtsam Includes  numerous  performance  improvements  and  features:   • Multi-­‐threading  with  TBB  (funded  by  DARPA)   • Smart  Projection  Factors  for  SfM   • LAGO  Initialization  for  planar  SLAM  (Luca  Carlone  et.  al)