A Kalman Filter for Robust Outlier Detection Jo-Anne Ting, - - PowerPoint PPT Presentation

a kalman filter for robust outlier detection
SMART_READER_LITE
LIVE PREVIEW

A Kalman Filter for Robust Outlier Detection Jo-Anne Ting, - - PowerPoint PPT Presentation

A Kalman Filter for Robust Outlier Detection Jo-Anne Ting, Evangelos Theodorou, Stefan Schaal Computational Learning & Motor Control Lab University of Southern California IROS 2007 October 31, 2007 Outline Motivation Quick review


slide-1
SLIDE 1

A Kalman Filter for Robust Outlier Detection

Jo-Anne Ting, Evangelos Theodorou, Stefan Schaal Computational Learning & Motor Control Lab University of Southern California IROS 2007 October 31, 2007

slide-2
SLIDE 2

IROS 2007 2

  • Motivation
  • Quick review of the Kalman filter
  • Robust Kalman filtering with Bayesian weights
  • Experimental results
  • Conclusions

Outline

slide-3
SLIDE 3

IROS 2007 3

  • Consider real-time applications where storing data samples may not be a

viable option due to high frequency of sensory data

  • In systems where high quality sensory data is needed, reliable detection
  • f outliers is essential for optimal performance (e.g. legged locomotion):
  • The Kalman filter (Kalman, ’60) is commonly used for real-time tracking,

but it is not robust to outliers!

Motivation

slide-4
SLIDE 4

IROS 2007 4

Previous Methods

Complicated resulting parameter estimation for systems with transient disturbances Difficult & involved filter implementation Heavy computation not suitable for real-time applications Need to determine the optimal values of open parameters 1) Use non-Gaussian distributions for random variables (Sorenson & Alspach ’71, West ’82) 2) Model observation & state noise as non-Gaussian, heavy-tailed distributions (Masreliez ’75) 3) Use resampling or numerical integration (Kitagawa ’87) 4) Use a robust least squares approach & model weights with heuristic functions (e.g., Durovic & Kovacevic, ’99) Drawback Robust Kalman filter approach

slide-5
SLIDE 5

IROS 2007 5

  • Motivation
  • Quick review of the Kalman filter
  • Robust Kalman filtering with Bayesian weights
  • Experimental results
  • Conclusions

Outline

slide-6
SLIDE 6

IROS 2007 6

  • The system equations for the Kalman filter are as follows:

A Quick Review of the Kalman Filter

zk = Ck + vk k = Ak1 + sk

Observation matrix State transition matrix

sk ~ Normal 0,Q

( )

State noise: Observation noise:

vk ~ Normal 0,R

( )

slide-7
SLIDE 7

IROS 2007 7

Standard Kalman Filter Equations

Propagation: k

' = A k1

k

' = Ak1AT + Q

Update: Sk

' = Ck ' CT + R

( )

1

Kk

' = k ' CTSk '

k = k

' + Kk ' zk Ck '

( )

k = I Kk

' C

( )k

'

Can use ML framework to estimate system dynamics (Myers & Tapley, 1976)

slide-8
SLIDE 8

IROS 2007 8

  • Motivation
  • Quick review of the Kalman filter
  • Robust Kalman filtering with Bayesian weights
  • Experimental results
  • Conclusions

Outline

slide-9
SLIDE 9

IROS 2007 9

  • Use a weighted least squares approach & learn the optimal weights:

Robust Kalman Filtering with Bayesian Weights

zk k,wk ~ Normal Ck,R / wk

( )

k k1 ~ Normal Ak1,Q

( )

wk ~ Gamma awk ,bwk

( )

Kalman filter

k1 zk1 zk k

Robust Kalman filter with Bayesian weights

k1 zk1 zk k wk wk1 Qk Qk1 Ck Ck1 Rk Rk1 Ak Ak1

slide-10
SLIDE 10

IROS 2007 10

  • We can treat this as an EM learning problem (Dempster & Laird, ’77):
  • We use a variational factorial approximation of the true posterior

