Master Automática y Robótica. Técnicas Avanzadas de Vision: Visual Odometry. by Pascual Campoy Computer Vision Group

Similar documents
Davide Scaramuzza. University of Zurich

Application questions. Theoretical questions

Visual Odometry. Features, Tracking, Essential Matrix, and RANSAC. Stephan Weiss Computer Vision Group NASA-JPL / CalTech

Visual SLAM. An Overview. L. Freda. ALCOR Lab DIAG University of Rome La Sapienza. May 3, 2016

Accurate Motion Estimation and High-Precision 3D Reconstruction by Sensor Fusion

Dealing with Scale. Stephan Weiss Computer Vision Group NASA-JPL / CalTech

Stereo and Epipolar geometry

Direct Methods in Visual Odometry

Università degli Studi di Padova

Egomotion Estimation by Point-Cloud Back-Mapping

Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10

Visual odometry (VO) is the process of estimating. Visual Odometry. Part I: The First 30 Years and Fundamentals

Tightly-Integrated Visual and Inertial Navigation for Pinpoint Landing on Rugged Terrains

Visual odometry (VO) is the process of estimating. Visual Odometry. Part II: Matching, Robustness, Optimization, and Applications

arxiv: v1 [cs.cv] 28 Sep 2018

Overview. Augmented reality and applications Marker-based augmented reality. Camera model. Binary markers Textured planar markers

Zürich. Roland Siegwart Margarita Chli Martin Rufli Davide Scaramuzza. ETH Master Course: L Autonomous Mobile Robots Summary

ORB SLAM 2 : an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras

3D Computer Vision. Structure from Motion. Prof. Didier Stricker

CSE 527: Introduction to Computer Vision

Robot Mapping. SLAM Front-Ends. Cyrill Stachniss. Partial image courtesy: Edwin Olson 1

Visual Odometry for Non-Overlapping Views Using Second-Order Cone Programming

Master Thesis. Vision system for indoor UAV flight. Author: Jonas B. Markussen. Period: 1/2/2015-3/6/2015. Vision, Graphics & Interactive Systems

Vision-based Mobile Robot Localization and Mapping using Scale-Invariant Features

CSE 252B: Computer Vision II

A 4-Point Algorithm for Relative Pose Estimation of a Calibrated Camera with a Known Relative Rotation Angle

Targetless calibration for vehicle mounted cameras

A ROBUST METHOD FOR STEREO VISUAL ODOMETRY BASED ON MULTIPLE EUCLIDEAN DISTANCE CONSTRAINT AND RANSAC ALGORITHM

CS664 Lecture #19: Layers, RANSAC, panoramas, epipolar geometry

1-Point-based Monocular Motion Estimation for Computationally-Limited Micro Aerial Vehicles

arxiv: v1 [cs.cv] 28 Sep 2018

Towards a visual perception system for LNG pipe inspection

Long-term motion estimation from images

Real-Time Global Localization with A Pre-Built Visual Landmark Database

3-Point RANSAC for Fast Vision based Rotation Estimation using GPU Technology

Visual SLAM for small Unmanned Aerial Vehicles

Introduction to Autonomous Mobile Robots

Sampling based Bundle Adjustment using Feature Matches between Ground-view and Aerial Images

CSCI 5980/8980: Assignment #4. Fundamental Matrix

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

UAV Autonomous Navigation in a GPS-limited Urban Environment

Robust Visual Odometry for Complex Urban Environments

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview

From Orientation to Functional Modeling for Terrestrial and UAV Images

Effect of Spatial Sampling on Topological Reconstruction with Mobile Cameras

Image correspondences and structure from motion

Multiview Stereo COSC450. Lecture 8

Uncertainties: Representation and Propagation & Line Extraction from Range data

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

Step-by-Step Model Buidling

Closing the Loop in Appearance-Guided Structure-from-Motion for Omnidirectional Cameras

Onboard Monocular Vision for Landing of an MAV on a Landing Site Specified by a Single Reference Image

Object Recognition with Invariant Features

Observations. Basic iteration Line estimated from 2 inliers

