Human-Computer Interaction Kalman Filter Hanyang University Jong-Il Park.

27
Human-Computer Interaction Human-Computer Interaction Kalman Filter Kalman Filter Hanyang University Jong-Il Park

Transcript of Human-Computer Interaction Kalman Filter Hanyang University Jong-Il Park.

Human-Computer InteractionHuman-Computer Interaction Kalman FilterKalman Filter

Hanyang University

Jong-Il Park

Rudolf Emil KalmanRudolf Emil Kalman

Born 1930 in Hungary Born 1930 iHungary

BS and MS from MIT BS and MS from MIT

PhD 1957 from Columbia Filter developed in 1960-61 Filter Now retired Now retired

What is a Kalman filter?What is a Kalman filter?

Just some applied math. A linear system: f(a+b) = f(a) + f(b). Noisy data in hopefully less noisy

out. But delay is the price for filtering... Pure KF does not even adapt to the

data.

What is it used for?What is it used for?

Tracking missiles Tracking missiles Tracking heads/hands/drumsticks Extracting lip motion from video Fitting Bezier patches to point data Lots of computer vision

applications Economics Navigation Navigation

Typical Kalman filter Typical Kalman filter applicationapplication

system

measuring device

Kalmanfilter

measurement noise

system noise

systemstate(desired but not known )

controls

observedmeasurement

optimalestimate

(system state)

Simple exampleSimple example

Observation 1Observation 1

Observation 2Observation 2

Combine the twoCombine the two Combine estimates

Combine variances

Combined estimatesCombined estimates

Online weighted average!

But suppose we are But suppose we are movingmoving……

Not all the difference is error Some may be motion Some may be

motion KF can include a motion model Estimate velocity and position

Process modelProcess model

Describes how the state changes over time

The state for the first example was scalar

The process model was nothing changes

A better model might be A State is a 2-vector [ position, velocity ] positionn+1= positionn + velocityn * time

velocityn+1= velocityn

Measurement modelMeasurement model

“What you see from where you are”

Predict Predict Correct Correct

KF operates by KF operates by Predicting the new state and its

uncertainty Correcting with the new

measurement Correcting with the new measurementPredict

Correct

Kalmanfilter

FormulationFormulation

Kalman FilterKalman Filter

Kalman filter assumes Kalman filter assumes linearitylinearity Only matrix operations allowed Measurement is a linear function of

state Next state is linear function of

previous state state

If nonlinear No way?projection

If nonlinear If nonlinear Extended Kalman Extended Kalman ilter(EKF)ilter(EKF)Nonlinear Process (Model)

Process dynamics: A becomes a(x)Measurement: H becomes h(x)

Filter ReformulationUse functions instead of matricesUse Jacobians to project forward, and

to relate measurement to state

Formulation - EKFFormulation - EKF

Extended Kalman filterExtended Kalman filter

JacobianJacobian

Partial derivative of measurement with respect to state

If measurement is a vector of length M and state has length N

Jacobian of measurement fucntion will be MxN matrix of numbers (not equations)

Often evaluating h(x) and Jacobian(h(x)) at the same time cost only a little extra

Simulation Simulation –– Exact R Exact R

Convergence of Convergence of covariance Pcovariance P

Simulation Simulation –– Bigger R Bigger R

Simulation Simulation –– Smaller R Smaller R

Concluding remarksConcluding remarks Kalman filter is a very useful and

powerful Optimal in many sense Linear system -> Kalman filter Nonlinear system -> Extended Kalman

filter Effect of initial value

Covariance matrix – less sensitive Measurement noise

Over-estimated -> slow convergence Under-estimated -> noisy output

ResourcesResources

Kalman filter website maintained by Greg Welch