how to achieve real-time 3d mapping? · outlier lte r t ran s. ch e ck e r e rro r m in . d a ta...

99
HOW TO ACHIEVE REAL-TIME 3D MAPPING? SSRR 2013 - Rescue Robotics Camp François Pomerleau - October 21, 2013 - Linköping, Sweden

Upload: others

Post on 27-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

HOW TO ACHIEVE REAL-TIME 3D MAPPING?

SSRR 2013 - Rescue Robotics Camp

François Pomerleau - October 21, 2013 - Linköping, Sweden

Page 2: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AFTERNOON PLANNING

45 min - Lecture

15 min - Break

15 min - Introduction to some 3D tools

45 min - Exercises

15 min - Break

X min - Exercises or Integration on the robots

Page 3: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

WHO AM I?

build with a Kinect and libpointmatcher

Page 4: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

WHO ARE YOU?

• I’m doing research on 3D mapping

• I need 3D mapping for my research

• Generally dealing with Search & Rescue applications

• No idea why I’m here

Page 5: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

WHO ARE YOU?

• I’m doing research on 3D mapping

• I need 3D mapping for my research

• Generally dealing with Search & Rescue applications

• No idea why I’m here

Page 6: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REAL-TIME

Page 7: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

OUTLINE

• Registration algorithms in the context of SLAM

• Iterative Closest Point and its variants

• Solution influences and selection

Page 8: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SLAM FRAMEWORK

Main steps:

• Prediction

• Measurement

• Update

______________________________________Further reading:[1] H. Durrant-Whyte and T. Bailey, “Simultaneous localization and mapping: part I,” IEEE Robot. Automat. Mag., vol. 13, no. 2, pp. 99–110, 2006.[2] T. Bailey and H. Durrant-Whyte, “Simultaneous localization and mapping (SLAM): part II,” IEEE Robot. Automat. Mag., vol. 13, no. 3, pp. 108–

117, 2006.

Page 9: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SLAM FRAMEWORK

Key challenges:

• State estimation / state fusion

• Map representations

• Loop detection / alignment error recovery

• Data management

Page 10: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SLAM FRAMEWORK

Key challenges:

• State estimation / state fusion

• Map representations

• Loop detection / alignment error recovery

• Data management

Registration

Page 11: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Two main types of registration used in robotics:

• photometric: energy reflection (regular images), energy emission (thermal images)

• geometric: position, surface, volume, etc.

REGISTRATION

Page 12: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Photometric Geometric

Pros• Low cost/weight/energy sensors;• Rich textures;• Larger volume of publications on

state estimations;

• Direct depth measurements;• Robust to environment changes;• Larger volume of publications

on map representations;

Page 13: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Photometric Geometric

Pros• Low cost/weight/energy sensors;• Rich textures;• Larger volume of publications on

state estimations;

• Direct depth measurements;• Robust to environment changes;• Larger volume of publications

on map representations;

Cons • No depth;• Dependent on external light source;

• Heavy/expensive sensors;• Systematic noise;

Page 14: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Photometric Geometric

Pros• Low cost/weight/energy sensors;• Rich textures;• Larger volume of publications on

state estimations;

• Direct depth measurements;• Robust to environment changes;• Larger volume of publications

on map representations;

Cons • No depth;• Dependent on external light source;

• Heavy/expensive sensors;• Systematic noise;

Which on is the best?

Page 15: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Photometric Geometric

Pros• Low cost/weight/energy sensors;• Rich textures;• Larger volume of publications on

state estimations;

• Direct depth measurements;• Robust to environment changes;• Larger volume of publications

on map representations;

Cons • No depth, scale ambiguity;• Dependent on external light source;

• Heavy/expensive sensors;• Systematic noise;

Which on is the best?

Page 16: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Textures:

Page 17: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Textures:

Page 18: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION

Textures:

Page 19: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATIONSLAM

PhotometricGeometric

Iterative Global

Map representation

State estimationLoop closure Data storage

Sequential registration

Page 20: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION (ICP)

Geometric

Iterative Global

RoboticsMedical Imagery

Computer Vision

Chen and Medioni [1992]

Besl and McKay [1992]Champleboux et al. [1992]Zhang [1994]

Page 21: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REGISTRATION (ICP)

Scopus

IEEE

Page 22: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

ICP - TOY EXAMPLE IN 2D

Page 23: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 24: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 25: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 26: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 27: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 28: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 29: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 30: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 31: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

[T Ω

]

ICP - TOY EXAMPLE IN 2D

Page 32: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 33: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

Page 34: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

1. Preprocessing2. Matching3. Rejection4. Error5. Minimization

ICP - TOY EXAMPLE IN 2D

End

con

ditio

ns

Page 35: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Reading Reference

ICP - EXAMPLE IN 3D

Page 36: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Reading Reference

ICP - EXAMPLE IN 3DError

Page 37: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Reading Reference

ICP - EXAMPLE IN 3DError

Page 38: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Reading Reference

ICP - EXAMPLE IN 3DError

Page 39: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Reading Reference

ICP - EXAMPLE IN 3DError

Page 40: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

