SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Similar documents
Delayed Features Initialization for Inverse Depth Monocular SLAM

Inverse Depth Monocular SLAM

CS 534: Computer Vision Model Fitting

Line-based Camera Movement Estimation by Using Parallel Lines in Omnidirectional Video

Reducing Frame Rate for Object Tracking

3D vector computer graphics

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur

MULTISPECTRAL IMAGES CLASSIFICATION BASED ON KLT AND ATR AUTOMATIC TARGET RECOGNITION

Lobachevsky State University of Nizhni Novgorod. Polyhedron. Quick Start Guide

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

Takahiro ISHIKAWA Takahiro Ishikawa Takahiro Ishikawa Takeo KANADE

Feature Reduction and Selection

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Parallelism for Nested Loops with Non-uniform and Flow Dependences

User Authentication Based On Behavioral Mouse Dynamics Biometrics

Calibration of an Articulated Camera System

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

y and the total sum of

Lecture 5: Multilayer Perceptrons

MOTION BLUR ESTIMATION AT CORNERS

Programming in Fortran 90 : 2017/2018

Active Contours/Snakes

A Binarization Algorithm specialized on Document Images and Photos

MOTION PANORAMA CONSTRUCTION FROM STREAMING VIDEO FOR POWER- CONSTRAINED MOBILE MULTIMEDIA ENVIRONMENTS XUNYU PAN

Detection of an Object by using Principal Component Analysis

Real-time Joint Tracking of a Hand Manipulating an Object from RGB-D Input

Face Tracking Using Motion-Guided Dynamic Template Matching

An Image Fusion Approach Based on Segmentation Region

Multi-view 3D Position Estimation of Sports Players

Calibration of an Articulated Camera System

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution

Support Vector Machines

Ecient Computation of the Most Probable Motion from Fuzzy. Moshe Ben-Ezra Shmuel Peleg Michael Werman. The Hebrew University of Jerusalem

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

Model-Based Pose Estimation by Consensus

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters

Calibration of an Articulated Camera System with Scale Factor Estimation

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

An Optimal Algorithm for Prufer Codes *

