direct methods in visual odometry - university of...

47
Direct Methods in Visual Odometry July 24, 2017 Direct Methods in Visual Odometry July 24, 2017 1 / 47

Upload: dohanh

Post on 18-Aug-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Direct Methods in Visual Odometry

July 24, 2017

Direct Methods in Visual Odometry July 24, 2017 1 / 47

Page 2: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Motivation for using Visual Odometry

Wheel odometry is affected by wheel slip

More accurate compared to wheel odometry

Can be used to complement GPS, IMUs, Lidar

Particularly useful in GPS-denied environments

Direct Methods in Visual Odometry July 24, 2017 2 / 47

Page 3: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Visual Odometry Assumptions

Sufficient Illumination in the environment

Dominance of static scene over moving objects

Enough texture to allow apparent motion to be extracted

Sufficient scene overlap between consective frames

Direct Methods in Visual Odometry July 24, 2017 3 / 47

Page 4: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Feature Based vs Direct

Direct Methods in Visual Odometry July 24, 2017 4 / 47

Page 5: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Feature Based vs Direct

Direct Methods in Visual Odometry July 24, 2017 5 / 47

Page 6: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching

Direct Methods in Visual Odometry July 24, 2017 6 / 47

Page 7: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Matching Cost

A Matching Cost measures the similarity of pixels, examples:

Absolute Intensitiy Difference (AD):

|IL(x , y)− IR(x , y)| (1)

Squared Intensitiy Difference (SD):

(IL(x , y)− IR(x , y))2 (2)

Direct Methods in Visual Odometry July 24, 2017 7 / 47

Page 8: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Disparity Computation

The corresponding pixel is chosen in a way that the similarity between thepixels is high (”dissimilarity” = cost). For example the ”Winner Takes All”algorithm, where for every pixel select the disparity with the lowest cost.

|IL(x , y)− IR(x + d , y)| (3)

Direct Methods in Visual Odometry July 24, 2017 8 / 47

Page 9: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Example Algorithm

Using the ”Winner Takes All” algorithm the disparity map looks like this:

The disparity map is very noisy, due to a low signal to noise ratio (SNR).To remedy this we use Cost Aggregation where we do not compare singlepixels but small patches.

Direct Methods in Visual Odometry July 24, 2017 9 / 47

Page 10: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Cost Aggregation

Using a ”matching window” around the pixel of interest, and apply thesum of absolute intensity differences (SAD):∑

(x ,y)∈W

|IR(x , y)− IL(x + d , y)| (4)

Direct Methods in Visual Odometry July 24, 2017 10 / 47

Page 11: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Cost Aggregation

Examples for such area-based matching costs:

Sum of absolute differences (SAD):∑(x ,y)∈W

|IR(x , y)− IL(x + d , y)| (5)

Sum of square differences (SSD):∑(x ,y)∈W

(IR(x , y)− IL(x + d , y))2 (6)

Normalized Cross Correlation (NCC):∑(x ,y)∈W [IR(x , y)− IL]× [IL(x + d , y)− IL]√∑

(x ,y)∈W [IR(x , y)− IL]2 ×√∑

(x ,y)∈W [IL(x + d , y)− IL]2(7)

Direct Methods in Visual Odometry July 24, 2017 11 / 47

Page 12: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Cross Correlation

If we use both ”Winner-Takes-All” algorithm and an area based matchingcost (SAD) we get:

Direct Methods in Visual Odometry July 24, 2017 12 / 47

Page 13: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Problems with Fixed Windows

The area-based approach has other problems:

Assumes constant depth with in the window

Repetitive textures

Uniform areas

Thin structures

Direct Methods in Visual Odometry July 24, 2017 13 / 47

Page 14: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Cross Correlation Summary

Despite drawbacks of area-based approaches, cross correlation (WTA withSAD) is often adpoted in practice. Because:

Simple

Fast

Low memory requirements

Memory requirement is low, because we need no additional informationexcept the disparity for every pixel.

Direct Methods in Visual Odometry July 24, 2017 14 / 47

Page 15: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Stereo Matching - Inverse Depth Estimation