EECS 442: Final Project

Real-time detection of independent motion using stereo

Incremental Real-time Bundle Adjustment for Multi-camera Systems with Points at Infinity

Estimation of Camera Motion with Feature Flow Model for 3D Environment Modeling by Using Omni-Directional Camera

Visual Odometry by Multi-frame Feature Integration

Feature Based Registration - Image Alignment

CS 532: 3D Computer Vision 7 th Set of Notes

Feature Detectors and Descriptors: Corners, Lines, etc.

Stereo Visual Odometry With Windowed Bundle Adjustment

Data Association for SLAM

FPGA-Based Feature Detection

Leow Wee Kheng CS4243 Computer Vision and Pattern Recognition. Motion Tracking. CS4243 Motion Tracking 1

Regular Paper Challenges in wide-area structure-from-motion

Live Metric 3D Reconstruction on Mobile Phones ICCV 2013

Augmented Reality, Advanced SLAM, Applications

CHAPTER 1 INTRODUCTION

Localization and Mapping for Autonomous Navigation in Outdoor Terrains : A Stereo Vision Approach

Wide-Baseline Stereo Vision for Mars Rovers

Department of Electrical and Electronic Engineering, University of Peradeniya, KY 20400, Sri Lanka

Autonomous Navigation for Flying Robots

3D Scene Reconstruction with a Mobile Camera

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

Telecommunications Engineering Thesis

Combining Appearance and Topology for Wide

Monocular Visual-Inertial SLAM. Shaojie Shen Assistant Professor, HKUST Director, HKUST-DJI Joint Innovation Laboratory

Region matching for omnidirectional images using virtual camera planes

Map-Enhanced UAV Image Sequence Registration and Synchronization of Multiple Image Sequences

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

ESA ExoMars Rover PanCam System Geometric Modeling and Evaluation DISSERTATION

Estimation of Camera Pose with Respect to Terrestrial LiDAR Data

3D Simultaneous Localization and Mapping in Texture-less and Structure-less Environments Using Rank Order Statistics

Augmenting Reality, Naturally:

Image Features: Detection, Description, and Matching and their Applications

Scale Invariant Feature Transform

Robotics. Lecture 7: Simultaneous Localisation and Mapping (SLAM)

STEREO VISUAL ODOMETRY FOR AUTONOMUS MOBILE

A Summary of Projective Geometry

Real-time Visual Self-localisation in Dynamic Environments

UNIVERSITY OF TORONTO Faculty of Applied Science and Engineering. ROB501H1 F: Computer Vision for Robotics. Midterm Examination.

Simultaneous Localization

An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics

Stable Vision-Aided Navigation for Large-Area Augmented Reality

ROBUST LINE-BASED CALIBRATION OF LENS DISTORTION FROM A SINGLE VIEW

Robust Real-Time Visual Odometry for Autonomous Ground Vehicles. Mohamed D. Aladem

Transcription:

Master Automática y Robótica Técnicas Avanzadas de Vision: by Pascual Campoy Computer Vision Group www.vision4uav.eu Centro de Automá<ca y Robó<ca Universidad Politécnica de Madrid : Objective Estimate the egomotion using on-board cameras 2 2 1

: working principle Estimates incrementally the pose of the vehicle by examination of the on-board image changes 3 3 : Sources 4 : Part I - The First 30 Years and Fundamentals Scaramuzza, D., Fraundorfer, F. IEEE Robotics and Automation Magazine, Volume 18, issue 4, 2011. : Part II - Matching, Robustness, and Applications Fraundorfer, F., Scaramuzza, D. IEEE Robotics and Automation Magazine, Volume 19, issue 2, 2012. 3_D Vision and Recognition Kostas Daniilidis and Jan-Olof Eklundh Handbook of Robotoics, Siciliano, Khatib (Eds.), Springer 2008 Simultaneous Localization and Mapping Sebastian Thrun, John J. Leonard Handbook of Robotoics, Siciliano, Khatib (Eds.), Springer 2008 On-board visual control algorithms for Unmanned Aerial Vehicles Ivan F. Mondragón European PhD thesis at Nov. 2011. 4 2

