Egomotion Estimation Using Visual Odometry
Egomotion Estimation Using Visual Odometry
Kognitive Robotik
NIT Surat
India
Introduction
Motivation
Basics of the Central Algorithm
Implemented Approaches
Results
Future work
Resources used
Bibliography
Ruta Desai: Visual Odometry
2 / Ges
FG Neuroinformatik &
Kognitive Robotik
Introduction: Visual Odometry & Egomotion Estimation
Visual Odometry:
The process of determining the position and orientation of a robot by
analyzing the associated camera images.
Egomotion:
Egomotion refers to estimating a camera's motion relative to a rigid
scene.
Visual odometry techniques are used on a sequence of images
captured by the moving camera.
Ruta Desai: Visual Odometry
3 / Ges
FG Neuroinformatik &
Kognitive Robotik
Motivation
4 / Ges
Ruta Desai: Visual Odometry FG Neuroinformatik &
Kognitive Robotik
5 / Ges
FG Neuroinformatik &
Kognitive Robotik
6 / Ges
FG Neuroinformatik &
Kognitive Robotik
7 / Ges
FG Neuroinformatik &
Kognitive Robotik
..Basics: RANSAC..
An outlying observation, or
outlier, is one that appears to
deviate markedly from other
members of the sample in
Ruta Desai: Visual Odometry
which it occurs.
log(1 p)
How it works: N
log(1 (1 ) s )
8 / Ges
FG Neuroinformatik &
Kognitive Robotik
9 / Ges
FG Neuroinformatik &
Kognitive Robotik
10 / Ges
FG Neuroinformatik &
Kognitive Robotik
Reference:
Civera, J., Grasa,
O. G., Davison, A.
J., and Montiel, J.
M. M. (2010) 1-
Point RANSAC for
EKF Filtering.
Application to
Real-Time
Structure from
Motion and Visual
Ruta Desai: Visual Odometry
Odometry.
11 / Ges
FG Neuroinformatik &
Kognitive Robotik
State Model
State vector of camera is obtained from odometry (for the first time)
or the last estimated state ( from camera extrinsic object)
X-Y Position θ and Ф are also updated using motion model.
Motion model error is also added.
12 / Ges
FG Neuroinformatik &
Kognitive Robotik
RANSAC
A feature is randomly
selected from the 3D feature
set.
Measurement update is done
using this feature.
After this measurement
update,all measurements are
predicted again using the
projection matrix
Ruta Desai: Visual Odometry
Measurement Update
Map 3D feature into image space using projection matrix.
Euclidean space.
x'
y ' x' / w'
y ' / w'
w'
Jacobian of this measurement w.r.t camera state is calculated.
Using Jacobian innovation and Kalman Gain is then calculated.
Once innovation and Kalman Gain are obtained, mean and
covariance update is done.
14 / Ges
FG Neuroinformatik &
Kognitive Robotik
Inliers Rescue
15 / Ges
FG Neuroinformatik &
Kognitive Robotik
16 / Ges
FG Neuroinformatik &
Kognitive Robotik
17 / Ges
FG Neuroinformatik &
Kognitive Robotik
18 / Ges
Ruta Desai: Visual Odometry FG Neuroinformatik &
Kognitive Robotik
19 / Ges
FG Neuroinformatik &
Kognitive Robotik
The combination of EKF and 1 point RANSAC worked well for the
correction of angular orientation of camera pose.
20 / Ges
FG Neuroinformatik &
Kognitive Robotik
21 / Ges
Ruta Desai: Visual Odometry FG Neuroinformatik &
Kognitive Robotik
22 / Ges
FG Neuroinformatik &
Kognitive Robotik
Homography
x=PX
X(λ)=P+x+ λC
X = P+x (λ=0)
x’=P’ X
x’=P’ P+x
x’=Hx
where H=homography
matrix
Ruta Desai: Visual Odometry
23 / Ges
FG Neuroinformatik &
Kognitive Robotik
Results
24 / Ges
FG Neuroinformatik &
Kognitive Robotik
25 / Ges
Ruta Desai: Visual Odometry FG Neuroinformatik &
Kognitive Robotik
26 / Ges
FG Neuroinformatik &
Kognitive Robotik
Calculation of Innovation
27 / Ges
FG Neuroinformatik &
Kognitive Robotik
29 / Ges
FG Neuroinformatik &
Kognitive Robotik
Calculation of Innovation
l = P1+ x1
m = P2+ x2
(C2C1) (l m)
perpendicular distance between the skew rays=
(l m)
30 / Ges
FG Neuroinformatik &
Kognitive Robotik
Resources used
Eclipse C++
Ruta Desai: Visual Odometry
Maple
Monocular vision and Eigen
C++ library
31 / Ges
FG Neuroinformatik &
Kognitive Robotik
●
Literature Survey and Building the Basics.
Getting acquainted with Eclipse and C++
MAY
●
●
Understanding the Problem Statement, and Coding for
Inliers Rescue approach
●
Modifications in Inliers Rescue approach
JUNE
●
Coding for Homography based Rotation Estimate.
Coding For Epipolar Geometry based Rotation Estimate.
Ruta Desai: Visual Odometry
●
LY
●
Use of Maple for Jacobian Calculation.
U
J
●
Coding for Projective Reconstruction Constraint based Rotation Estimate.
●
Final presentation and compilation into paper.
●
Implementation on robot.
32 / Ges
FG Neuroinformatik &
Kognitive Robotik
My Contribution
Implementing various
approaches for correction of
camera pose for effective
working of 3D structure
reconstruction on the
Ruta Desai: Visual Odometry
Future Work
34 / Ges
FG Neuroinformatik &
Kognitive Robotik
Bibliography
Civera, J., Grasa, O. G., Davison, A. J., and Montiel, J. M. M.1-Point
RANSAC for EKF Filtering. Application to Real-Time Structure from
Motion and Visual Odometry, ICRA 2010.
35 / Ges
FG Neuroinformatik &
Kognitive Robotik
Bibliography
Odometry.
www.wikipedia.org
36 / Ges
FG Neuroinformatik &
Kognitive Robotik
Acknowledgements
First and foremost, I would like to thank Erik Einhorn for his guidance,
help and patience.
Sandra and Christoph for answering my doubts and for all the super
discussions about Germany: from Soccer to weather
Ruta Desai: Visual Odometry
Heike for being so friendly and helpful and always being around
when I needed her
And all others who welcomed me so heartily into this family and
helped me mingle into it like family’s own child.
37 / Ges
Ruta Desai: Visual Odometry FG Neuroinformatik &
Kognitive Robotik
Questions??..
Thank you…
38 / Ges
FG Neuroinformatik &
Kognitive Robotik
x=PX
X(λ)=P1+x+ λC
x’(λ)=P2P1+x+ P2 λC
x'
=P2P1+x ( 0)
x’=P2 C ( )
l'
=P2 C X P2P1+x
= Fx
Ruta Desai: Visual Odometry
39 / Ges
FG Neuroinformatik &
Kognitive Robotik
n ( x 'T l ' )
d 2
n
40 / Ges