Visual Odometry Features, Tracking, Essential Matrix, and RANSAC

Visual Odometry Features, Tracking, Essential Matrix, and RANSAC

Visual Odometry Features, Tracking, Essential Matrix, and RANSAC Jet Propulsion Laboratory California Institute of Technology Stephan Weiss Computer Vision Group NASA-JPL / CalTech [email protected] (c) 2013 California Institute of Technology. Government sponsorship acknowledged. Outline Jet Propulsion Laboratory California Institute of Technology ● The Camera as a sensor ● Camera motion estimation: the essential matrix ● Dealing with noise: RANSAC ● Getting to the point ● Keeping the point Opportunity EDL Trajectory June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 2 Camera Motion Estimation Jet Propulsion Laboratory California Institute of Technology ● Why using a camera? – Vast information – Extremely low Size, Weight, and Power (SWaP) footprint Cellphone type camera, up to – Cheap and easy to use 16Mp (480MB/s @ 30Hz) – Passive sensor – Processing power is OK today Cellphone processor unit After all, it's what nature uses, too! 1.7GHz quadcore ARM <10g ● Camera motion estimation – Understand the camera as a sensor – What information in the image is particularly useful “stereo vision” – Estimate camera 6(5)DoF using 2 images: Visual Odometry (VO) “monocular vision” June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 3 A Camera is a Bearing Sensor Jet Propulsion Laboratory California Institute of Technology ● Projective sensor which measures the bearing of a point with respect to the optical axis – Depth can be inferred by re-observing a point from different angles – The movement (i.e. the angle between the observations) is the point's parallax ● A point at infinity is a feature which exhibits no parallax during camera motion – The distance of a star cannot be inferred by moving a few kilometers – BUT: it is a perfect bearing reference for attitude estimation: NASA's star tracker sensors better than star tracker 1 arc second or 0.00027deg June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 4 Perspective Camera – Projection on the Image Plane Jet Propulsion Laboratory California Institute of Technology assume calibrated camera June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 5 Epipolar Constraint Jet Propulsion Laboratory California Institute of Technology Suppose a camera undergoes motion C,C’,x,x’ and X are coplanar June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 6 Epipolar Constraint Jet Propulsion Laboratory California Institute of Technology Suppose a camera undergoes motion What if only C,C’,x are known? June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 7 Epipolar Constraint Jet Propulsion Laboratory California Institute of Technology Suppose a camera undergoes motion All points on π project on l and l’ June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 8 Epipolar Constraint Jet Propulsion Laboratory California Institute of Technology Suppose a camera undergoes motion Family of planes π and lines l and l’ Intersection in e and e’ June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 9 Epipolar Constraint Jet Propulsion Laboratory California Institute of Technology ● Formulating the epipolar constraint: 3D point transformation: Using projected points in the image plane: Divide by , multiply by : λ 1 T X Multiply by : X2 X1 Essential Matrix: E = T×R C 1 C2 June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 10 Motion Estimation: Solving the Essential Matrix Jet Propulsion Laboratory California Institute of Technology T x2 Ex=0 x2 x1 e11+ x2 y2 e12 +x 2e13 + y1 x2 e21 + y1 y2 e22 + y1 e23 +x 2 e31+ y2 e32 +e 33=0 separate known from unknown T [ x1 x2 , x1 y2 , x1, y1 x2 , y1 y2 , y1 , x2 , y2 ,1] [ e11 ,e12 ,e13 ,e 21 ,e22 ,e 23 ,e31 ,e32 ,e33] =0 (data) (unknowns) (linear) x11 x21 x11 y21 x11 y11 x 21 y11 y21 y11 x21 y 21 1 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ e=0 [ x1n x2n x1n y2n x1n y1n x 2n y1n y2n y1n x2n y2n 1 ] Ae=0 June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 11 Motion Estimation: Solving the Essential Matrix Jet Propulsion Laboratory California Institute of Technology X T e1 E =0 Ee 2=0 detE=0 rank E=2 SVD from linearly computed E matrix (rank 3) σ C1 1 C2 T T T T E =U σ 2 V =U 1 σ1 V 1 +U 2 σ 2 V 2 +U 3 σ3 V 3 [ σ3 ] Compute closest rank-2 approximation min∥E-E'∥E σ1 T T T E'=U σ 2 V =U 1 σ1 V 1 +U 2 σ2 V 2 [ 0 ] E is essential matrix if and only if two singularvalues are equal (and third=0) E = Udiag(1,1,0)VT June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 12 Motion Estimation: linear 8-point algorithm Jet Propulsion Laboratory California Institute of Technology x11 x21 x11 y21 x11 y11 x 21 y11 y21 y11 x21 y 21 1 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ e=0 [ x1n x2n x1n y2n x1n y1n x 2n y1n y2n y1n x2n y2n 1 ] ~10000 ~10000 ~100 ~10000 ~10000 ~100 ~100 ~100 1 Orders of magnitude difference ! Between column of data matrix → not normalized least-squares yields poor results Normalized least squares: (0,500) (700,500) (-1,1) (1,1) 2 0 −1 700 2 −1 500 1 (0,0) (0,0) (700,0) (-1,-1) (1,-1) June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 13 Recovering the Pose Jet Propulsion Laboratory California Institute of Technology ● Recover R, T from E – Only one solution where points is in front of both cameras – Apply motion consistency E = T×R June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 14 From 8 points to 5 points Jet Propulsion Laboratory California Institute of Technology ● Linear 8-point algorithm Ae=0 – Problem is only of dimension 5 (3 for rotation, 2 for translation up to scale) – Linear formulation is fast and simple to solve ● Non-linear 5-point algorithm (Nistér PAMI 204) – Finding roots of cubic polynomials – Mathematically hairy but fast implementations exist June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 15 Motion estimation with less than 5 points Jet Propulsion Laboratory California Institute of Technology ● General case is a 5-dimensional problem ● Constraining the general case reduces the dimensionality: – Homography: Planar constraint, 4 points ● Multi plane homography VO: Y. Cheng (ICRA 2010) June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 16 Motion estimation with less than 5 points Jet Propulsion Laboratory California Institute of Technology ● General case is a 5-dimensional problem ● Constraining the general case reduces the dimensionality: – Using IMU for rotation: 2-dim constraint for translation up to scale [Weiss et al. ICRA 2012] – Using robot model and kinematics: 1 point [Scaramuzza et al. IJCV 2011] – Special case: known 3D coordinates of the points: stereo vision [Scaramuzza et al. IJCV 2011] June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 17 The RANSAC (RAndom SAmple Consensus) Algorithm for model fitting and outlier rejection Jet Propulsion Laboratory California Institute of Technology Assume: ● The model parameters can be estimated from N data items (e.g. essential matrix from 5-8 points) ● There are M data items in total. The algorithm: 1. Select N data items at random 2. Estimate parameters (linear or nonlinear least square, or other) 3. Find how many data items (of M) fit the model with parameter vector within a user given tolerance, T. Call this k. if K is the largest (best fit) so far, accept it. 4. Repeat 1. to 4. S times Questions: ● What is the tolerance? ● How many trials, S, ensure success? June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 18 The RANSAC (RAndom SAmple Consensus) Algorithm for model fitting Jet Propulsion Laboratory California Institute of Technology To ensure that RANSAC has high chance to find correct inliers, a sufficient number of trials must be executed. Let p be the probability of inliers of any given correspondence and P is a success probability after S trials. We have (1− P) = (1− pk )S where p quickly decreases if many points are needed to fit the model! And log(1− P) S = log(1− pk ) Model fitting needs to be fast: this is executed at every camera frame! [Scaramuzza et al. IJCV 2011] June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 19 Scale propagation Jet Propulsion Laboratory California Institute of Technology ● Scale of translation estimation between image pairs can vary arbitrarily Ae=0=λ Ae=Λ Ae – Use common points to unify (propagate) the scale factor – Accumulated errors lead to scale drift June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 20 Getting to the point: image features Jet Propulsion Laboratory California Institute of Technology ● Need at least 5 point correspondences in each image to determine general transformation – Extract salient points: feature detector – Detect the same salient points independently in both images June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 21 Getting to the point: image features Jet Propulsion Laboratory California Institute of Technology ● Need at least 5 point correspondences in each image to determine general transformation – Extract salient points: feature detector – Detect the same salient points independently in both images – Get sufficient information to recognize one point in the other image again June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 22 Getting to the point: Feature detectors Jet Propulsion Laboratory California Institute of Technology ● Some examples: – FAST – AGAST – SIFT (DoG) – SURF (discretized DoG) ● General Idea: – Extract high contrast areas in the image ● This often is at object borders: Parallax issue – Avoid edges homogeneous ● Computaional complexity edge – Be as fast as possible: For every image 100s of features – Trade-off between high quality features (good repeatability) and computational complexity corner June 28, 2014 CVPR Tutorial on VSLAM -- S. Weiss 23 Getting to the point: be FAST Jet Propulsion Laboratory California Institute of Technology ● Mostly used in real-time robotics applications – FAST/AGAST: on average checks 2.5 pixels per feature! ● Machine Learning was applied to – Generate a decision tree, that quickly discards pixels that are not a corner – Decision tree is build based on evaluating all 16 pixels and a training set – From the decision tree, C, Python or – Matlab code is generated (~6000 lines of code) – Available at: http://mi.eng.cam.ac.uk/~er258/work/fast.html June 28, 2014 CVPR Tutorial on VSLAM -- S.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    31 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us