Brief history of VO 1996: The term VO was coined by Srinivasan to define motion orientation 1980: First known stereo VO real-time implementation on a robot by Moraveck, PhD thesis (NASA/JPL) for Mars rovers 1980 to 2000: The VO research was dominated by NASA/JPL in preparation of 2004 Mars mission (papers by Matthies, Olson,...) 2004: VO used on a robot on another planet: Mars rovers Spirit and Opportunity 2004. VO was revived in the academic environment by Nister «Visual Odometry» paper. The term VO became popular. When V.O. for positioning? Alternatives: Odometry: Actuators (wheels) odometry displacement measurement Inertial Measurement Units (IMUs) Aceleration measurement Global positioning: GPS -Gyroscope 3D vision - Laser - Magnetometer Adventages: More accurate vs. wheel odometry or IMU (relative position error 0.1% 2%) Necessary when global positioning is not available Useful for sensor fusion 3

: Steps 1. Image acquisition and correction 2. Feature detection and description 3. Feature matching 4. Robust matching for pose estimation 5. Pose optimization 7 : Steps 1. Image acquisition and correction 1. Acquisition using either single cameras, stereo cameras, or omnidirectional cameras. 2. Correction: preprocessing techniques for lens distortion removal, noise removal, etc. 2. Feature detection and description 3. Feature matching 4. Robust matching for pose estimation 5. Pose optimization 8 4

: Steps 1. Image acquisition and correction 2. Feature detection and description 1. Feature detection: corner detectors (Moravec, Forstner, Harris, Shi-Tomasi, FAST) or blob detectors (SIFT, SURF, CENSUR) 2. Feature description: local appearance or invariant descriptors (SIFT, SURF, BRIEF, ORB, BRISK, FAST) 3. Feature matching 4. Robust matching for pose estimation 5. Pose optimization 9 : Steps 1. Image acquisition and correction 2. Feature detection and description 3. Feature matching Local tracking (LK, KLT) vs. Global matching 4. Robust matching for pose estimation 5. Pose optimization 10 5

Table of contents 3. Global feature matching 4. Robust matching for pose estimation 5. Pose optimization 12 Table of contents 3. Global feature matching Similarity measurement Mutual consistency Motion consistency 4. Robust featuring 5. Pose estimation 13 6

Feature matching: Global feature matching Similarity Distance in the feature space Normalized cross correlation x2 x2 x1 α x1 Mutual consistency: only pairs where one point selects each other as the closest Motion consistency: only pairs where one point is accordingly where it should, taking into account the motion model 14 Table of contents 3. Global feature matching 4. Robust matching and pose estimation 5. Pose optimization 15 7

Robust matching Problem: false matched points (i.e. outliers) result in errors in pose estimation (caused in image acquisition (noise, blur,..), feature detetor/ descriptor or matching) Solution: remove outliers don t fitting predominant model. RANSAC is the standard it stands for random sample consensus first by Fishler & Bolles, 1981 Error in distance: 6.5 m Error in orientation: 5 deg Trajectory length: 400 m Source: Scaramuzza RANSAC: working principle 1. Randomly choose s samples Typically s = minimum sample size that lets fit a model 2. Fit a model (e.g., line) to those samples 3. Count the number of inliers that approx. fit the model (distance to model <d) 8

RANSAC: working principle 1. Randomly choose s samples Typically s = minimum sample size that lets fit a model 2. Fit a model (e.g., line) to those samples 3. Count the number of inliers that approx. fit the model (distance to model <d) 4. Repeat N times 5. Choose the model that has the largest set of inliers RNSAC: number of iterations The number of iterations necessary to guarantee a correct solution is: s is the number of points to obtain a model ε is the rate of outliers in the data p is the probability of success Example: p=99.9%, s=2, ε=25% N= 8.35 Features: RANSAC is non deterministic, whose solution tends to be stable when N grows N is usually multiply by a factor of 10 Advanced implementations estimate ε after every iteration 9