From: AAAI-82 Proceedings. Copyright 1982, AAAI ( All rights reserved.

Computer Vision. Exercise Session 1. Institute of Visual Computing

Life Tables (Times) Summary. Sample StatFolio: lifetable times.sgp

Video Object Tracking Based On Extended Active Shape Models With Color Information

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

THE THEORY OF REGIONALIZED VARIABLES

A Gradient Difference based Technique for Video Text Detection

Lecture #15 Lecture Notes

A Gradient Difference based Technique for Video Text Detection

Help for Time-Resolved Analysis TRI2 version 2.4 P Barber,

UAV global pose estimation by matching forward-looking aerial images with satellite images

Angle-Independent 3D Reconstruction. Ji Zhang Mireille Boutin Daniel Aliaga

Some Tutorial about the Project. Computer Graphics

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Robotics and Autonomous Systems. Large scale multiple robot visual mapping with heterogeneous landmarks in semi-structured terrain

Classifier Swarms for Human Detection in Infrared Imagery

Resolving Ambiguity in Depth Extraction for Motion Capture using Genetic Algorithm

S1 Note. Basis functions.

Structure from Motion

Outline. Discriminative classifiers for image recognition. Where in the World? A nearest neighbor recognition example 4/14/2011. CS 376 Lecture 22 1

Three supervised learning methods on pen digits character recognition dataset

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Edge Detection in Noisy Images Using the Support Vector Machines

An Efficient Background Updating Scheme for Real-time Traffic Monitoring

12/2/2009. Announcements. Parametric / Non-parametric. Case-Based Reasoning. Nearest-Neighbor on Images. Nearest-Neighbor Classification

The Research of Ellipse Parameter Fitting Algorithm of Ultrasonic Imaging Logging in the Casing Hole

Machine Learning 9. week

PROJECTIVE RECONSTRUCTION OF BUILDING SHAPE FROM SILHOUETTE IMAGES ACQUIRED FROM UNCALIBRATED CAMERAS

A high precision collaborative vision measurement of gear chamfering profile

ELEC 377 Operating Systems. Week 6 Class 3

Positive Semi-definite Programming Localization in Wireless Sensor Networks

Pose, Posture, Formation and Contortion in Kinematic Systems

A Unified Framework for Semantics and Feature Based Relevance Feedback in Image Retrieval Systems

Hierarchical clustering for gene expression data analysis

Unsupervised Learning

Cluster Analysis of Electrical Behavior

Multi-stable Perception. Necker Cube

A SYSTOLIC APPROACH TO LOOP PARTITIONING AND MAPPING INTO FIXED SIZE DISTRIBUTED MEMORY ARCHITECTURES

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

TN348: Openlab Module - Colocalization

Support Vector Machines

Fuzzy C-Means Initialized by Fixed Threshold Clustering for Improving Image Retrieval

RELATIVE ORIENTATION ESTIMATION OF VIDEO STREAMS FROM A SINGLE PAN-TILT-ZOOM CAMERA. Commission I, WG I/5

What are the camera parameters? Where are the light sources? What is the mapping from radiance to pixel color? Want to solve for 3D geometry

Towards A Human Robot Interaction Framework with Marker-less Augmented Reality and Visual SLAM

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

REFRACTION. a. To study the refraction of light from plane surfaces. b. To determine the index of refraction for Acrylic and Water.

Skew Angle Estimation and Correction of Hand Written, Textual and Large areas of Non-Textual Document Images: A Novel Approach

IMAGE MATCHING WITH SIFT FEATURES A PROBABILISTIC APPROACH

SHAPE RECOGNITION METHOD BASED ON THE k-nearest NEIGHBOR RULE

High resolution 3D Tau-p transform by matching pursuit Weiping Cao* and Warren S. Ross, Shearwater GeoServices

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

Fitting & Matching. Lecture 4 Prof. Bregler. Slides from: S. Lazebnik, S. Seitz, M. Pollefeys, A. Effros.

A DATA ANALYSIS CODE FOR MCNP MESH AND STANDARD TALLIES

Face Recognition University at Buffalo CSE666 Lecture Slides Resources:

Transcription:

SLAM Summer School 2006 Practcal 2: SLAM usng Monocular Vson Javer Cvera, Unversty of Zaragoza Andrew J. Davson, Imperal College London J.M.M Montel, Unversty of Zaragoza. josemar@unzar.es, jcvera@unzar.es, ajd@doc.c.ac.uk 1 Objectves 1. Understandng the characterstcs of effcent (potentally real-tme) SLAM usng a monocular camera as the only sensor. (a) Map management. (b) Feature ntalzaton. (c) Near and far features. 2. Understandng the nverse depth parametrzaton of map features n monocular SLAM. 3. Understandng the performance lmts of a constant velocty moton model for a camera when no odometry s avalable. 2 Exercse 1. Feature selecton and matchng. One of the characterstcs of vson-based SLAM s that there s too much nformaton n an mage sequence for current computers to process n real-tme. We therefore use heurstcs to select whch features to nclude n the map. The desrable propertes of map features are: 1. Salency: features have to be dentfed by dstnct texture patches. 2. A mnmum number (e.g. 14) should be vsble n the mage at all tmes when ths s not the case, new map features are ntalzed. 3. The features should be spread over the whole mage. The goal of ths exercse s to manually ntalze features n order to meet the above crtera, and to understand better how an automatc ntalzaton algorthm should work. Run mono slam.m. Wth the user nterface, you can add features and perform step by step EKF SLAM: 1. In the frst mage add about ten salent features spread over the mage. You can watch the move juslbol SLAM.mpg (usng for nstance mpeg play on a Unx workstaton) as an example of how to select sutable features (but you can of course select other ones). Ths move shows the results of applyng automatc feature selecton. 2. As the camera moves, some features wll leave the feld of vew, and you wll have to add new ones n order to mantan around 14 vsble map features. 1

3 Exercse 2. Near features and far features. A camera s a bearng-only sensor. Ths means that the depth of a feature cannot be estmated from a sngle mage measurement. The depth of the feature can be estmated only f the feature s observed from dfferent ponts of vew and only f the camera translates enough to produce sgnfcant parallax. In partcular, t may take a very long tme to obtan accurate estmates of the depths of dstant features, snce they dsplay very lttle or no parallax when the camera moves small dstances. The goal of ths exercse s to observe the dfferent evoluton of depth estmates n the cases of near and dstant features and the nfluence that ths has on the camera locaton estmate. 1. Open the vdeo parallax.mpg. Observe the dfferent motons n the mage of features at dfferent depths. Open the vdeo noparallax.mpg (taken from a camera whch does not sgnfcantly translate) and observe that the mage moton of features at dfferent depths. 2. Now look at the vdeo we are usng for ths practcal (juslbol.mpg). Dstngush whch parts of the scene n ths vdeo contan low parallax moton. 3. Run mono slam.m. Observe what happens to the features n the 3D map (ntalzaton value and covarance and value and covarance after several frames). Red dots dsplay the estmated values and red lnes bound 95% probablty regons denotng uncertanty. The code sngles out features #5 and #15 and dsplays ther depth estmates and 95% probablty regons: [lower lmt, estmaton, upper lmt]. When clckng, make sure that feature #5 corresponds to a near one (for example, on the car) and feature #15 corresponds to a far one (for example, the tree appearng on the left). Notce the dfference between the evoluton of the estmates of these near and dstant features. Observe the evoluton of the camera locaton uncertanty (use the axes lmt controls n the user nterface). Observe what happens to features and camera locaton uncertantes n the low parallax moton part of the mage sequence dscussed above n 2. Notce the dfference between ths part of the 3D map (constructed wth low parallax nformaton) and the hgh parallax parts. 4 Exercse 3. Inverse depth parameterzaton. Intalzng a feature n monocular SLAM s a challengng ssue, because the depth uncertanty s not well modelled by a Gaussan. Ths problem s overcome usng nverse depth nstead of the classcal XY Z representaton. The Matlab code of ths practcal uses the nverse depth parametrzaton of feature postons. The total state vector: x = ( x v, y 1, y 2,... y n. (1) s composed of: 2

1 ρ =d α x 1 y + m ρ z scene pont ( θ, φ) x y z mθ (, φ ) x y r z WC WC r C h C parallax angle ( r WC, q WC ) W Fgure 1: Feature parameterzaton and measurement equaton. 1. 13 components that correspond to the locaton, orentaton, and velocty and angular velocty of the camera: r W C q x v = W C v W. (2) ω W 2. The rest of the components are features. Each feature s represented by 6 parameters; the poston of the camera the frst tme the feature was seen x, y, z, a sem-nfnte ray parametrzed wth azmuth-elevaton angles (θ, φ), and the nverse depth ρ of the feature along the ray: y = ( x y z θ φ ρ. (3) So the transformaton from the nverse depth parametrzaton to a standard Eucldean system s: x y z = x y z + 1 ρ m (θ, φ ). (4) where: m = ( cos φ sn θ sn φ cos φ cos θ. (5) The goal of ths exercse s to understand the nverse depth parametrzaton. 1. The code stores partal nformaton about features #5 and #15 n the fle hstory.mat: feature5hstory s a 6 row matrx, each column contanng the feature #5 locaton coded n nverse depth at step k. rhohstory 5 s a row vector contanng the nverse depth estmaton hstory for feature 5. 3

rhohstory 15 s a row vector contanng the nverse depth estmaton hstory for feature 15. rhostdhstory 5 s a row vector contanng the nverse depth standard devaton hstory for feature 5. rhostdhstory 15 s a row vector contanng the nverse depth standard devaton hstory for feature 15. 2. Compute the XY Z Eucldean locaton for feature #5 after processng all the mages. 3. Do a graph wth the value of the nverse depth and the 95% acceptance regon hstory for both features #5 and #15. Use the matlab functons open, fgure, hold, and plot. Comment on the dfference between the two graphs. 4. After processng the whole sequence, what are the estmates and the uncertanty regons expressed n depth for both features? Thnk about a feature at nfnty what nverse depth would t have? In the graphs, are there regons where nfnty s ncluded wthn the uncertanty bounds as a possble depth for each feature? The nverse depth parametrzaton s partcularly valuable n beng able to represent the possblty of features at nfnty. 5 Exercse 4. Constant velocty moton model (optonal) Monocular SLAM uses a camera as the unque sensor, wthout any odometry nput. A constant velocty model s nstead used to model approxmately smooth moton of the camera. Ths model requres parameters to be set defnng the camera frame rate, and the maxmum expected angular and lnear acceleratons. These parameters together determne how much uncertanty s added to the camera poston and orentaton estmates durng each moton predcton, and therefore also determnes the sze of the uncertanty-guded search regons used for feature matchng. Hgh expected acceleratons or a low frame rate wll lead to large search regons. The goal of ths exercse s to analyse the effect of changng the lnear acceleraton, the angular acceleraton and frame rate parameters. 1. The ntal lnear and angular acceleraton tunngs are 6 m s 2 and 6 rad s 2. 2. Increase the angular acceleraton only (for nstance, double the value) and analyse the effect on the search regons. Fnd ths parameter n the fle mono slam.m (ts name s sgma alphanose). 3. Increase the lnear acceleraton only (for nstance, double the value), analyse the effect and compare what happens now. The name of ths parameter s sgma anose. 4. Reduce the frame rate of processng to see what happens when only: (a) 1 out of 2 mages (b) 1 out of 4 mages 4

are processed. Clue: fnd the varable step and the code assocated wth ths varable. You wll also have to modfy the varable deltat whch sets the tme between frames. Does the processng tme has ncrease or decrease as the result of processng less mages? Can you explan ths? References [1] Y. Bar-Shalom and T. E. Fortmann. Trackng and Data Assocaton, volume 179 of Mathematcs n Scence and Engneerng. Academc Press, INC., San Dego, 1988. [2] A. Davson. Real-tme smultaneous localzaton and mappng wth a sngle camera. In Proc. Internatonal Conference on Computer Vson, 2003. [3] R. I. Hartley and A. Zsserman. Multple Vew Geometry n Computer Vson. Cambrdge Unversty Press, ISBN: 0521540518, second edton, 2004. [4] J.M.M Montel, Javer Cvera, and Andrew J. Davson. Unfed nverse depth parametrzaton for monocular slam. In Robotcs Scence and Systems, 2006. 5