filtrage particulaire: quelques exemples 23 janvier 06
introduction filtrage particulaire exemples plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples en pratique... des observations et c est tout! y 1, y 2, y 3... à des instants t 1 < t 2 < t 3 une idée sur le problème (et sur ce que l on recherche) suivre les évolutions d un état caché x k = X(t k ) une idée de modélisation un processus d état x k une idée de l état initial x 0 (loi initiale) une dynamique sur l état x k (loi de transition) une relation état/observation (loi de proposition)
introduction filtrage particulaire exemples exemple : canal sans mémoire x 0 x k 1 x k x k+1 y k 1 y k y k+1
introduction filtrage particulaire exemples modèle probabiliste du bruit (intrinsèque au modèle ou servant à masquer les faiblesses du modèle) couple de processus (x k ) k 0 et (y k ) k 1 estimer x k à partir de y 1:k P(x k 1 dx y 1:k 1 ) contrainte temps réel (récursif vs batch) : P(x k dx y 1:k ) y k P(x k dx y 1:k ) mise à jour modèle markovien
introduction filtrage particulaire exemples poursuite avec occultation 1 x 104 0.8 0.6 0.4 obstacles 0.2 0 position du mobile 0.2 0.4 stations 0.6 0.8 trajectoire du mobile 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 x 10 4
introduction filtrage particulaire exemples modèle numérique de terrain altitude au sol altitude altitude du terrain niveau de la mer
introduction filtrage particulaire exemples suivi d un mobile dans Manhattan 500 450 400 350 300 250 200 150 100 50 100 150 200 250 300 350 400
introduction filtrage particulaire exemples modélisation filtre approximation implémentation plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples modélisation filtre approximation implémentation plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples modélisation filtre approximation implémentation (x k, y k ) un modèle de Markov caché avec hypothèse de canal sans mémoire trois objets de base loi initiale µ(dx) = P(x 0 dx) loi de transition (noyau) M k (x, dx ) = P(x k dx x k 1 = x) loi d émission Γ k (x, dy) = P(y k dy x k = x) x 0 x k 1 x k x k+1 y k 1 y k y k+1
introduction filtrage particulaire exemples modélisation filtre approximation implémentation fonction de vraisemblance modèle dominé Γ k (x, dy) = P(y k dy x k = x) = g k (x, y) dy quantifie l adéquation (rekative) x y k G k (x) = g k (x, y k ) exemple : bruit additif gaussien y k = h(x k ) + v k v k iid N(0, σ 2 ) alors G k (x) exp [ 1 2 σ 2 y k h(x) 2]
introduction filtrage particulaire exemples modélisation filtre approximation implémentation plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples modélisation filtre approximation implémentation loi jointe P(x 0:k dx 0:k, y 0:k dy 1:k ) = P(y 0:k dy 1:k x 0:k = x 0:k ) P(x 0:k dx 0:k ) k = P(y 0:k dy 1:k x 0:k = x 0:k ) µ(dx 0 ) M l (x l 1, dx l ) (x Markov) = = k k P(y l dy l x 0:l = x 0:l ) µ(dx 0 ) M l (x l 1, dx l ) (canal s/m) l=1 l=1 l=1 l=1 k k P(y l dy l x l = x l ) µ(dx 0 ) M l (x l 1, dx l ) = µ(dx 0 ) l=1 k [ gl (x l, y l ) M l (x l 1, dx l ) ] dy 1:k ( ) l=1 (canal s/m)
introduction filtrage particulaire exemples modélisation filtre approximation implémentation loi de l observation P(y 0:k dy 1:k ) = P(x 0:k dx 0:k, y 0:k dy 1:k ) dx 0 dx k = E [ k g l (x l, y l ) ] dy 1:k l=1 fonction de vraisemblance L k (y 1:k ) déf = E [ k g l (x l, y l ) ] l=1
introduction filtrage particulaire exemples modélisation filtre approximation implémentation loi de l état sachant l observation P(x 0:k dx 0:k, y 0:k dy 1:k ) = avec ( ) on obtient = P(x 0:k dx 0:k y 1:k = y 1:k ) P(y 1:k dy 1:k ) P(x 0:k dx 0:k y 1:k = y 1:k ) = µ(dx 0) k [ l=1 gl (x l, y l ) M l (x l 1, dx l ) ] E [ k l=1 g l(x l, y l ) ] le filtre E[ϕ(x k ) y 1:k = y 1:k ] = E[ ϕ(x k ) k l=1 g l(x l, y l ) ] E [ k l=1 g l(x l, y l ) ]
introduction filtrage particulaire exemples modélisation filtre approximation implémentation filtre bayésien filtre ˆη k (ϕ) déf = E[ϕ(x k ) y 1:k ] = E[ ϕ(x k ) k l=1 G l(x l ) ] E [ k l=1 G l(x l ) ] déf = ˆγ k(ϕ) ˆγ k (1) prédicteur η k (ϕ) déf = E[ϕ(x k ) y 1:k 1 ] = E[ ϕ(x k ) k 1 l=1 G l(x l ) ] E [ k 1 l=1 G l(x l ) ] déf = γ k(ϕ) γ k (1)
introduction filtrage particulaire exemples modélisation filtre approximation implémentation changement de notation (désolé) filtre η k (ϕ) déf = E[ϕ(x k ) y 1:k ] = E[ ϕ(x k ) k l=1 G l(x l ) ] E [ k l=1 G l(x l ) ] déf = γ k(ϕ) γ k (1) prédicteur η k (ϕ) déf = E[ϕ(x k ) y 1:k 1 ] = E[ ϕ(x k ) k 1 l=1 G l(x l ) ] E [ k 1 l=1 G l(x l ) ] déf = γ k (ϕ) γ k (1)
introduction filtrage particulaire exemples modélisation filtre approximation implémentation filtre optimal récursif et inutile prédiction correction η k 1 η k = η k 1 M k η k = Ψ k (η k ) où ηm k (dx ) déf = η(dx) M k (x, dx ) Ψ k (η)(dx) déf = G k η(dx) = G k(x) η(g k ) η(dx) = G k(x) η(dx) Gk (x ) η(dx )
introduction filtrage particulaire exemples modélisation filtre approximation implémentation plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples modélisation filtre approximation implémentation particules en interaction on ouvre le livre de Pierre à la bonne page et : où mutation sélection ξk 1 1:N ξk 1:N ξ 1:N k ξk i M k (ξk 1 i, dx) indépendamment en i = 1 : N ξ 1 k ξn k iid 1 N N ωk i δ ξ i (dx) où ωi k k i=1 déf = G k (ξ i k ) P N i =1 G k(ξ i k )
introduction filtrage particulaire exemples modélisation filtre approximation implémentation algorithme ξ 1 0 ξn 0 iid µ % particules initiales pour k = 1, 2, faire ξ i k loi(x k x k 1 = ξk 1 i ) pour i = 1 : N % mutation acquisition de y k ωk i G k(ξk i )/ N j=1 G k(ξ j k ) pour i = 1 : N % vraisemblance ξ 1 k ξn k iid N i=1 ωi k δ ξ i k % sélection rendre ξ 1:N k fin pour
introduction filtrage particulaire exemples modélisation filtre approximation implémentation plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution on tire N indices (î 1,..., î N ) parmi (1,..., N) selon la loi multinomiale (ω 1 k,..., ωn k ) î 1:N resample(ωk 1:N ) et ξk 1:N ξî1:n k rééchantillonnage multinomial O(N log(n)) u 1,..., u N iid U[0, 1] u i 1 j 7 ω ω ω î i j
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) rééchantillonnage multinomial bis O(N log(n)) u 1,, u N iid U[0, 1] ω s[1] > ω s[2] > > ω s[n] u i s[1] ω î i = s[j] s[j] ω plus rapide (moins de tests)
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) rééchantillonnage multinomial ter O(N) statistique d ordre u 1 < u 2 < < u N iid U[0, 1] ω s[1] > ω s[2] > > ω s[n] 1 2 3 4 5 6 7 u u u u u u u s[1] s[j] ω ω î i = s[j] il faut savoir simuler des statistiques d ordre
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) le «peigne de Kitagawa» O(N) u 1 U[0, 1 N ] et ui = u 1 + i N, i = 2 : N ω s[1] > ω s[2] > > ω s[n] 1 2 3 4 5 6 7 u u u u u u u s[1] s[j] ω ω î i s[j] mais ça ne marche pas toujours!
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus ω i 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus ω i 1/N 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus i ω 1/N 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus ω i 1/N 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus 1/N 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus 1/N 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation redistribution (suite) redistribution des résidus i ω 1/N 1 2 3 i N n a d intérêt que si la plupart des particules sont sélectionnée dans la première phase déterministe
introduction filtrage particulaire exemples modélisation filtre approximation implémentation quand redistribuer? un critère ( nombre de particules efficaces ) N eff k déf = { 1 1 mauvais [1, N] N i=1 (ωi k )2 N bon
introduction filtrage particulaire exemples modélisation filtre approximation implémentation in fine les ingrédients modèle simuler selon loi(x 0) simuler selon M k (x, dx ) = loi(x k+1 x k = x) quelque soit x évaluer G k (x) = g k (x, y k ) pour tout x à y k fixé rééchantillonnage une routine de rééchantillonnage attention au générateur U[0, 1] extensions simuler selon M k (x, dx ) et corriger avec G k (x) d autres idées pour le rééchantillonnage adapter le nombre de particules? multimodale?
introduction filtrage particulaire exemples ex1 ex2 ex3 plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples ex1 ex2 ex3 plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples ex1 ex2 ex3 poursuite avec occultation 1 x 104 0.8 0.6 0.4 obstacles 0.2 0 position du mobile 0.2 stations 0.4 0.6 0.8 trajectoire du mobile 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 x 10 4 un mobile dans le plan S stations de mesure : mesures d angle L segments : occultent le déplacement du mobile (exemple dû à Simon Maskell)
introduction filtrage particulaire exemples ex1 ex2 ex3 modèle ( ) ( r 1 équation d état x k = k = rk 2 initialisation x 0 N ( x 0, σ 2 0 I) r 1 k 1 r 2 k 1 ) ( ) w 1 + σ k w wk 2 équation d observation : pour chacune des stations s = 1 S si la station s ne voit pas le mobile pas de mesure si la station s voit le mobile la mesure est : yk s = h s(x k ) + σ v v k avec h s (x) = arctg ( ) r 1 r s,1 r 2 r s,2 (r s,1 r s,2 ) sont les coordonnées de la station s
introduction filtrage particulaire exemples ex1 ex2 ex3 filtre particulaire initialisation ξ i 0 x 0 + σ mutation ξ i k ξ i k 1 + σ w ( N (0,1) N (0,1) ( N (0,1) N (0,1) ) pour i = 1 : N ) pour i = 1 : N
introduction filtrage particulaire exemples ex1 ex2 ex3 filtre particulaire (suite) vraisemblance : à l instant k, on calcule la vraisemblance ω i,s k de la particule ξk i pour la station s cas 1 : la station voit le mobile 00 11 particule 00 11 01 01 obstacles i 01 mobile obstacles 00 11 00 11 particule 01 01 i 01 mobile s station s station la station voit la particule ω i,s k = la station ne voit pas la particule exp ( 1 2 σ v y s k h s(ξ i k ) 2) si s voit la particule ξ i k 0 si s ne voit pas la particule ξ i k
introduction filtrage particulaire exemples ex1 ex2 ex3 filtre particulaire (suite) cas 2 : la station ne voit pas le mobile 00 11 00 11 particule 01 01 i 01 mobile 00 11 00 11 particule 01 01 i 01 mobile s obstacles s obstacles station station la station voit la particule la station ne voit pas la particule ω i,s k = { 0 si s voit la particule ξ i k 1 si s ne voit pas la particule ξ i k vraisemblance de la particule ξ i k à l instant k : ω i k = S s=1 ω i,s k
introduction filtrage particulaire exemples ex1 ex2 ex3 plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples ex1 ex2 ex3 modèle numérique de terrain altitude au sol altitude altitude du terrain niveau de la mer
introduction filtrage particulaire exemples ex1 ex2 ex3 modélisation équation d état : modèle à cap et vitesse constants (bruit) x k = ( r 1 k r 2 k v k ck ) coordonnée en x1 coordonnée en x 2 vitesse cap = r 1 k 1 rk 1 2 v k 1 c k 1 +c t v k 1 cos(c k 1 ) v k 1 sin(c k 1 ) σ v wk 1 1 σ c wk 1 2 équation d observation : utilisation de la carte numérique y k = h(x k ) + bruit d observation où h(x k ) est l altitude du terrain à la position (r 1 k, r2 k )
introduction filtrage particulaire exemples ex1 ex2 ex3 suivi d un mobile dans Manhattan 500 450 400 350 300 250 200 150 100 50 100 150 200 250 300 350 400
introduction filtrage particulaire exemples ex1 ex2 ex3 modélisation équation d état : particule brownienne ( ) ( ) ( r 1 x k = k rk 1 = 1 + σ rk 2 rk 1 2 w w 1 k 1 w 2 k 1 ) équation d observation : utilisation des cartes numériques d atténuation y s k = h s(x k ) + bruit d observation où h s (x k ) est l atténuation de la station s à la positon x k
introduction filtrage particulaire exemples ex1 ex2 ex3 plan 1 introduction 2 filtrage particulaire modélisation filtre approximation implémentation 3 exemples exemple 1 : poursuite avec occultation exemple 2 : MNT exemple 3 : poursuite dans une séquence d images
introduction filtrage particulaire exemples ex1 ex2 ex3 modélisation observations : séquence d images y 1 y 2 y K, chaque image se décompose en où s S est l indice de pixel y k (s) = I rk (s) + c (bruit) N(0, 1) I rk (s) bruit r k = (r 1 k, r2 k ) R2 position (inconnue) d un mobile dans le plan
introduction filtrage particulaire exemples ex1 ex2 ex3 modélisation (suite) PSF (point spread function) I r (s) déf = δ2 c ( 2πσ 2 exp (s1 δ r 1 ) 2 2σ 2 (s2 δ r 2 ) 2 ) 2σ 2 1 s1 δ r 1 <3 1 s2 δ r 2 <3 où s = (s 1, s 2 ) S, r = (r 1, r 2 ) R 2, δ taille du pixel
introduction filtrage particulaire exemples ex1 ex2 ex3 modélisation (suite) fonction de vraisemblance P(y k dy x k = x) = g k (x, y) dy où { g k (x, y) exp 1 [ Ir (s) y(s) ] } 2 2 c (bruit) s S (on dispose d une expression plus simple à calculer)
introduction filtrage particulaire exemples ex1 ex2 ex3 équation d état x k = x(t k ) avec x(t) = (r 1 (t), v 1 (t), a 1 (t), r 2 (t), v 2 (t), a 2 (t)) avec r j (t) 0 1 0 r j (t) 0 d v j (t) = 0 0 1 v j (t) dt + 0 dw j (t) a j (t) 0 0 0 a j (t) 1 M k (x, dx ) = P(x(t k ) dx x(t k 1 ) = x) seul (rk 1, r2 k ) est utilisé dans l observation
introduction filtrage particulaire exemples ex1 ex2 ex3 rao blackwellisation x k = (a k, v k, r k ) seul r k apparaît dans l observation loi(a k, v k r k ) est gaussienne technique hybride r k est traité comme particule (a k, v k ) est traité par filtre de Kalman c est plus lourd mais plus précis
introduction filtrage particulaire exemples ex1 ex2 ex3 fin