parallel tracking and mapping for small ar workspaces parallel tracking and mapping for small ar...

35
Parallel Tracking and Mapping for Parallel Tracking and Mapping for Small AR Workspaces Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik Computer Vision Lab.

Upload: gary-wiggins

Post on 17-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Parallel Tracking and Mapping Parallel Tracking and Mapping for Small AR Workspacesfor Small AR Workspaces

Vision Seminar

2008. 9. 4 (Thu)

Young Ki BaikComputer Vision Lab.

Page 2: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

References

Parallel Tracking and Mapping for Small AR Parallel Tracking and Mapping for Small AR WorkspacesWorkspacesGeorg Klein, David Murray, ISMAR 2007

Visual OdometryVisual OdometryDavid Nister et. al. , CVPR 2004

Page 3: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Outline

What is AR?What is AR? Previous worksPrevious works Proposed methodsProposed methods DemoDemo ConclusionConclusion

Page 4: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

What is AR?

AR : Augment Reality ugument reality(AR) uses the real scene as the background, and makes applications with putting 3D objects to the background. Since the cost of augment reality is not as expensive as full 3D

virtual reality(VR), AR has been very popular research topic.

Full 3D? (O) Expensive? (O)

Full 3D (X)Expensive? (X)

A

Page 5: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Demonstration

Page 6: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

The Aim

AR with a hand-held camera

Visual Tracking provides registration

Page 7: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

The Aim

AR with a hand-held camera

Visual Tracking provides registration

Track without prior model of world

Page 8: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

The Aim

AR with a hand-held camera

Visual Tracking provides registration

Track without prior model of world

ChallengesSpeedAccuracyRobustness Interaction with real world

Page 9: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Existing attempts : SLAM

SLAM : Simultaneous Localization and Mapping can use many different types of sensor to acquire observation

data used in building the map such as laser rangefinders, sonar sensors and cameras.

Well-established in robotics (using a rich array of sensors)

Demonstrated with a single hand-held camera by Davison at 2003 (Mono-SLAM).

Mono-SLAM was applied to AR system at 2004.

Page 10: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Existing attempts : Model based tracking

Model-based tracking isMore robustMore accurateProposed by Lepetit et. al. at ISMAR 2003

Page 11: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Frame by Frame SLAM

Why? is SLAM fundamentally harder?

Time

One frame

Find features

Draw graphics

Update camera pose and entire map

Many DOF

Page 12: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Frame by Frame SLAM

SLAMUpdating entire map every frame is so expensive!!!Needs “sparse map of high-quality features” - A. Davison

Proposed approachUse dense map (of low quality features)Don’t update the map every frame : KeyframesSplit the tracking and mapping into two

threads

Page 13: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Parallel Tracking and Mapping

Proposed method- Split the tracking and mapping into two threads

Time

One frame

Find features

Draw graphics

Update camera pose only Simple & easy

Thread #2Mapping

Thread #1Tracking

Update map

Page 14: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Parallel Tracking and Mapping

Tracking thread:

• Responsible estimation of camera pose and rendering augmented graphics

• Must run at 30 Hz

• Make as robust and accurate as possible

Mapping thread:

• Responsible for providing the map

• Can take lots of time per key frame

• Make as rich and accurate as possible

Page 15: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Tracking thread

Overall flow

Pre-process framePre-process frame

Project pointsProject points

Measure pointsMeasure points

Update Camera Pose

Update Camera Pose

Project pointsProject points

Measure pointsMeasure points

Update Camera Pose

Update Camera Pose

Draw GraphicsDraw Graphics

Coarse stage Fine stage

MapMap

Page 16: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Pre-process frame

Make for pyramid levels

640x480 320x240 160x120 80x60

Page 17: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Pre-process frame

Make for pyramid levels

Detect Fast cornersE. Rosten et al (ECCV 2006)

640x480 320x240 160x120 80x60

Page 18: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Project Points

Use motion model to update camera poseConstant velocity model

Vt =(Pt – Pt-1)/∇t

Estimated current Pt+1

Previous pos Pt

Previous pos Pt-1

Pt+1=Pt+∇t’(Vt)

∇t

∇t’

Page 19: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Project Points

Choose subset to measure~ 50 biggest features for coarse stage1000 randomly selected for fine stage

640x480 320x240 160x120 80x60

~50~5010001000

Page 20: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Measure Points

Generate 8x8 matching template (warped from source key-frame:map)

Search a fixed radius around projected positionUse Zero-mean SSDOnly search at Fast corner points

Page 21: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Update caemra pose

6-DOF problemObtain by SFM (Three-point algorithm)

?

Page 22: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Dray graphics

What can we draw in an unknown scene?Assume single plane visible at startRun VR simulation on the plane

Page 23: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Mapping thread

Overall flow

Stereo InitializationStereo Initialization

Wait for new key frameWait for new key frame

Add new map pointsAdd new map points

Optimize mapOptimize map

Map maintenanceMap maintenance

TrackerTracker

Page 24: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Stereo Initialization

Use five-point-pose algorithm D. Nister et. al. 2006

Requires a pair of frames and feature correspondences

Provides initial map

User input required:Two clicks for two key-framesSmooth motion for feature correspondence

Page 25: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Wait for new key frame

Key frames are only added if :There is a sufficient baseline to the other key frameTracking quality is goodKey frame (4 level pyramid images and its corners)

When a key frame is added :The mapping thread stops whatever it is doingAll points in the map are measured in the key frameNew map points are found and added to the map

Page 26: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Add new map points

Want as many map points as possible

Check all maximal FAST corners in the key frame :Check scoreCheck if already in map

Epipolar search in a neighboring key frame

Triangulate matches and add to map

Repeat in four image pyramid levels

Page 27: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Optimize map

Use batch SFM method: Bundle Adjustment

Adjusts map point positions and key frame poses

Minimize reprojection error of all points in all keyframes (or use only last N key frames)

Page 28: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Map maintenance

When camera is not exploring, mapping thread has idle time

Data association in bundle adjustment is reversible

Re-attempt outlier measurements

Try measure new map features in all old key Try measure new map features in all old key frames frames

Page 29: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Comparison to EKF-SLAM

More Accurate More robust Faster tracking

<SLAM based AR Proposed AR

Page 30: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

System and Results

EnvironmentDesktop PC (Intel Core 2 Duo 2.66 GHz)OS : LinuxLanguage : C++

Tracking speed

Total 19.2 ms

Key frame preparation 2.2 ms

Feature Projection 3.5 ms

Patch search 9.8 ms

Iterative pose update 3.7 ms

Page 31: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

System and Results

Mapping scalability and speedPractical limit

• 150 key frames• 6000 points

Bundle adjustment timing

Key frames 2-49 50-99 100-149

Local Bundle Adjustment 170 ms 270 ms 440 ms

Global Bundle Adjustment 380 ms 1.7 s 6.9 s

Page 32: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Demonstration

Page 33: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Remaining problem

Outlier management Still brittle in some scenario

Repeated texturePassive stereo initialization

Occlusion problem

Relocation problem

Page 34: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Conclusion

ConclusionParallel tracking and mapping process are presented

using multi-thread.

ContributionVisual odometry system was well presented.Overcome computation by multi-thread

OpinionThe proposed algorithm can be applied to our research

• Navigation system• 3D tracking system

Page 35: Parallel Tracking and Mapping for Small AR Workspaces Parallel Tracking and Mapping for Small AR Workspaces Vision Seminar 2008. 9. 4 (Thu) Young Ki Baik

Q & A