Variable reordering strategies for SLAM

24
Pratik Agarwal and Edwin Olson University of Freiburg and University of Michigan Variable reordering strategies for SLAM

description

Variable reordering strategies for SLAM. Pratik Agarwal and Edwin Olson University of Freiburg and University of Michigan. Graph based SLAM. Linearized system of constraints . Bad ordering. 24 times more zeros. Good ordering. Graph based SLAM . Linearized system of constraints . - PowerPoint PPT Presentation

Transcript of Variable reordering strategies for SLAM

Page 1: Variable reordering strategies for SLAM

Pratik Agarwal and Edwin Olson

University of Freiburg and University of Michigan

Variable reordering strategies for SLAM

Page 2: Variable reordering strategies for SLAM

Graph based SLAM Linearized system of constraints

Good

orde

ring

Bad

orde

ring

24 times more zeros

Page 3: Variable reordering strategies for SLAM

Graph based SLAM Linearized system of constraints

Reorder

Page 4: Variable reordering strategies for SLAM

Reordering

..𝑥+.. 𝑦+.. 𝑧=. .𝑥 = =Reordering the variables

𝑥

Page 5: Variable reordering strategies for SLAM

Reordering is essential for SLAMBad ordering

10sGood ordering

0.1s

Good ordering100 times faster

Page 6: Variable reordering strategies for SLAM

Contribution

Find best state-of-art method A simple easy alternative

All methods compute identical

Page 7: Variable reordering strategies for SLAM

Exact minimum degree (EMD) Remove node with min edges Connect neighbors

Page 8: Variable reordering strategies for SLAM

Our method: bucket heap AMD

Advantage over EMD: Single query - multiple vertex elimination

How? Lists of vertices with similar #edges

Page 9: Variable reordering strategies for SLAM

BHAMD in action

Page 10: Variable reordering strategies for SLAM

BHAMD in action

Page 11: Variable reordering strategies for SLAM

BHAMD in action

Page 12: Variable reordering strategies for SLAM

BHAMD in action

Multiple vertices eliminated

Page 13: Variable reordering strategies for SLAM

BHAMD on a 10,000 node graph

EMD - 10,000 steps BHAMD - 107 steps Max heap size in BHAMD 42

Page 14: Variable reordering strategies for SLAM

State-of-the-art techniques

AMD Approximate Minimum Degree

COLAMD Column Approximate Minimum Degree

NESDIS Nested Dissection

METIS Serial Graph Partition

Page 15: Variable reordering strategies for SLAM

Evaluation – reordering time

EMD is slowest

Page 16: Variable reordering strategies for SLAM

Evaluation – solve time

COLAMD on is slowest

Page 17: Variable reordering strategies for SLAM

Further room for improvement?Ideally consider all possible orderings

1000 nodes orderings

Instead Local changes in existing orderings

maximum improvement of 0.5% (with 1 week compute time)

Page 18: Variable reordering strategies for SLAM

Conclusion

1. All methods comparable EMD & COLAMD on A

2. BHAMD - simple yet competitive

3. Negligible improvement with small changes

Page 19: Variable reordering strategies for SLAM

Questions

Page 20: Variable reordering strategies for SLAM

Reordering matrix - P

is easy, since

Computing the best reordering matrix P is NP hard

Heuristics work quite well

Page 21: Variable reordering strategies for SLAM

Toy example

Goodordering

Badordering

Page 22: Variable reordering strategies for SLAM

Multiple Min Degree (MMD) vs BHAMD

Similaritymultiple elimination

DifferenceMMD computes and eliminates independent nodes MMD is still exact unlike BHAMD

Page 23: Variable reordering strategies for SLAM

But I use CSparse with COLAMD

It calls AMD if the matrix is PSD Be careful when opening the box

Page 24: Variable reordering strategies for SLAM

Graph based SLAM Linearized system of constraints

Good

orde

ring

Bad

orde

ring

24 times sparser