Diapositive 1 - Julien Michot

Background. • Bi-objective .... Select the weighting factor with the higher curvature: near ... Estimate an efficient weighting factor (Cross Validation, L-Curve, …) ...
5MB taille 1 téléchargements 273 vues
Bi-objective Bundle Adjustment with Application to Multi-Sensor SLAM

Julien Michot Adrien Bartoli François Gaspard

Contact: [email protected]

2



Context

Objective  Real-time 3D localization in unknown environment (SLAM).



Monocular SLAM  Localization & reconstruction with only one camera  Localization up to a similarity

 Main problems: drifts!  on the trajectory (position/orientation)  on the scale factor





Solutions?  External data!  Inertial (gyroscope, IMU,...),  INS, GPS, Odometers,  Laser range finder, GIS, CAD models, …

Approach

- Purple: Ground truth - Green: Monocular SLAM

 Incorporate complementary data into an Incremental Structure-from-Motion SLAM ...directly in the optimization process (Bundle Adjustment) Julien Michot - 3DPVT - 05/18/2010

3

Presentation Outline



Background



Bi-objective Bundle Adjustment  Weighted Bundle Adjustment  Automatic Weight Selection



Application to Multi-sensor SLAM



Experimental Results on Multi-sensor SLAM  Hand-held camera application  Vehicle application



Conclusion

Julien Michot - 3DPVT - 05/18/2010

4

Background

Julien Michot - 3DPVT - 05/18/2010

5

Background •

Incremental Structure-from-Motion SLAM[Mouragnon06, Engles06, Klein07]  Aim: real-time reconstruction & localization

 Tracking    

Features detection (salient corners) Features description (surf,...) Features matching Camera localization (linear/nonlinear) Keyframe selection

 Mapping

 3D reconstruction of points Bundle Adjustment

Julien Michot - 3DPVT - 05/18/2010

6

Background •

Bundle Adjustment[Triggs99]  Optimize camera poses and scene reconstruction.  Based on a MAP estimator + Gaussian probability functions → NLLS.

Julien Michot - 3DPVT - 05/18/2010

7

Background •

Bundle Adjustment[Triggs99]  Optimize camera poses and scene reconstruction.  Based on a MAP estimator + Gaussian probability functions → NLLS.  Reprojection error:

with

 Global Bundle Adjustment

...with Levenberg-Marquardt. Julien Michot - 3DPVT - 05/18/2010

8

Bi-objective Bundle Adjustment

Julien Michot - 3DPVT - 05/18/2010

9

Bi-objective Bundle Adjustment •

Objective  Integrates external data directly in the BA.



How?  Constraints each pose  Camera position constraints

 Camera orientation constraints

 Trajectory scale factor constraint

 ...

 New BA cost function:

 Select a “good” weighting factor...  When variances are unknown/untrusted... Julien Michot - 3DPVT - 05/18/2010

10

Bi-objective Bundle Adjustment •

Selecting an efficient weighting factor? Incremental approach: one by one. Aim: Choose a weight that minimizes both objectives → bi-objective optimization.

Julien Michot - 3DPVT - 05/18/2010

11

Bi-objective Bundle Adjustment •

Selecting an efficient weighting factor? Incremental approach: one by one. Aim: Choose a weight that minimizes both objectives → bi-objective optimization.

Julien Michot - 3DPVT - 05/18/2010

12

Bi-objective Bundle Adjustment •

Selecting an efficient weighting factor? Incremental approach: one by one. Aim: Choose a weight that minimizes both objectives → bi-objective optimization.



We propose two methods:  Machine learning  Criterion Julien Michot - 3DPVT - 05/18/2010

13

Methods for selecting the weighting factor

Julien Michot - 3DPVT - 05/18/2010

14

Bi-objective Bundle Adjustment •

Selecting an efficient weighting factor?  Learning method: Cross Validation (leave-one-out) A good λ should predict well missing observations.

Observations set

Learning set

Test set

Find: Julien Michot - 3DPVT - 05/18/2010

15

Bi-objective Bundle Adjustment •

Selecting an efficient weighting factor?  Criteria-based selection: L-Curve [Hansen01]  Initially for regularization problems  Principle: solve L NLLS with different value of λ l=1..L,

 Log-log plot of the trade-off of each objective (Pareto frontier):

(reprojections)

(sensor constraint)

 Select the weighting factor with the higher curvature: near the corner.

with ' and '' first & second derivatives wrt λ.

Julien Michot - 3DPVT - 05/18/2010

16

Application to a Real-time Multi-sensor SLAM

Julien Michot - 3DPVT - 05/18/2010

17

Application to Multi-sensor SLAM •

