CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... ·...

31
CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing Computational Cost Michael Kaess [email protected] The Robotics Institute Carnegie Mellon University

Transcript of CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... ·...

Page 1: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing Computational Cost

Michael Kaess [email protected]

The Robotics Institute

Carnegie Mellon University

Page 2: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 2 CVPR14: Visual SLAM Tutorial

Large-Scale Visual SLAM

Computational cost grows with time Two approaches to reduce cost: • Formulation

– Keyframes – Submaps – Reduced pose graph

• Simplification – Cut old data – Sparsification

Page 3: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 3 CVPR14: Visual SLAM Tutorial

Large-Scale Visual SLAM

Computational cost grows with time Two approaches to reduce cost: • Formulation

– Keyframes – Submaps – Reduced pose graph

• Simplification – Cut old data – Sparsification

Page 4: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 4 CVPR14: Visual SLAM Tutorial

Reduced pose graph

•Key-frame approach •Reuses existing poses •Grows with explored space, not time •Partitions the environment

– Maintains a set of poses that cover all the partitions

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 5: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 5 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph (step n) - Construction

In general, not revisiting exactly same poses

Standard pose graph:

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 6: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 6 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph (step n+1)

In general, not revisiting exactly same poses

Standard pose graph:

New pose is added

Corresponds to a constraint between xi and xj

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 7: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 7 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph (step n+2)

Avoiding inconsistency

Standard pose graph:

Second loop closure to xj to avoid double use of constraint

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 8: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 8 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph (step n+3)

Avoiding inconsistency

Standard pose graph:

Constraint between xi and xj added

Omitting short odometry links

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 9: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 9 CVPR14: Visual SLAM Tutorial

Long-term Visual Mapping

MIT Stata Center Dataset (publicly available) – Duration: 6 months – Operation time: 9 hours – Distance travelled: 11 km (about 7 miles) – VO keyframes: 630K

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 10: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 10 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph – Second Floor

iSAM optimizes reduced pose graph

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 11: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 11 CVPR14: Visual SLAM Tutorial

Comparison of full vs reduced pose graph

• 4 Hours of data • Reduced pose graph

# Poses 1363 Mean error 0.44m

• Full pose graph # Poses 28520 Mean error 0.37m

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 12: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 12 CVPR14: Visual SLAM Tutorial

Timing (approx. 9 hours of mission) [Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 13: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 13 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph – 10 Floors

iSAM optimizes reduced pose graph

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 14: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 14 CVPR14: Visual SLAM Tutorial

Reduced Pose Graph

Map of 10 floors

• Accelerometer used to detect elevator transitions

• iSAM optimizes RPG to achieve real-time

[Johannsson, Kaess, Fallon, Leonard, ICRA 13]

Page 15: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 15 CVPR14: Visual SLAM Tutorial

Large-Scale Visual SLAM

Computational cost grows with time Two approaches to reduce cost: • Formulation

– Keyframes – Submaps – Reduced pose graph

• Simplification – Cut old data – Sparsification

Page 16: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 16 CVPR14: Visual SLAM Tutorial

Sparsification: Factor Graph Node Removal

•Control complexity of performing inference in graph – Long-term multi-session SLAM – Reduces the size of graph – Storage and transmission

•Graph maintenance – Forgetting old views

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 17: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 17 CVPR14: Visual SLAM Tutorial

Sparsification: Factor Graph Node Removal

Original Graph

Dense Node Removal (Marginalization) Sparse-Approximate Node Removal

Remove node from graph marginalize variable from distribution

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 18: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 18 CVPR14: Visual SLAM Tutorial

Generic Linear Constraint Node Removal slide by Nick Carlevaris-Bianco and Ryan Eustice

ICRA 2014

Page 19: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 19 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Chow-Liu Tree minimizes KLD

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 20: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 20 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Chow-Liu Tree minimizes KLD

• Often results in a slightly overconfident estimate

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 21: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 21 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Why care about overconfident estimates? – Overconfidence in pose or obstacle location unsafe paths – Overconfidence in pose or landmark location failed data association

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 22: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 22 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Propose method to ensure conservative approximation • Start with CLT which minimizes the KLD and then numerically

adjust it to produce a conservative estimate

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 23: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 23 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Constrained convex optimization problem • Minimize the KLD

• Subject to conservative constraint (difference is PSD)

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 24: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 24 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Constrained convex optimization problem • Minimize the KLD

• Subject to conservative constraint (difference is PSD)

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 25: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 25 CVPR14: Visual SLAM Tutorial

Sparse Approximate GLC: Ensuring Conservative Approximations

• Start with the Chow-Liu Tree

• Consider three methods – Covariance Intersection

– Weighted Factors

– Weighted Eigenvalues

• Convex semidefinite programs

Accuracy

Com

puta

tion

Cost

CLT CI WF

WEV

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 26: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 26 CVPR14: Visual SLAM Tutorial

Chow-Liu Tree Approximation

•All proposed methods start with the CLT

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 27: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 27 CVPR14: Visual SLAM Tutorial

Covariance Intersection [Julier and Uhlmann, 1997]

•Convex combination of correlated factors

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 28: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 28 CVPR14: Visual SLAM Tutorial

Weighted Factors

•Replace constraint that weights sum to one

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 29: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 29 CVPR14: Visual SLAM Tutorial

Weighted Eigenvalues

•Modify each eigenvalue of each factor

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014

Page 30: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 30 CVPR14: Visual SLAM Tutorial

Conservative GLC: Experimental Results slide by Nick Carlevaris-Bianco and Ryan Eustice

ICRA 2014

Page 31: CVPR 2014 Tutorial on Visual SLAM Large Scale – Reducing ...kaess/vslam_cvpr14/media/VSLAM... · Reduced Pose Graph (step n+1) In general, not revisiting exactly same poses . Standard

Michael Kaess 31 CVPR14: Visual SLAM Tutorial

Conservative GLC: Experimental Results

• Remove percentage of evenly spaced nodes from each graph

• CI very conservative • WF and WEV approach

performance of CLT – for most graphs

• Room improvement for Intel

– Higher density of connectivity

– All factor same strength

slide by Nick Carlevaris-Bianco and Ryan Eustice ICRA 2014