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

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

Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Direct Methods in Visual Odometry

Least Squares and SLAM Pose-SLAM

L15. POSE-GRAPH SLAM. NA568 Mobile Robotics: Methods & Algorithms

Humanoid Robotics. Least Squares. Maren Bennewitz

Mobile Robotics. Mathematics, Models, and Methods. HI Cambridge. Alonzo Kelly. Carnegie Mellon University UNIVERSITY PRESS

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

Vehicle Tracking using Optical Features

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

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

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

Lecture 13 Visual Inertial Fusion

GTSAM 4.0 Tutorial Theory, Programming, and Applications

Real-Time Vision-Based State Estimation and (Dense) Mapping

Dense Tracking and Mapping for Autonomous Quadrocopters. Jürgen Sturm

Autonomous Mobile Robot Design

Robotic Perception and Action: Vehicle SLAM Assignment

ICRA 2016 Tutorial on SLAM. Graph-Based SLAM and Sparsity. Cyrill Stachniss

Autonomous Navigation for Flying Robots

High-precision, consistent EKF-based visual-inertial odometry

Outline. Introduction System Overview Camera Calibration Marker Tracking Pose Estimation of Markers Conclusion. Media IC & System Lab Po-Chen Wu 2

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

Robot Mapping. TORO Gradient Descent for SLAM. Cyrill Stachniss

Application questions. Theoretical questions

W4. Perception & Situation Awareness & Decision making

g2o: A General Framework for Graph Optimization Rainer Kümmerle Giorgio Grisetti Hauke Strasdat Kurt Konolige Wolfram Burgard

Visual Tracking (1) Feature Point Tracking and Block Matching

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

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

Eppur si muove ( And yet it moves )

Chapter 3 Numerical Methods

A General Framework for Mobile Robot Pose Tracking and Multi Sensors Self-Calibration

Image processing and features

EE795: Computer Vision and Intelligent Systems

Data Association for SLAM

CVPR 2014 Visual SLAM Tutorial Efficient Inference

Autonomous Navigation in Complex Indoor and Outdoor Environments with Micro Aerial Vehicles

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

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Graph-Based SLAM and Open Source Tools. Giorgio Grisetti

Camera calibration. Robotic vision. Ville Kyrki

Targetless Calibration of a Lidar - Perspective Camera Pair. Levente Tamás, Zoltán Kató

Robotics. Chapter 25. Chapter 25 1

From Least-Squares to ICP

4D Crop Analysis for Plant Geometry Estimation in Precision Agriculture

Vehicle Localization. Hannah Rae Kerner 21 April 2015

CV: 3D to 2D mathematics. Perspective transformation; camera calibration; stereo computation; and more

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

Multiple View Geometry

Overview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models

Egomotion Estimation by Point-Cloud Back-Mapping

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