ICP - EXAMPLE IN 3D (PIPE)

Page 41: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

OVERVIEW

• Sensors

• Data filters

• Matching function

• Robust regression

• Minimization

• Convergence detection

Match

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

SensorSensor

Page 42: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Outlier filter

Trans. checker

Error min.

Dataa fifillteerr Data filter

DDaata filter Data filter

SensorSensor

SENSORSCharacteristics:

• Power consumption• Field of view• Accuracy/repeatability

• Min/max distance• Frequency• Weight

• Volume• Type of detection• Wave lenght

• Etc.

Page 43: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Page 44: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Airborne Survey

Page 45: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Terrestrial Survey

Page 46: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

SafetyRobotics

Entertainment

Page 47: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Industrial Inspection

Page 48: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Page 49: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Page 50: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

AVAILABLE SENSORS

Page 51: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SENSORS

• Laser beam width

• Depth measurement

• Types of surface

Uncertainty:

• Mixed pixels

• Point cloud density

• Sensor position

Impact on registration:

Page 52: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SENSOR UNCERTAINTY

LMS-151: 0.83 deg UTM-30LX: 0.13 deg URG-04LX: 0.14 deg

Page 53: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SHADOW POINT (MIXED PIXEL)

Laser

Page 54: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SHADOW POINT (MIXED PIXEL)

Top view of a staircase

Page 55: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

• More mixed pixels (shadow points)

• More safety (with overlap between beams)

Impact of large beam radius:

SENSOR BEAM

Page 56: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

UTM-30LXURG-04LX

TYPES OF SURFACE

Kinect

Aluminum tube

Page 57: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

POINT CLOUD DENSITY

Page 58: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

SensorSensor

Match

Outlier filter

Trans. checker

Error min.

SSeennssoorrSenssoor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

DATA FILTERS

Main goals:

• Filter noise

• Reduce redundant information

• Augment discrepancy of points

Page 59: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

SensorSensor

Match

Outlier filter

Trans. checker

Error min.

SSeennssoorrSenssoor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

DATA FILTERS

Dim

ensio

n K

Number of points N

Page 60: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

SensorSensor

Match

Outlier filter

Trans. checker

Error min.

SSeennssoorrSenssoor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

DATA FILTERS

Main goals:

• Filter noise (reduce N)

• Reduce redundant information (reduce N)

• Augment discrepancy of points (augment K)

Page 61: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

SensorSensor

Match

Outlier filter

Trans. checker

Error min.

SSeennssoorrSenssoor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

DATA FILTERSExamples:

• Point reduction

• Sensor noise weight

• Surface extraction

Page 62: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Fixed-step subsampling• Very fast• May generate artifact

Random subsampling• Fast• More control on reduction factor

Density• Slow (needs a kD-tree)• Reduce minimization local minima

Geometric sampling [Gelfand et al. 2003]• Very slow• Reduce more minimization local minima

POINT REDUCTION

Page 63: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

POINT REDUCTION

0 0.2 0.4 0.6 0.8 170

80

90

100

110

120IC

P P

erfo

rman

ce

0 0.2 0.4 0.6 0.8 10

15

30

45

60

75

90

Tim

e (m

s)

Ratio of points kept

N = 40,230Random subsampling

Page 64: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

Page 65: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

Page 66: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

1. Define neighborhood

Page 67: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

1. Define neighborhood2. Subtract “center”

Page 68: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

1. Define neighborhood2. Subtract “center”3. Eigen value decomposition

Page 69: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

1. Define neighborhood2. Subtract “center”3. Eigen value decomposition4. Select the Eigenvector

associated with the smallest Eigenvalue

Page 70: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONFor each point:

1. Define neighborhood2. Subtract “center”3. Eigen value decomposition4. Select the Eigenvector

associated with the smallest Eigenvalue

Bonus• Reorient the vector

Laser

Page 71: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SURFACE EXTRACTIONImpact of the environment...

Page 72: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

Error min.

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Outlier filter

Trans. checker

Error min.

SSeennssoorrSenssoor

Dataa fifillteerr Data filter

DDaata filter Data filter

Match

MATCHING

Main goal:

• Augment robustness to misalignment

Page 73: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match direction:• From reading to reference• From reference to reading• Both direction

MATCHING

Page 74: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match direction:• From reading to reference• From reference to reading• Both direction

Number of matches• one to one (typical)• one to many (slower but more robust)

MATCHING

Page 75: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Match direction:• From reading to reference• From reference to reading• Both direction

Number of matches• one to one (typical)• one to many (slower but more robust)

Metric• Euclidian distance on points• Euclidian distance on points and descriptors• Euclidian distance on descriptors• Mahalanobis distance• Probabilistic distance (entropy)• Others

MATCHINGkD

-tre

e

Page 76: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Trans. checker

Itera

tions

Trans. checkerTrans. checker

Error min.

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Trans. checker

Error min.

SSeennssoorrSenssoor

Dataa fifillteerr Data filter

DDaata filter Data filter

Match

Outlier filterOutlier filterOutlier filter

ROBUST REGRESSION

Main goal:

• Augment robustness to overlap

