slam@nvidia - silvio savarese · we have done kinectfusion-type of processing using softkinetic...

35
SLAM@NVIDIA Kari Pulli| Senior Director of Research

Upload: others

Post on 22-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

SLAM@NVIDIA Kari Pulli| Senior Director of Research

Page 2: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Overview

! Keyframe-based SlAM

!   3D rendering for Augmented Reality

!   Problems with traditional keyframe-based SLAM

!   Solution: Deferred Triangulation SLAM

Page 3: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

KeyFrame-based SLAM

3D Mapping [Bundle Adjustment]

2D Tracking [Optical Flow]

3D Tracking [Pose Estimation]

Stereo Initialization [Triangulation]

Rendering [Overlaying (AR)]

[Scene Reconstruction]

Optical flow

Stereo triangulation

3D Tracking and pose estimation

BA

Incremental mapping and camera pose refinement

Time

Tracking

Mapping

Rendering Rendering objects with the camera poses and geometry (map)

Bundle Adjustment

Adding Keyframes, data association, and recovery

BA BA BA BA

Page 4: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Tracking example

Page 5: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 6: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 7: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 8: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 9: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 10: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 11: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 12: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

DTAM

Page 13: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 14: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

!   We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better

than on Tango

Page 15: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 16: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 17: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 18: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 19: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

How to deal with the rotation?

ISMAR 2013

ISMAR 2012

Page 20: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

This is how

3DV 2014

Page 21: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

How to deal with the rotation?

!   Deferred triangulation

0.5x Speed for visualization

Deferred 2D points

Triangulated 3D points

Page 22: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

How to deal with the rotation?

!   Deferred triangulation

!   Jointly (2D/3D) constrain a pose

0.5x Speed for visualization

Deferred 2D points

Triangulated 3D points

Page 23: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

How to overcome the rotation?

!   Deferred triangulation

!   Jointly (2D/3D) constrain a pose

!   Region merging

Page 24: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Pose estimation

Page 25: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Epipolar segment

Page 26: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Epipolar segment

Page 27: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Pose estimation

Page 28: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Bundle Adjustment

Page 29: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 30: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 31: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Quantitative evaluation

Page 32: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 33: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 34: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How
Page 35: SLAM@NVIDIA - Silvio Savarese · We have done Kinectfusion-type of processing using SoftKinetic range scanners, the quality and framerate of the depth is better than on Tango . How

Summary

! Keyframe-based SLAM is efficient

!   and can run in real time on mobile devices

!   But it has problems

!   A separate initialization phase is annoying

!   Breaking with pure rotations is a critical failure

!   Both can be addressed by

!   tracking first in 2D

!   deferring triangulation until there is enough baseline between the keyframes

!   Bonus: we plan to open source the implementation