RANSAC for 1. Randomly choose s samples 2. Fit the motion model Obtain it can be calculated by minimizing the following points correspondences: 2D-2D, 3D-3D or 3D-2D 1. Count the number of inliers that approx. fit the model (distance to model <d) 2. Repeat N times 3. Choose the model that has the largest set of inliers RANSAC for V.O.: motion model Image 2 Image 1 10

RANSAC for V.O.: nr. of points For a 6 DOF uncalibrated/calibrated camera: 8 points non coplanar points algorithm by Longguet-Higgins (1981) For a 6 DOF calibrated camera: 5 points are enough Krupta (1913), efficient implementation by Nister (2003) If 2angles are known: 3 points are enough by Fraundorfer et alt. (2010), 2 angles estimation by far point by Narodisky et alt.(2011) If 3 angles are known: 2 points are enough by Kneip at alt. (2011) For planar motion 2 points are enough by Ortin et alt. (2001) For wheeled vehicles of 2DOF 1 point is enough by Scaramuzza et alt. (2011) Motion from Image Feature Correspondences: 2D-2D The minimal-case solution involves 5-point correspondences The solution is found by determining the transformation that minimizes the reprojection error of the triangulated points in each image p2t E p1 = 0 E = [t ] R x1 p1 = y1 z1 Epipolar constraint Essential matrix x2 p2 = y2 z2 11

RANSAC for V.O.: nr of points Is it really better to use minimal sets in RANSAC? If one is concerned with certain speed requirements, YES However, might not be a good choice if the image correspondences are very noisy: in this case, the motion estimated from a minimal set wil be inaccurate and will exhibit fewer inliers when tested on all other points Therefore, when the computational time is not a real concern and one deals with very noisy features, using a non-minimal set may be better than using a minimal set RANSAC for V.O.: results for 1 point This video can be seen at http://youtu.be/t7ukwztujce 12

RANSAC for V.O.: results for 1 point RANSAC for V.O.: results for 5 points Ground truth comparison with VICON img1 img50 img100 img150 img200 img250 13

RANSAC for V.O.: results for 5 points RANSAC for V.O.: results for 5 points Using only visual information provided by an on-board camera and a know landmark, estimate camera-aircraft relative position w.r.t a helipad 35 14

RANSAC for V.O.: results for 5 points Hover at 4.5m 36 2010 IEEE International Conference on Robotics and Automation Anchorage Convention District May 3-8, 2010, Anchorage, Alaska, USA RANSAC for V.O.: results for 5 points 37 15

RANSAC for V.O.: results for 5 points Hover at 10m 38 RANSAC for V.O.: results for 5 points 39 16

RANSAC for V.O.: results for 5 points Manual Landing 40 Table of contents 3. Global feature matching 4. Robust matching 5. Pose optimization 41 17

Error Propagation The uncertainty of the camera pose is a combination of the uncertainty at (black-solid ellipse) and the uncertainty of the transformation (gray dashed ellipse) Ck+1 The combined covariance is Ck Tk+1 Tk Ck-1 The camera-pose uncertainty is always increasing when concatenating transformations. Thus, it is important to keep the uncertainties of the individual transformations small Source Scaramuzza Windowed Camera-Pose Optimization ' &! ' &!+( # # # ( #! #!,# # $,#... ' & # ' & # & # & #,!! So far we assumed that the transformations are between consecutive frames Transformations can be computed also between non-adjacent frames and can be used as additional constraints to improve cameras poses by minimizing the following For efficiency, only the last keyframes are used Levenberg-Marquadt can be used Source Scaramuzza 18

Windowed Bundle Adjustment (BA) ' &!! ' ' & +# &!+! &! ' +(... # # # ( #! #!,# # $,# ' & # ' &... # & # & #,!! Similar to pose-optimization but it also optimizes 3D points In order to not get stuck in local minima, the initialization should be close the minimum Source Scaramuzza Levenberg-Marquadt can be used When apply V.O.? Is any of these scenes good for VO? Why? Source Scaramuzza 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 consecutive frames 19

Other Applications: Mosaics questions? more info: www.vision4uav.es 20