31
Particle Filters in Robotics Dr Salman Aslam Associate Professor Avionics Department College of Aeronautical Engineering PAF Academy Risalpur 0 / 31

Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

Particle Filters in Robotics

Dr Salman Aslam

Associate ProfessorAvionics Department

College of Aeronautical EngineeringPAF Academy Risalpur

0 / 31

Page 2: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Outline

1 IntroductionBioCAE

2 Particle FiltersStep 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

3 Examples1D2D

4 Conclusion

Dr Salman Aslam Particle Filters in Robotics

Page 3: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

BioCAE

IntroductionBio (salman at gatech.edu)

Education1 2012: Associate Professor, CAE (teach Signals and Systems, Modern Control)2 2011: PhD, Georgia Tech (Target Tracking Using Residual Vector Quantization)

3 2008: MS ECE, Georgia Tech4 1995: BE EE, US Air Force Academy

Research interests1 Pattern recognition/machine learning + computer vision (thesis)2 Helicopters

Experience1 2011: Samsung Research Labs (Dallas, Texas)2 2010: Qualcomm Multimedia Research (San Diego, California)3 2009: Nvidia Video Research Group (Santa Clara, California)4 2008: Nvidia Video Algorithms Group (Santa Clara, California)5 2007: Siemens Global CoC for Intelligent Video (Atlanta, Georgia)6 2003: Radar triangulation system7 2002: Aircraft deployment patterns of enemy fighters8 2001: V/UHF Jammers9 1995: US Department of Defense, Washington DC

Dr Salman Aslam Particle Filters in Robotics

Page 4: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

BioCAE

CAEHistory

1965: setup in Korangi Creek, Karachi

1983: moved to PAF Academy, Risalpur

1996: affiliated with NUST

2010: re-accredited by PCE, highest score in country

Dr Salman Aslam Particle Filters in Robotics

Page 5: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

BioCAE

CAEDepartments and Faculty

1 Avionics Engineering

2 Aerospace Engineering

3 Industrial Engineering

4 Humanities and Sciences

5 Professional Continuing Education

24 PhDs

38 Masters

Dr Salman Aslam Particle Filters in Robotics

Page 6: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

BioCAE

CAELabs

Avionics1 Basic2 Digital and Embedded Systems3 Guidance, Navigation, Controls4 Antenna and Electromagnetic5 Communications6 Radar7 Microwave8 PCB Prototyping9 Thermal Imaging

Aerospace1 Aerodynamics2 Propulsion and Heat Transfer3 Structures4 Materials Science5 Numerical Analysis6 Aerospace Project

Industrial Engineering workshop, Physics Lab, Chemistry Lab

Dr Salman Aslam Particle Filters in Robotics

Page 7: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Overview

The particle filter is a solution to the recursiveBayesian equations of a time-dynamic system

Ok, so working backwards, we need to know about timedynamic systems, Bayesian equations, recursion and a solutionto these equations:

1 Time dynamic systems2 Bayes Theorem (Prior, Likelihood, Posterior)3 Recursion (Predict and Update)4 Solutions (Kalman and Particle Filters)

Let’s look at these one at a time

Dr Salman Aslam Particle Filters in Robotics

Page 8: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Time dynamic systems

Time-dynamic systems are described by two equations:

xk = fk(xk−1, vk−1)

zk = hk(xk ,nk)

States are denoted by xObservations are denoted by zProcess noise is denoted by vObservation noise is denoted by nTime is denoted by kState prediction model, fk : RD × RD → RD , describes stateevolutionObservation model, hk : RN × RN → RN , relates observationsto the states

Dr Salman Aslam Particle Filters in Robotics

Page 9: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Time dynamic systemsExamples

Robotics: motion of a robot

Agriculture: color change of a fruit

Human body: Secretion of insulin

Finance: Fluctuations in inflation

Mechanical: Spring mass system

Dr Salman Aslam Particle Filters in Robotics

Page 10: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Bayes Theorem

Ok, time dynamic systems make sense but how does the Bayestheorem fit into our picture here?

Dr Salman Aslam Particle Filters in Robotics

Page 11: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Bayes TheoremGraphical demonstration

20 10

100

5

Dr Salman Aslam Particle Filters in Robotics

Page 12: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Bayes TheoremExample from real life: Prosecutor’s fallacy

If someone is guilty, the probability of a DNA match is large,p(D|g) is large

convict?

Probability that a person is guilty if picked randomly from alarge database is small, p(g) is very small

Probability p(D, g) = p(D|g)p(g) is not so large after all

So the prior information, p(g) is important!

Dr Salman Aslam Particle Filters in Robotics

Page 13: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Bayes TheoremRelationship with time dynamic systems

p(x |z) = p(z|x)p(x)p(z)

Posterior distribution of states (our goal)Prior distribution of states (our belief)Likelihood distribution (we can compute it)Observation probability (we won’t need it!)

Now, what’s the deal with recursion?

Dr Salman Aslam Particle Filters in Robotics

Page 14: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Recursion

In Bayes’ theorem, we talked about 3 important probabilitydistributions (posterior, prior, likelihood)

We want to compute the posterior distribution at every timeinstant

This is recursion, incremental updates, not batch mode

Dr Salman Aslam Particle Filters in Robotics

Page 15: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Recursion

We assume that our system and observation models areavailable in probabilistic form

The probabilistic state-space formulation and the requirementfor updating of information on receipt of new measurementsare ideally suited for the Bayesian approach

1 Prediction: predict states using model2 Update: correction applied to prediction after observation

arrives

Dr Salman Aslam Particle Filters in Robotics

Page 16: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Recursiona. Predict

xk state at time k