Montiel, JM Martnez, Javier Civera, and Andrew J. Davison. ”Unifiedinverse depth parametrization for monocular SLAM.” Robotics:Science and Systems, 2006.

Civera, Javier, Andrew J. Davison, and JM Martinez Montiel.”Inverse depth parametrization for monocular SLAM.” IEEEtransactions on robotics 24.5 (2008): 932-945.

Direct Methods in Visual Odometry July 24, 2017 15 / 47

Page 16: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Direct Dense VO - DTAM

DTAM: Dense Tracking and Mapping in Real-Time, RichardNewcombe, Steven Lovegrove, Andrew Davison - ICCV 2011

Monocular Cameras

No feature extraction

Superior tracking performance than feature based methods

Uses GPU to speed up optimization

Direct Methods in Visual Odometry July 24, 2017 16 / 47

Page 17: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Direct Methods in Visual Odometry July 24, 2017 17 / 47

Page 18: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Direct Methods in Visual Odometry July 24, 2017 18 / 47

Page 19: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry

J. Engel, J. Sturm, D. Cremers. Semi-Dense Visual Odometry for aMonocular Camera. ICCV 2013.Do not track low gradient pixels (the semi-part)Probabilistic depth map representation (not in DTAM)Real time in CPU!

Direct Methods in Visual Odometry July 24, 2017 19 / 47

Page 20: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Depth Estimation

Estimate a depth map for the current image (DTAM: Estimate thedepth map for the previous keyframe)

Propagate and refine the depth map from frame to frame (filteringlike) (DTAM: (Incremental) batch optimization over several frames)

One depth hypothesis (Gaussian) per pixel in the current image

Stereo Based Algorithm:

1. Use uncertainty criteria to select good pixels

2. Select adaptively a reference frame for each pixel

3. Do disparity search on the epipolar line

Direct Methods in Visual Odometry July 24, 2017 20 / 47

Page 21: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Geometric Disparity Error

σ2λ(ξ,π) =σ2l〈g , l〉2

(8)

Direct Methods in Visual Odometry July 24, 2017 21 / 47

Page 22: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Photometric Disparity Error

σ2λ(I ) =2σ2ig2p

(9)

Direct Methods in Visual Odometry July 24, 2017 22 / 47

Page 23: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Pixel to Inverse Depth Error

Direct Methods in Visual Odometry July 24, 2017 23 / 47

Page 24: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Pipeline

1. Get a new frame

2. Estimate motion with coarse-to-fine iterative optimization against themap

3. Predict the next depth estimate with the motion estimate

4. Select high gradient good pixels

5. Do disparity search with the largest baseline and within the prior

6. Sub-pixel refinement to produce depth estimate

7. Update depth estimate posterior

8. Go to 1

Direct Methods in Visual Odometry July 24, 2017 24 / 47

Page 25: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Results

Direct Methods in Visual Odometry July 24, 2017 25 / 47

Page 26: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi Dense Visual Odometry - Results

Direct Methods in Visual Odometry July 24, 2017 26 / 47

Page 27: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Large Scale Direct SLAM

J. Engel, T. Schops, and D. Cremers, ”Lsd-slam: Large-scale directmonocular slam,” in European Conference on Computer Vision, pp.834849, Springer, 2014.

Build large scale consistent maps in real time

Novel direct tracking method that operates on sim(3), therebyexplicitly detecting scale drift

Probabilistic solution to include effect of noisy depth values intotracking

Direct Methods in Visual Odometry July 24, 2017 27 / 47

Page 28: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

LSD SLAM - Pipeline

Direct Methods in Visual Odometry July 24, 2017 28 / 47

Page 29: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

LSD SLAM - Overview

Tracking: continuously tracks new camera images

Depth map estimation: uses tracked frames to either refine orreplace current keyframe

Map optimization: once a keyframe is replaced as tracking reference(its depth map will no longer be refined further), it is incorporatedinto the global map by the map optimization component.

Direct Methods in Visual Odometry July 24, 2017 29 / 47

Page 30: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

LSD SLAM - Direct Tracking

Direct Methods in Visual Odometry July 24, 2017 30 / 47

Page 31: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

LSD SLAM - Depth Estimation

Direct Methods in Visual Odometry July 24, 2017 31 / 47