• Augment robustness to noise

• Augment robustness to dynamic elements

Page 77: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

50%

ROBUST REGRESSION

Page 78: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

ROBUST REGRESSION

Why mean least-squared is sensible to outlier?

Page 79: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

ROBUST REGRESSION

Why mean least-squared is sensible to outlier?

Page 80: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

ROBUST REGRESSION

Why mean least-squared is sensible to outlier?

Page 81: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

ROBUST REGRESSION

Why mean least-squared is sensible to outlier?

Hard Soft Mixed

Wei

ght

Wei

ght

Wei

ght

Page 82: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REJECTION

• Fix• Zhang (Zhang 94)

• Mean (Druon 06)

• Median (Diebel 04)

• Trimmed (Chetverikov 02)

Page 83: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

• Fix• Zhang• Mean• Median• Trimmed

REJECTION

Assume unimodal distribution

0 0.1 0.2 0.3 0.4 0.5 0.6 0.70

10

20

30

40

50

60

70

80

Error on translation0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

1.5

X

Y

Page 84: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

• Fix• Zhang• Mean• Median• Trimmed

REJECTION

Assume few variation in overlapping ratio

0 0.5 1 1.5 2 2.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

X

Y

0 0.5 1 1.5 2 2.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

X

Y

72%80%

Page 85: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REJECTION

• Fix• Zhang• Mean• Median• Trimmed

Require sorting

Page 86: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

REJECTION

• Fix• Zhang• Mean• Median• Trimmed

• Probabilistic (Feldmar 96) (Phillips 07)

• RANSAC (Arun 87)

Page 87: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Outlier filter

Trans. checker

SSeennssoorrSenssoor

Dataa fifillteerr Data filter

DDaata filter Data filter

Match

Error min.

MINIMIZATION

Main goal:

• Rapid convergence

• Well constrained

Page 88: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Trans. checker

Outlier filter

Itera

tions

Outlier filterOutlier filter

Trans. checkerTrans. checker

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Outlier filter

Trans. checker

SSeennssoorrSenssoor

Dataa fifillteerr Data filter

DDaata filter Data filter

Match

Error min.

MINIMIZATION

Error metrics:

• Point-to-point

• Point-to-plane

• and many more...

Page 89: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Besl and McKay [1992]

Horn [1987]Walker et al. [1991] Arun et al. [1987]

N∑

i=0

∥∥T̂ ∗ pi − qi

∥∥2

MINIMIZATIONPoint-to-point

Page 90: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Besl and McKay [1992]

Horn [1987]Walker et al. [1991] Arun et al. [1987]

Chen and Medioni [1992]

N∑

i=0

∥∥T̂ ∗ pi − qi

∥∥2

N∑

i=0

∥∥T̂ ∗ (pi − qi) · ni

∥∥2

MINIMIZATIONPoint-to-point

Point-to-plane

Page 91: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

MINIMIZATION

Sliding situation

Page 92: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

MINIMIZATION

Point-to-point

Page 93: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

MINIMIZATION

Point-to-plane

Page 94: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Outlier filter

Itera

tions

Outlier filterOutlier filter

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Error min.

Outlier filter

SSeennssoorrSenssoor

Dataa fifillteerr Data filter

DDaata filter Data filter

Match

Error min.

Trans. checkerTrans. checkerTrans. checker

CONVERGENCE DETECTION

Main goal:

• Iteration early out

Page 95: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Maximum number of iterations• Blind

Absolute motion• Limit based on expected sensor noise• Detect divergence• Deals with rotation and translation separately

Motion difference between iterations• Detect convergence up to wanted noise• Deals with rotation and translation separately

CONVERGENCE DETECTION

Page 96: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Outlier filter

Itera

tions

Outlier filterOutlier filter

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Error min.

Trans. checkerTrans. checkerTrans. checker

SUMMARY

Speed

Accuracy

vs

Page 97: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Outlier filter

Itera

tions

Outlier filterOutlier filter

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Error min.

Trans. checkerTrans. checkerTrans. checker

SUMMARY

Augment speed

Reduce nb. points as soon as possible

Relax targeted values

Point-to-plane take less iterations

Approximative search (kd-tree)

Compute only the minimum

-

Page 98: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

Outlier filter

Itera

tions

Outlier filterOutlier filter

SensorSensor

Data filterData filterData filterData filterData filterData filter

Data filterData filterData filterData filterData filterData filter

Match

Error min.

Trans. checkerTrans. checkerTrans. checker

SUMMARY

Augment accuracy

Keep more points

Add more iterations

Verify that normal vectors are well extracted

Augment the number of matches

Adjust your expected overlap

Page 99: HOW TO ACHIEVE REAL-TIME 3D MAPPING? · Outlier lte r T ran s. ch e ck e r E rro r m in . D a ta lte r D a ta lte r D a ta lter D a ta lte r Sensor Sensor SENSORS Characteristics:

SUMMARY

type of structures selected path

velocity of the robot uncertainty in between reg. self occlusion

refresh rate of the sensor sensor noise points distributions sensor field of view

Environment

Mobile agent

Sensing modality