Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CRF-Filters: Discriminative Particle Filters for Sequential State Estimation

1,631 views

Published on

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

Published in: Technology, Economy & Finance
  • Login to see the comments

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 defined 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 defined 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 defined 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 define ϕ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-filter
  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-filter 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-filter 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-filter 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 filter 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 influence of f i ˆ on particle filter 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-filters compared to generative particle filter 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 filter 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 filter 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 filter performance depending on the task 4 . . . can deal with correlated measurements 5 . . . do not explicitly account for dependencies between sensor data

×