Overview  Sensors  Calibrated pinhole camera  One additional sensor (ex: gyroscope)

 Incremental Approach  Each new keyframe is constrained with  an independent weighting factor



Building a constraint  Predict the system pose (at the time of the keyframe)  Previous measurements (buffer)  Motion model (asynchronous measurements)

 Choose a constraint  Absolute or relative  On the position, orientation, ...



When should we compute the lambda?  In the LBA?  Too long (multiple LBA: >seconds)

 In a simplest problem 

During the pose refinement (tracking) Julien Michot - 3DPVT - 05/18/2010

18

Application to Multi-sensor SLAM •

Selecting the weighting factor  Solve L NLLS problems! → need to be real-time!  Estimate the weighting factor in a reduced BA: the camera refinement.

 Pose refinement  Optimize only 6 parameters (position&orientation of the camera)

 Bi-objective pose refinement  1. Add the constraint to the cost function

(reprojections)

(unknown weight) (constraint)

 2. Estimate an efficient weighting factor (Cross Validation, L-Curve, …) for this sub-problem  3. Finally, optimize the camera pose with the selected weighting factor. → More stable: the scene is fixed (less local minima)

Julien Michot - 3DPVT - 05/18/2010

19

Application to Multi-sensor SLAM •

Local Bundle Adjustment  Optimize only recent camera poses and parts of the scene reconstruction.

 Local Bundle Adjustment[Mouragnon06]  Cost function (reprojections)

 Constrained Local Bundle Adjustment  Add the constraint on every optimized camera poses with the selected weighting factor.

(reprojections)

(weighting factor) (constraints)

Julien Michot - 3DPVT - 05/18/2010

20

Application to Multi-sensor SLAM •

Constrained Structure-from-Motion SLAM  Tracking Features detection (salient corners) Features description (surf,...) Features matching Camera localization (linear/nonlinear) Keyframe selection  Build the constraint  Learn the weighting factor    

 Mapping

 3D reconstruction of points Constrained Bundle Adjustment

Julien Michot - 3DPVT - 05/18/2010

21

Experimental Results

Julien Michot - 3DPVT - 05/18/2010

22

Experimental Results on Multi-sensor SLAM •

Hand-held camera localization  Visual SLAM with an IMU

Trajectory: indoor, 8m Ground truth: 3D laser tracker system Constraint: relative rotations Mean 3D RMS with GT - Visual SLAM only: - Visual+IMU SLAM with - Visual+IMU SLAM with - Visual+IMU SLAM with - Visual+IMU SLAM with

EKF: L-Curve: Cross Validation: LTN:

3.15cm 3.17cm 2.99cm 3.11cm 3.01cm

- Purple: Ground truth - Red: Visual + IMU SLAM and L-Curve

Julien Michot - 3DPVT - 05/18/2010

23

Experimental Results on Multi-sensor SLAM •

Vehicle localization  Visual SLAM with an odometer Trajectory: outdoor, 400m Ground truth: INS+GPS RTK (cm) Constraint: scale factor Mean 3D RMS with GT - Visual SLAM only: - Visual+odometer SLAM with L-Curve: 1.79m - Visual+odometer SLAM with Cross Validation: - Visual+odometer SLAM with LTN:

3.67m 2.39m 3.27m

- Purple: Ground truth - Yellow: Visual SLAM only - Red: Visual with an odometer SLAM and L-Curve

Julien Michot - 3DPVT - 05/18/2010

24

Experimental Results + Future Work •

Vehicle localization on long distances  Visual SLAM with an odometer Trajectory: outdoor, ~4km Ground truth: INS+GPS RTK (cm) Constraint: scale factor - Purple: Ground truth - Green: Visual SLAM only - Red: Visual with an odometer SLAM and L-Curve

The scale factor drift is reduced but: - the orientation drift is always here We also need a constraint on the orientation.

- a small drift on the scale factor remains Absolute data are needed for long distance visual based localization.

Julien Michot - 3DPVT - 05/18/2010

25

Conclusion •

We've presented  A bi-objective bundle adjustment  Bi-objective: no priors on the variance of the measurements/parameters  A way to add constraints in BA with automatic weighting factor selection

 Two methods that estimates the weighting factor  a learning method (Leave-one-out Cross Validation)  a criterion (L-Curve, variants)

 Application: two multi-sensor real-time SLAM  Monocular + IMU SLAM  Monocular + odometer SLAM



Future work  Integrate absolute data such as GPS  Extend the method to multiple constraints (multiple weights)

Julien Michot - 3DPVT - 05/18/2010

26

Thank you

Julien Michot - 3DPVT - 05/18/2010