Graph-Based SLAM (Chap. 15) Robot Mapping. Hierarchical Pose-Graphs for Online Mapping. Graph-Based SLAM (Chap. 15) Graph-Based SLAM (Chap.

ECE276A: Sensing & Estimation in Robotics Lecture 11: Simultaneous Localization and Mapping using a Particle Filter

Graph-based SLAM (Simultaneous Localization And Mapping) for Bridge Inspection Using UAV (Unmanned Aerial Vehicle)

CS 395T Lecture 12: Feature Matching and Bundle Adjustment. Qixing Huang October 10 st 2018

Lost! Leveraging the Crowd for Probabilistic Visual Self-Localization

State Estimation for Continuous-Time Systems with Perspective Outputs from Discrete Noisy Time-Delayed Measurements

Lecture 8.2 Structure from Motion. Thomas Opsahl

Course 23: Multiple-View Geometry For Image-Based Modeling

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

Localization, Mapping and Exploration with Multiple Robots. Dr. Daisy Tang

Stereo and Epipolar geometry

Visual SLAM for small Unmanned Aerial Vehicles

Structured light 3D reconstruction

Deep Learning: Image Registration. Steven Chen and Ty Nguyen

Low Cost solution for Pose Estimation of Quadrotor

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

UAV Autonomous Navigation in a GPS-limited Urban Environment

TORO - Efficient Constraint Network Optimization for SLAM

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

Outline 7/2/201011/6/

Error Simulation and Multi-Sensor Data Fusion

Towards a visual perception system for LNG pipe inspection

L17. OCCUPANCY MAPS. NA568 Mobile Robotics: Methods & Algorithms

Asynchronous Multi-Sensor Fusion for 3D Mapping and Localization

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

Designing a Pick and Place Robotics Application Using MATLAB and Simulink

CSE 490R P3 - Model Learning and MPPI Due date: Sunday, Feb 28-11:59 PM

Probabilistic Robotics

3D Environment Reconstruction

Practical Course WS12/13 Introduction to Monte Carlo Localization

Removing Scale Biases and Ambiguity from 6DoF Monocular SLAM Using Inertial

VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

Colored Point Cloud Registration Revisited Supplementary Material

Introduction to Autonomous Mobile Robots

Multiview Stereo COSC450. Lecture 8

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

3D Point Cloud Processing

(W: 12:05-1:50, 50-N202)

Improving Initial Estimations for Structure from Motion Methods

SLAM with SIFT (aka Mobile Robot Localization and Mapping with Uncertainty using Scale-Invariant Visual Landmarks ) Se, Lowe, and Little

An Automatic Method for Adjustment of a Camera Calibration Room

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

Distributed Vision-Aided Cooperative Navigation Based on Three-View Geometry

Dense 3D Reconstruction. Christiano Gava

Transcription:

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview Arun Das 05/09/2017 Arun Das Waterloo Autonomous Vehicles Lab

Introduction What s in a name? Arun Das Waterloo Autonomous Vehicles Lab

Introduction Nonlinear State Estimation y = Cx Linear measurement model y = h(x) nonlinear measurement model Arun Das Waterloo Autonomous Vehicles Lab

Introduction for Robotics Arun Das Waterloo Autonomous Vehicles Lab

Introduction and Computer Vision Applications. Arun Das Waterloo Autonomous Vehicles Lab

Introduction Motivation Calibration SLAM Localization Build a least-squares estimation framework for many applications. Arun Das Waterloo Autonomous Vehicles Lab

Introduction Outline Syllabus Arun Das Waterloo Autonomous Vehicles Lab

Estimation Backend Vs Front End Front End Sensors Measurement Extraction State Estimate Measurements Back End Optimizer

Introduction Backend Vs Front End Scan-Matching IMU integration Feature Tracking Image Alignment Etc Front End Sensors Measurement Extraction State Estimate Measurements Back End Optimizer

Introduction Backend Vs Front End Scan-Matching IMU integration Feature Tracking Image Alignment Etc MAP Estimation Residual Building Lie Group Theory Factor Graphs Sliding Window Estimation Front End Sensors Measurement Extraction State Estimate Measurements Back End Optimizer

Introduction Calibration SLAM Localization

Introduction SLAM Calibration Localization Lie Group Theory Feature Tracking IMU Preintegration NL Least Squares Factor Graphs

Estimation Lie Group Theory Why do we need to study this? We deal with pose (orientation and position) as estimation states How do we optimize a Rotation or Transformation matrix? Study different parameterizations and representations Arun Das Waterloo Autonomous Vehicles Lab

Estimation Rotations Exponential Map Lie Group SO(3) State Vector Lie Algebra so(3) Parameter Estimate Exp. Map Log Map

Estimation Maximum Likelihood Estimation Most of the problems we will be dealing with can be formulated as a nonlinear least squares optimization Starts with maximum likelihood estimation Back End Nonlinear Least Squares

Estimation Maximum Likelihood Estimation independent measurements parameters Likelihood function: Log Likelihood function:

Estimation Maximum Likelihood Estimation Find the parameters that maximize the average log likelihood function:

Estimation Maximum Likelihood Estimation From estimation perspective, we can map the following concepts: Independent samples Sensor measurements Likelihood functions Measurement and motion models Parameters vehicle / camera poses, calibration quantities, etc.

Estimation Factor Graphs Factor Graphs: Graphical Representation for MLE/MAP x1,x2,x3 are estimation parameters (nodes) o1,o2 are odometry measurements Prior on x1 Likelihood of x2 and x3, given odometry o2 Likelihood of x1 and x2, given odometry o1 * Find x1,x2,x3 to maximize total likelihood:

Estimation Factor Graphs Factor Graphs: Graphical Representation for MLE/MAP Factors between two nodes are called Binary Factors Can also have unary, ternary,, n-ary factors Sometimes called residuals (ceres) constraints (g2o) Likelihood of x3, given measurement z3

Estimation Solving Factor Graphs Factor Graphs are solved using nonlinear optimization Most of the time, cost is formulated as a least squares problem Minimize the sum of squared residuals over all the factors

Estimation Solving Factor Graphs Because they are nonlinear, we need to linearize about a Linearization point using Taylor series expansion Where J is the Jacobian of the residual term

Estimation Solving Factor Graphs Substitute back into the original cost function: Where J is the Jacobian of the residual term To find the minimum, we just need to take the derivative wrt the parameter update and set it equal to zero.

Estimation Solving Factor Graphs To find the minimum, we just need to take the derivative wrt the parameter update and set it equal to zero. We finally get the linearized system we need to solve:

Estimation Solving Factor Graphs We solve the linear system using any method we wish. Note the sparsity pattern of H Once solved, the initial linearization point it updated: The process of linearization and solving is repeated until convergence.

Estimation Issue Issue: Our estimation tools are developed for vector spaces Many times, our state space lives on a manifold How can we use the vector space tools to update manifold quantities?

Estimation Box Operators

Estimation SLAM on Manifolds Approach: Perform same operations as before, but using the box operator where appropriate Not exactly same Jacobian from vector case! Need to take box-plus implementation into account when calculating Jacobian!

Estimation SLAM on Manifolds Solve the linear system Update the system state using box-plus

Estimation SLAM on Manifolds General Summary: Get an initial guess for the estimation parameters Until convergence: Linearize the nonlinear residual terms Calculate the Jacobian, Hessian, and gradient Solve the linear system Update the linearization point using the solved value Batch approach allows for re-linearization over all trajectory Better performance with nonlinear models Less error absorbed into prior

Estimation Batch vs Sliding Window Batch: Optimize over all poses Odometry GPS Optimization Window

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Batch Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior Marginalization

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Estimation Batch vs Sliding Window Sliding Window: Optimize over only poses in the window Odometry GPS Prior

Sensor Measurements Motivation We need to generate measurements from our raw sensor data Define measurement equations which predict the measurements given the state Scan-Matching IMU integration Feature Tracking Image Alignment Etc Front End y = Cx Sensors Linear measurement model y = h(x) Measurement Extraction nonlinear measurement model

Sensor Measurements Generating Residual Terms Residuals: The terms we wish to minimize (cost function contributions). Camera re-projection / photometric error. IMU Pre-integration. Laser Scan Registration. Kinematics models.

Sensor Measurements LIDAR Find the relative transformation between scans, in order to place them in a single co-ordinate system

Batch Estimation Scan Registration Find the relative transformation between scans, in order to place them in a single co-ordinate system

Sensor Measurements Scan Registration Find the relative pose from one time-step to the next using Scan Registration Factor graph

Sensor Measurements Cameras Feature based Track features between images using keypoints and descriptors (SIFT, SURF, FAST, ORB, etc).

Sensor Measurements Cameras Feature based re-projection error predicted meas. actual meas. l n Factor graph Triangulate the landmark location by minimizing re-projection error.

Sensor Measurements Cameras Photometric error Error is defined per-pixel, using photometric error. Facilitates dense map building

Sensor Measurements Odometry Find the relative pose from one time-step to the next using local measurements of velocity Factor graph

Sensor Measurements IMU Find the relative pose from one time-step to the next using local measurements of acceleration (need to account for biases!) Factor graph

Applications Course Overview By the end of this course, you will know how to Arun Das Waterloo Autonomous Vehicles Lab

Application Examples Lens calibration

Application Examples Car Calibration

Application Examples Car Calibration

Application Examples Laser SLAM

Application Examples Visual Inertial Odometry

Application Examples Laser Localization

Application Examples SVO

Application Examples DSO