Page 32: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

LSD SLAM - Global Mapping

Direct Methods in Visual Odometry July 24, 2017 32 / 47

Page 33: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

LSD SLAM - Results

[9]: Semi-Dense VO

[15]: Keypoint Based Mono SLAM

[14]: Direct RGB-D SLAM

[7]: Keypoint based RGB-D SLAM

Direct Methods in Visual Odometry July 24, 2017 33 / 47

Page 34: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Semi-Dense Visual Odometry (SVO)

C. Forster, M. Pizzoli, and D. Scaramuzza, ”Svo: Fast semi-directmonocular visual odometry,” in Robotics and Automation (ICRA),2014 IEEE International Conference on, pp. 1522, IEEE, 2014.

Novel semi-direct VO pipeline that is faster and more accurate thanstate of the art

Integration of a probabilistic mapping method that is robust to outliermeasurements

Direct Methods in Visual Odometry July 24, 2017 34 / 47

Page 35: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Architecture

Direct Methods in Visual Odometry July 24, 2017 35 / 47

Page 36: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Important Note

“SVO uses feature-correspondence only as a result of direct motionestimation rather than of explicit feature extraction and matching.Thus, feature extraction is only required when a keyframe is selected toinitialize new 3d points.”

Direct Methods in Visual Odometry July 24, 2017 36 / 47

Page 37: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Sparse Model Based Image Alignment

Minimize the negative log-likelihood of the intensity residuals:

Direct Methods in Visual Odometry July 24, 2017 37 / 47

Page 38: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Feature Alignment

Minimize the photometric error of the patch in the current image withrespect to the reference patch in the keyframe r:

Direct Methods in Visual Odometry July 24, 2017 38 / 47

Page 39: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Pose and Structure Refinement

Minimize reprojection error (motion only bundle adjustment):

Direct Methods in Visual Odometry July 24, 2017 39 / 47

Page 40: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

The sparse model based image alignment and pose and structurerefinement seems redundant.

One could directly start establishing feature correspondence but theprocessing time would be higher. Further some features could betracked inaccurately, the sparse image alignment step satisfiesimplicitly the epipolar constraint and ensures that there are nooutliers.

One may also argue that the sparse image alignment would besufficient to estimate the camera motion, however the authors of SVOfound empirically that using the first step only results in asignificantly more drift compared to using all three steps together.

Direct Methods in Visual Odometry July 24, 2017 40 / 47

Page 41: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Results

Direct Methods in Visual Odometry July 24, 2017 41 / 47

Page 42: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Results

Direct Methods in Visual Odometry July 24, 2017 42 / 47

Page 43: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

SVO - Results

Direct Methods in Visual Odometry July 24, 2017 43 / 47

Page 44: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Direct Sparse Odometry (DSO)

J. Engel, V. Koltun, and D. Cremers, ”Direct sparse odometry,” arXivpreprint arXiv:1607.02565, 2016.

Proposes a Sparse + Direct method

Continus optimization of the photometric error over a window ofrecent frames including geometry and camera motion

Integrated photometric camera model: lens attenuation, gammacorrection, and known exposure times

Runs real time on CPU

Direct Methods in Visual Odometry July 24, 2017 44 / 47

Page 45: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

DSO - Sparse vs Dense Hessian Structure

In dense approaches, the main drawback of adding a geometric prioris the introduction of correlations between geometry parameters,which render a statistically consistent joint optimization in real timeinfeasible.

Direct Methods in Visual Odometry July 24, 2017 45 / 47

Page 46: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

DSO - Sparse vs Dense Hessian Structure

Direct Methods in Visual Odometry July 24, 2017 46 / 47

Page 47: Direct Methods in Visual Odometry - University of …wavelab.uwaterloo.ca/slam/2017-SLAM/Lecture14-Direct_visual... · Feature Based vs Direct Direct Methods in Visual Odometry July

Discussion

Is front-end done? What more can we improve?

Is it realistic to aim for a front-end that could perform in:

Poorly illuminated environmentsTextureless environmentsLow camera frame rate

What is our goal with gimbal VO?

Direct Methods in Visual Odometry July 24, 2017 47 / 47