Zk−1 all observations till time k − 1

model posterior from time k-1

marginalization

nuisance variable

Bayes' rule

independence,Bayes' rule

Dr Salman Aslam Particle Filters in Robotics

Page 17: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Recursionb. Update

likelihood prior (prediction)

posterior

Bayes' rule

independence, Bayes' rule

nuisance variable

Dr Salman Aslam Particle Filters in Robotics

Page 18: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

SolutionsHow to implement?

The recursive propagation of the state density is only aconceptual solution in that in general, it cannot be determinedanalytically.

Solutions do exist in a restrictive set of cases, including theKalman filter and grid-based filter

State space is discrete and consists of finite number of states

In many situations of interest, the conditions of linearity andGaussianity do not hold, and approximations are necessary.

Three approximate nonlinear Bayesian filters are the ExtendedKalman Filter (EKF), approximate grid based methods andthe particle filter

Dr Salman Aslam Particle Filters in Robotics

Page 19: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

SolutionsBigger picture

PROBABILISTIC GRAPHICAL MODELS

Markov Models

Bayesian networks Markov Random Fields

Static Dynamic

Dynamical systems

observable hidden linear non-linear

Directed Un-directed

Kalman Extended KalmanUnscented Kalman

Particle Filter

segmentation, denoising, stereo, photo-montage

tracking

tracking

speech

Dr Salman Aslam Particle Filters in Robotics

Page 20: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsa. Hidden Markov Models

S1

a01

a10

a00 a11

S0

v0 v1

b01b10b00

b10

xk-1 xk xk+1x1 x2

zk-1 zk zk+1z1 z2

Dr Salman Aslam Particle Filters in Robotics

Page 21: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsb. Kalman Filter

x[k-1] x[k]

z [k]B

-

K

A Z-1

Cx[k]

x[k-1] x[k]

z[k]B

w[k] v[k]

A Z-1

Cx[k]u[k]

-

LINEAR DYNAMICAL SYSTEM

KALMAN FILTER

Dr Salman Aslam Particle Filters in Robotics

Page 22: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsc. Particle filter

All densities are modeled using samples

Two step process, predict, and then update using resampling

Dr Salman Aslam Particle Filters in Robotics

Page 23: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsc. Particle filter

http://lia.deis.unibo.it/research/SOMA/MobilityPrediction/filters.shtml

Dr Salman Aslam Particle Filters in Robotics

Page 24: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsc. Particle filter

There is an essential duality between a sample and the density(distribution) from which it is generated

The density generates the sampleConversely, given a sample, we can approximately recreate thedensity

In terms of densities, the inference process is encapsulated inthe updating of the prior density p(x) to the posterior densityp(x |z) through the medium of the likelihood function p(z |x)

In terms of samples, this corresponds to the updating of asample from p(x) to a sample from p(x |z) through thelikelihood function p(z |x)

Smith Gelfand, Bayesian Statistics Without Tears, A Sampling Resampling Perspective, 1992

Dr Salman Aslam Particle Filters in Robotics

Page 25: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsc. Particle filter

In many application areas, elements of nonlinearity andnon-Gaussianity need to be included to accurately model theunderlying dynamics of a physical system

Moreover, it is typically crucial to process data on-line as itarrives

Particle filters are Sequential Monte Carlo (SMC) methodsbased on point-mass (or ”particle”) representations ofprobability densities which can be applied to any state-spacemodel

The particle filter generalizes the Kalman filter

The algorithm used is Sequential Importance Sampling (SIS)

Arulampalam et al., A tutorial on particle filters for online nonlinear non-Gaussian Bayesian Tracking, 2002

Dr Salman Aslam Particle Filters in Robotics

Page 26: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Step 1. Time dynamic systemsStep 2. Bayes TheoremStep 3. RecursionStep 4. Solutions

Solutionsc. Particle filter

(a) Reference (uniform)density and test PDF.

>

>

>

reference cdf

test cdf

>

>

>

transition, therefore retain

>>

> >

(b) Comparing CDFs.

1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

(c) Particles 4, 7 and 9are picked repeatedly.

Particle filter, resampling.

Dr Salman Aslam Particle Filters in Robotics

Page 27: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

1D2D

Examples

Let’s look at a 1D and 2D example.

Dr Salman Aslam Particle Filters in Robotics

Page 28: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

1D2D

Example1D tracking with particle filter

Dr Salman Aslam Particle Filters in Robotics

Page 29: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

1D2D

Example2D tracking with particle filter

Use random affine deformation to model motion

Perturb affine parametersFor each affine set,

apply forward affine transform on zero-centered canonical gridbilinear interpolation to extract ROI, one per affine set, asshown below

For set corresponding to least reconstruction error, applyforward affine transform to (x, y) and compare with groundtruth to get track error

Dr Salman Aslam Particle Filters in Robotics

Page 30: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

1D2D

Example2D tracking with particle filter

Density of grid points is greater in the horizontal direction.

(-15.5, -15.5) (16.5, -15.5)(16.5, 16.5)(-15.5, 16.5)

Grid A: 33x33

Grid B: 33x33

Parameters to affinely warp Grid A to Grid B

Grid B: 33x33

(moved to coordinate (1,1))

Dr Salman Aslam Particle Filters in Robotics

Page 31: Dr Salman Aslam - CYPHYNETS · 2019-01-28 · Dr Salman Aslam Particle Filters in Robotics. Introduction Particle Filters Examples Conclusion Step 1. Time dynamic systems Step 2

IntroductionParticle Filters

ExamplesConclusion

Conclusion

Particle filter is a sub-optimal solution to the Bayesian recursionequations

Dr Salman Aslam Particle Filters in Robotics