distribution: to get analytically tractable inference (e.g., Ghahramani & Beal, ’00).

Inference Procedure

Q w,

( ) =

Q wi

( )

i=1 N

  • Q i i1

( )

i=1 N

  • Q 0

( )

Maximize log p 1:k,zi,w1:k

( )

i=1 N

slide-11
SLIDE 11

IROS 2007 11

Robust Kalman Filter Equations

Propagation: k

' = Ak k1

k

' = Qk

Update: Sk

' = Ckk ' Ck T + Rk

wk

  • 1

Kk

' = k ' Ck TSk '

k = k

' + Kk ' zk Ckk '

( )

k = I Kk

' Ck

( )k

'

Propagation: k

' = A k1

k

' = Ak1AT + Q

Update: Sk

' = Ck ' CT + R

( )

1

Kk

' = k ' CTSk '

k = k

' + Kk ' zk Ck '

( )

k = I Kk

' C

( )k

'

Compare to standard Kalman filter

wk = awk 0 + 1 2 bwk 0 + zk Ckk

( )

T Rk 1 zk Ckk

( )

slide-12
SLIDE 12

IROS 2007 12

Important Things to Note

1) Has the same computational complexity as the standard Kalman filter

2) Is principled & easy to implement (no heuristics) 3) Offers a natural framework to incorporate prior knowledge of the presence of outliers

  • Our robust Kalman filter:
slide-13
SLIDE 13

IROS 2007 13

  • Motivation
  • Quick review of the Kalman filter
  • Robust Kalman filtering with Bayesian weights
  • Experimental results
  • Conclusions

Outline

slide-14
SLIDE 14

IROS 2007 14

Real-time Outlier Detection on LittleDog

Our robust KF performs as well as a hand- tuned KF (that required prior knowledge and, hence, is near-optimal) Outliers

slide-15
SLIDE 15

IROS 2007 15

  • Motivation
  • Quick review of the Kalman filter
  • Robust Kalman filtering with Bayesian weights
  • Experimental results
  • Conclusions

Outline

slide-16
SLIDE 16

IROS 2007 16

  • We have introduced an outlier-robust Kalman filter that:

1) Is principled & easy to implement 2) Has the same computational complexity as the Kalman filter 3) Provides a natural framework to incorporate prior knowledge of noise

  • This framework can be extended to other more complex, nonlinear filters

& methods in order to incorporate automatic outlier detection abilities.

Conclusions

slide-17
SLIDE 17

IROS 2007 17

Final Posterior EM Update Equations

E-step: k = wk Ck

TRk 1Ck + Qk 1

( )

1

k = k Qk

1Ak k1 + wk Ck TRk 1zk

( )

wk = awk 0 + 1 2 bwk 0 + zk Ckk

( )

T Rk 1 zk Ckk

( )

M-step: Ck = wi zi i

T i=1 k

  • wi

ii

T i=1 k

  • 1

Ak = i i1

T i=1 k

  • i1i1

T i=1 k

  • 1

rkm = 1 k wi zi Ck(m,:)i

( )

2 i=1 k

  • qkn = 1

k wi i Ak(n,:)i1

( )

2 i=1 k

  • These are computed once for each time step k (e.g.,

Ghahramani & Hinton, 1996) Need to be written in incremental form

slide-18
SLIDE 18

IROS 2007 18

Incremental Version of M-step Equations

M-step: Ck =

k wzT

  • k

wT

  • (

)

1

Ak =

k T

  • k

' '

  • (

)

1

rkm = 1 k

km wzz

  • 2Ck(m,:)

km wz

  • + diag Ck(m,:)

k wT

  • Ck(m,:)T

{ }

  • qkn = 1

k

kn 2

  • 2Ak(n,:)

kn '

  • + diag Ak(n,:)

k ' '

  • Ak(n,:)T

{ }

  • Gather sufficient statistics to re-write M-step equations in

incremental form (i.e., only using values observed or calculated in the current time step, k):