Successfully reported this slideshow.                                                            Upcoming SlideShare
×

# CRF-Filters: Discriminative Particle Filters for Sequential State Estimation

1,505 views

Published on

Seminar talk on the paper by Limketkai, Fox and Liao.

Published in: Technology, Economy & Finance
• Full Name
Comment goes here.

Are you sure you want to Yes No Are you sure you want to  Yes  No

Are you sure you want to  Yes  No

### CRF-Filters: Discriminative Particle Filters for Sequential State Estimation

1. 1. CRF-F: D P F  S S E B L, D F  L L Hannes Schulz University of Freiburg, ACS Feb 2008
2. 2. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
3. 3. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
4. 4. Intro Transformation of Directed Model to CRF Application Experimental Results C: S E C D M A  S E ut−2 ut−1 xt−2 xt−1 xt ... ... n 1 2 n zt−1 1 zt 2 zt zt zt−1 zt−1 P (xt |u1:t −1 , z1:t ) = ηP (zt |xt ) P (xt |ut −1 , xt −1 )P (xt −1 |u1:t −2 , z1:t −1 ) dxt −1
5. 5. Intro Transformation of Directed Model to CRF Application Experimental Results D  D M P p (zt |xt ) = n i =1 p (zti |xt ) p (xt +1 |xt , u)
6. 6. Intro Transformation of Directed Model to CRF Application Experimental Results D  D M P p (zt |xt ) = n i =1 p (zti |xt ) p (xt +1 |xt , u) i P (zt |xt) ˆi zt zmax zrand
7. 7. Intro Transformation of Directed Model to CRF Application Experimental Results D  D M P p (zt |xt ) = n i =1 p (zti |xt ) p (xt +1 |xt , u) i P (zt |xt) ˆi zt zmax zrand
8. 8. Intro Transformation of Directed Model to CRF Application Experimental Results D  D M P p (zt |xt ) = n i =1 p (zti |xt ) p (xt +1 |xt , u) i P (zt |xt) ˆi zt zmax δrot2 zrand xt δtrans δrot1 xt−1 u = (δrot1 , δrot2 , δtrans ) executed with gaussian noise
9. 9. Intro Transformation of Directed Model to CRF Application Experimental Results A P   D A p (zti |xt ) are not cond. independent zt xt
10. 10. Intro Transformation of Directed Model to CRF Application Experimental Results A P   D A ut−2 ut−1 xt−2 xt−1 xt p (zti |xt ) are not cond. independent Sensor models can only be ... ... n 1 2 n zt−1 1 2 zt zt−1 zt−1 zt zt generated seperatly for each beam i P (zt |xt) ˆi zt zmax zrand
11. 11. Intro Transformation of Directed Model to CRF Application Experimental Results A P   D A ut−2 ut−1 xt−2 xt−1 xt p (zti |xt ) are not cond. independent Sensor models can only be ... ... n 1 2 n zt−1 1 2 zt zt−1 zt−1 zt zt generated seperatly for each beam Assumption that measurements are independent: “Works i P (zt |xt) ˆi zt zmax surprisingly well”. . . if. . . zrand
12. 12. Intro Transformation of Directed Model to CRF Application Experimental Results A P   D A ut−2 ut−1 xt−2 xt−1 xt p (zti |xt ) are not cond. independent Sensor models can only be ... ... n 1 2 n zt−1 1 2 zt zt−1 zt−1 zt zt generated seperatly for each beam Assumption that measurements are independent: “Works i P (zt |xt) ˆi zt zmax surprisingly well”. . . if. . . increasing uncertainty (tweaking) using every 10th measurement zrand ...
13. 13. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
14. 14. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
15. 15. Intro Transformation of Directed Model to CRF Application Experimental Results I: CRF Undirected graphical models ut−2 ut−1 xt−2 xt−1 xt zt−1 zt
16. 16. Intro Transformation of Directed Model to CRF Application Experimental Results I: CRF Undirected graphical models Every (possible) dependency ut−2 ut−1 represented by edge xt−2 xt−1 xt zt−1 zt
17. 17. Intro Transformation of Directed Model to CRF Application Experimental Results I: CRF Undirected graphical models Every (possible) dependency ut−2 ut−1 represented by edge Distribution deﬁned over products xt−2 xt−1 xt of functions over cliques zt−1 zt
18. 18. Intro Transformation of Directed Model to CRF Application Experimental Results I: CRF Undirected graphical models Every (possible) dependency ut−2 ut−1 represented by edge Distribution deﬁned over products xt−2 xt−1 xt of functions over cliques zt−1 zt Functions are called clique potentials
19. 19. Intro Transformation of Directed Model to CRF Application Experimental Results I: CRF Undirected graphical models Every (possible) dependency ut−2 ut−1 represented by edge Distribution deﬁned over products xt−2 xt−1 xt of functions over cliques zt−1 zt Functions are called clique potentials Clique potentials represent compatibility of their variables
20. 20. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
21. 21. Intro Transformation of Directed Model to CRF Application Experimental Results CRF-M  S E ut−2 ut−1 xt−2 xt−1 xt zt−1 zt T 1 p (x0:T |z1:T , u0:T −1 ) = ϕp (xt , xt −1 , ut −1 )ϕm (xt , zt ) Z (z1:T , u1:T −1 ) t =1
22. 22. Intro Transformation of Directed Model to CRF Application Experimental Results CRF-M  S E ut−2 ut−1 xt−2 xt−1 xt zt−1 zt T 1 p (x0:T |z1:T , u0:T −1 ) = ϕp (xt , xt −1 , ut −1 )ϕm (xt , zt ) Z (z1:T , u1:T −1 ) t =1 Z (·): all trajectories ϕp (·)ϕm (·)
23. 23. Intro Transformation of Directed Model to CRF Application Experimental Results CRF-M  S E ut−2 ut−1 xt−2 xt−1 xt zt−1 zt T 1 p (x0:T |z1:T , u0:T −1 ) = ϕp (xt , xt −1 , ut −1 )ϕm (xt , zt ) Z (z1:T , u1:T −1 ) t =1 Z (·): all trajectories ϕp (·)ϕm (·) How to deﬁne ϕp (·) and ϕm (·)?
24. 24. Intro Transformation of Directed Model to CRF Application Experimental Results T P P φp ut −1 = (δrot1 , δtrans , δrot2 ) odometry ut −1 = (δrot1 , δtrans , δrot2 ) derived odometry ˆ ˆ ˆ ˆ δrot2 2 Before: Gaussian noise N uti −1 , σi xt δtrans δrot1 xt−1
25. 25. Intro Transformation of Directed Model to CRF Application Experimental Results T P P φp ut −1 = (δrot1 , δtrans , δrot2 ) odometry ut −1 = (δrot1 , δtrans , δrot2 ) derived odometry ˆ ˆ ˆ ˆ δrot2 2 Before: Gaussian noise N uti −1 , σi xt  (δrot1 − δrot1 )2 ˆ      δtrans   fp (xt , xt −1 , ut −1 ) =  (δtrans − δtrans )2       ˆ      3 features   (δrot2 − δrot2 )2 ˆ     δrot1 xt−1
26. 26. Intro Transformation of Directed Model to CRF Application Experimental Results T P P φp ut −1 = (δrot1 , δtrans , δrot2 ) odometry ut −1 = (δrot1 , δtrans , δrot2 ) derived odometry ˆ ˆ ˆ ˆ δrot2 2 Before: Gaussian noise N uti −1 , σi xt  (δrot1 − δrot1 )2 ˆ      δtrans   fp (xt , xt −1 , ut −1 ) =  (δtrans − δtrans )2       ˆ      3 features   (δrot2 − δrot2 )2 ˆ     δrot1 φp (xt , xt −1 , ut −1 ) = exp wp , fp (xt , xt −1 , ut −1 ) xt−1
27. 27. Intro Transformation of Directed Model to CRF Application Experimental Results T P P φp ut −1 = (δrot1 , δtrans , δrot2 ) odometry ut −1 = (δrot1 , δtrans , δrot2 ) derived odometry ˆ ˆ ˆ ˆ δrot2 2 Before: Gaussian noise N uti −1 , σi xt  (δrot1 − δrot1 )2 ˆ      δtrans   fp (xt , xt −1 , ut −1 ) =  (δtrans − δtrans )2       ˆ      3 features   (δrot2 − δrot2 )2 ˆ     δrot1 φp (xt , xt −1 , ut −1 ) = exp wp , fp (xt , xt −1 , ut −1 ) xt−1 1 (a − a )2 ˆ N a, = exp − σ2 2σ2 Gaussian noise N uti −1 , 1 −2wpi if wp < 0 i
28. 28. Intro Transformation of Directed Model to CRF Application Experimental Results R: S M   N¨ B A  i P (zt |xt) ˆi zt zmax zrand n p (zt |xt ) = p (zti |xt ) i =1
29. 29. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ  
30. 30. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ   mti ∈ {1, 0} measured zmax
31. 31. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ   mti ∈ {1, 0} measured zmax mti ∈ {1, 0} expected zmax ˆ
32. 32. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ   mti ∈ {1, 0} measured zmax mti ∈ {1, 0} expected zmax ˆ cti ∈ {1, 0} zti − zti < 20cm ˆ
33. 33. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ   mti ∈ {1, 0} measured zmax mti ∈ {1, 0} expected zmax ˆ cti ∈ {1, 0} zti − zti < 20cm ˆ
34. 34. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ   mti ∈ {1, 0} measured zmax mti ∈ {1, 0} expected zmax ˆ cti ∈ {1, 0} zti − zti < 20cm ˆ
35. 35. Intro Transformation of Directed Model to CRF Application Experimental Results M P φm i P (zt |xt) ˆi zt zmax n     φm (xt , zt ) = exp  wm , fm (zt , xt )  i         i =0 zrand (¬mti ∧ ¬mti )cti (zti − zti )2 ˆ ˆ         i i i        ˆ (¬mt ∧ ¬mt )¬ct      fm (zt , xt ) =  i   (¬mti ∧ mti ) ˆ            ( mti ∧ ¬mti )        ˆ        ( mti ∧ mti ) ˆ   mti ∈ {1, 0} measured zmax mti ∈ {1, 0} expected zmax ˆ cti ∈ {1, 0} zti − zti < 20cm ˆ
36. 36. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
37. 37. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
38. 38. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp Same as sampling from N uti −1 , ˆ 1 i −2wp Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
39. 39. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp u Same as sampling from N uti −1 , ˆ 1 i −2wp Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
40. 40. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp moved Same as sampling from N uti −1 , ˆ 1 −2wpi particles Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
41. 41. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp added Same as sampling from N uti −1 , noise 1 ˆ −2wpi Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
42. 42. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp ...sense... Same as sampling from N uti −1 , ˆ 1 −2wpi Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
43. 43. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp weights Same as sampling from N uti −1 , ˆ 1 −2wpi Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
44. 44. Intro Transformation of Directed Model to CRF Application Experimental Results U  CRF    P F At each time step t: Prediction Move particles according to gaussian noise determined by wp resample Same as sampling from N uti −1 , ˆ 1 i −2wp Correction Particle at xt gets weight φm (xt , zt ) Resample (includes normalization)
45. 45. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
46. 46. Intro Transformation of Directed Model to CRF Application Experimental Results D     wp  wm Drive around in test area
47. 47. Intro Transformation of Directed Model to CRF Application Experimental Results D     wp  wm Drive around in test area Use high-quality scanmatcher to generate “ground truth” trajectory x∗
48. 48. Intro Transformation of Directed Model to CRF Application Experimental Results D     wp  wm Drive around in test area Use high-quality scanmatcher to generate “ground truth” trajectory x∗ ˆ Using arbitrary weights, generate trajectory x with CRF-ﬁlter
49. 49. Intro Transformation of Directed Model to CRF Application Experimental Results D     wp  wm Drive around in test area Use high-quality scanmatcher to generate “ground truth” trajectory x∗ ˆ Using arbitrary weights, generate trajectory x with CRF-ﬁlter Use difference of summed features as weight update(−) : wk = wk −1 + α ( f (x∗ , u, z) − f (x, u, z)) ˆ
50. 50. Intro Transformation of Directed Model to CRF Application Experimental Results D     wp  wm Drive around in test area Use high-quality scanmatcher to generate “ground truth” trajectory x∗ ˆ Using arbitrary weights, generate trajectory x with CRF-ﬁlter Use difference of summed features as weight update(−) : wk = wk −1 + α ( f (x∗ , u, z) − f (x, u, z)) ˆ Decrease α if new Filter cannot track
51. 51. Intro Transformation of Directed Model to CRF Application Experimental Results D     wp  wm Drive around in test area Use high-quality scanmatcher to generate “ground truth” trajectory x∗ ˆ Using arbitrary weights, generate trajectory x with CRF-ﬁlter Use difference of summed features as weight update(−) : wk = wk −1 + α ( f (x∗ , u, z) − f (x, u, z)) ˆ Decrease α if new Filter cannot track loop Adapts weights to task, sensor dependencies/environment, sensor noise, particle ﬁlter parameters
52. 52. Intro Transformation of Directed Model to CRF Application Experimental Results L A Averaged Perceptron Algorithm (Collins 2002) for tagging w k = w k −1 + α f (x∗ , u, z) − f (x, u, z) ˆ Proven to converge even in presence of errors in training data Intuition of learning algorithm: If PF works correctly, then f (xn , un−1 , zn ) = ∗ f (xn , un−1 , zn ) ˆ f i occurs less often in x∗ than in x → decrease inﬂuence of f i ˆ on particle ﬁlter by decreasing w i
53. 53. O 1 I: S E U D M 2 T  D M  CRF Short Introduction to CRF CRF-Model for State Estimation 3 A CRF-Filter Algorithm Learning the Parameters 4 E R
54. 54. Intro Transformation of Directed Model to CRF Application Experimental Results E R Properties of the learned weights Norm of weight vector decreases with number of laser beams in z believes the features/measurements less equivalent to initially introduced “tweaking”?!
55. 55. Intro Transformation of Directed Model to CRF Application Experimental Results E R Properties of the learned weights Norm of weight vector decreases with number of laser beams in z believes the features/measurements less equivalent to initially introduced “tweaking”?! Two specialized CRF-ﬁlters compared to generative particle ﬁlter trained using expectation maximization Tracking Global Error Localization Accuracy Generative 7.52 cm 30% CRF-Filter 7.07 cm 96%
56. 56. Intro Transformation of Directed Model to CRF Application Experimental Results C 1 A CRF is an alternative, undirected graphical model
57. 57. Intro Transformation of Directed Model to CRF Application Experimental Results C 1 A CRF is an alternative, undirected graphical model 2 CRF-Filters use a continuous CRF for recursive state estimation
58. 58. Intro Transformation of Directed Model to CRF Application Experimental Results C 1 A CRF is an alternative, undirected graphical model 2 CRF-Filters use a continuous CRF for recursive state estimation 3 . . . can be trained to maximize ﬁlter performance depending on the task
59. 59. Intro Transformation of Directed Model to CRF Application Experimental Results C 1 A CRF is an alternative, undirected graphical model 2 CRF-Filters use a continuous CRF for recursive state estimation 3 . . . can be trained to maximize ﬁlter performance depending on the task 4 . . . can deal with correlated measurements
60. 60. Intro Transformation of Directed Model to CRF Application Experimental Results C 1 A CRF is an alternative, undirected graphical model 2 CRF-Filters use a continuous CRF for recursive state estimation 3 . . . can be trained to maximize ﬁlter performance depending on the task 4 . . . can deal with correlated measurements 5 . . . do not explicitly account for dependencies between sensor data