Le filtrage au cours des âges Du filtre de Kalman au filtrage particulaire André Monin

Preview:

Citation preview

Le filtrage au cours des âges

Du filtre de Kalman au filtrage particulaire

André Monin

Objectif

Estimer l'état d'un système dynamique perturbé aléatoirement aux vues d'un processus d'observation

Démarche

• Modélisation globale du système– Etat du système– Processus d’observation

• Analyse du modèle – Linéaire / Non linéaire– Bruits Gaussiens / Non Gaussiens– Observabilité

• Choix d’un critère d’estimation• Désignation d’une technique de filtrage adaptée au modèle

ModélisationBase la modélisation : Processus stochastiques = Variable aléatoire

indicée par le temps

Description par probabilité conjointe

• Fonction de répartition :

• Mesure de probabilité :

• Densité de probabilité :

• Moments (moyenne, autocorrélation, …) :

• …

Pr(X t0< xt0

,X t1< xt1

,...,X tn< xtn

)

dPXt0 ...Xtn(xt0

,...,xtn)

pXt0 ...Xtn(xt0

,...,xtn)

E[X t0

k0 ...X tn

kn ]

Analyse d’un processus stochastique

Objectif : “Séparer” partie prévisible / martingale

Modèle d’état gouverné par des bruits blancs

Bruits blancs = Processus à réalisations indépendantes dans le temps (et de moyenne nulle)

Ignotus

Données

tw

Bruit

),(1 ttt wxfx =+

Capteurs

tx

Etat

tvBruit

ty

),( ttt vxhy =

Système dynamique

),...,(ˆ 0 tt yyFx =

Objectif : Estimer l’état Calculer F

FiltreEstimateur

tx̂

ty

Objectif

Propriétés fondamentales des bruits blancs

• Indépendance : • Décorrélation :• Densité spectrale de puissance :

dPWt0 ...Wtn(wt0

,...,wtn) = dPWt0

(wt0)...dPWtn

(wtn)

E[wtws] = Qδ0(t − s)

Sww ( f ) = Q

Caractérisation des bruits blancs à temps continus

Dérivée (formelle) d’un processus à accroissements indépendants

, les variables sont indépendantes

Il n’existe que deux catégories :

• PAI à trajectoire continue : Mouvement Brownienà trajectoire continue : Mouvement Brownien

• PAI purement discontinus : Processus de comptage marquéPAI purement discontinus : Processus de comptage marqué

∀t0 < t1 < ...< tn

X t1− X t0

,...,X tn− X tn−1

Mouvement Brownien

• Trajectoire continue• Limite de la marche aléatoire• Réalisation gaussienne de puissance infinie• Nulle part dérivable

Bruit blanc

E[β t2 ] = Qt

E[dβt ] = 0

E[dβt2 ] = Qdt

S( f ) = cste

Exemple de réalisation du mouvement Brownien

Exemples

• Bruit thermique, électronique• Bruit électromagnétique• …

Processus de comptage

Processus à valeurs entières de fréquence

Nt

λ

Pr(Nt − Ns = n) =1n!

λn(t − s)n e−λ (t−s)

E[Nt ] = λ t

E[dNtk ] = λdt,∀k ≥1

Exemple de réalisation

Processus de comptage marqué

• Sauts règlés par un processus de comptage• Les amplitudes sont aléatoires, indépendantes deet de distribution connue :

Nt

Nt

Pr[U < u]

dπ t = udNt

πt = udNt (u)U∫

E[dπ t ] = E[u]λdt

E[dπ tk ] = E[uk ]λdt,∀k ≥1

Exemple de réalisation

Exemples

• Emission d’électrons d’un tube vidéo• Radioactivité• Apparition de pannes• Déclenchement de manoeuvre• Evènements sismiques• …

Processus markoviens

Modèle d’état :

Processus à accroissements indépendants

∀t1 < ...< tn , Pr(Xtn< x | Xtn −1,..., Xt1

) = Pr(Xtn< x | Xtn −1)

dxt = f (xt )dt + g(xt )dβt + k(xt ,u)dNtU∫ (du)

βt

Nt (du)

⎫ ⎬ ⎭

Echantillonnage

Traitements numériques => échantillonnage

Théorème de Shannon : un signal continu à spectre borné par la fréquence F doit être échantillonné au moins à 2F.

Filtrer avant d’échantillonner

F 2F

Echantillonnage d’un signal bruité

Signal à spectre borné par F

Bruit blanc gaussien de d.s.p.

Filtrage passe-bas à F => inchangé

Densité spectrale de

Puissance =

yt = xt + ˙ β t

xt

˙ β t

N0

xt

2N0F

N0

−F

F

Echantillonnage d’un signal bruité

Bruit blanc gaussien de variance

Attention : Fréquence plus basse => puissance plus faible mais bruit non blanc

ykT = xkT + wk

wk

2N0F

N0

−F

F

Discrétisation d’un système dynamique markovien

Intégration durant la période d’échantillonnage T

Bruits blancs

dxt = f (xt )dt + g(xt )dβt + k(xt ,u)dNtU∫ (du)

xk+1e = xk

e + f (xt )dtkT

(k+1)T

∫ + g(xt )kT

(k+1)T

∫ dβt + k(xt ,u)dNtU∫ (du)

kT

(k+1)T

xk+1e ≅ xk

e + f (xke )T + g(xk

e )Δβk + k(xke ,u)ΔNk (du)

U∫

ΔNk (du) = N(k+1)T (du) − NkT (du)

Δβk = β(k+1)T − βkT

Discrétisation d’un système dynamique markovien (suite)

Processus à accroissements indépendants

Bruit blanc gaussien à temps discret

Δβk = β(k+1)T − βkT

βt

Δβk

Discrétisation d’un système dynamique markovien (suite)

Processus de comptage

Bruit blanc poissonien à temps discret

ΔNk (du) = N(k+1)T (du) − NkT (du)

Nt

ΔNk ≅

P[ΔNk (du) =1∧U ∈ [u,u + du[] = λTp(u)du

P[ΔNk (du) = 0] =1− λT

Résultat de la modélisation

Modèle dynamique de prédiction de l’évolution du système

Distribution de l’état initial

Distribution du bruit blanc

Equation d’observation

xt+1 = f (xt ,wt )

pX0(x0 )

pWt(wt )

yt = h(xt )+ vt

Exemple de modélisation

Mobile soumis à une force aléatoire

m˙ ̇ x t = −k ˙ x t + ft

xt+1 = xt + vtΔt

vt+1 = (1−km

Δt)vt +Δtm

ft

⎧ ⎨ ⎪

⎩ ⎪

ft+1 = ft + π t

Evolution de la position

Evolution de la vitesse

Evolution de la force appliquée

Critères d’estimation

Minimum de variance

Maximum de vraisemblance

Dans les deux cas : calcul de la probabilité conditionnelle

min E[|| xt − ˆ x t ||2 ] ⇒ ˆ x t = E[xt | y0 ,..., yt ]

Max p(x0 ,..., xt | y0 ,..., yt )

Filtrage récursif des systèmes à temps discret

Evolution de la probabilité conditionnelle

• Prédiction€

xt+1 = f (xt ,wt )

yt = h(xt )+ vt

⎧ ⎨ ⎩

p(xt+1 | y0 ,..., yt ) = p(xt+1, xt |∫ y0 ,..., yt )dxt

= p(xt+1 | xt ,∫ y0 ,..., yt )p(xt | y0 ,..., yt )dxt

= p(xt+1 | xt )p(xt | y0 ,..., yt )dxt∫

• Correction (Bayes)

• Prédiction + Correction€

p(xt+1 | y0 ,..., yt+1) =p(yt+1 | xt+1, y0 ,..., yt )p(xt+1 | y0 ,..., yt )

p(yt+1 | y0 ,..., yt )

=p(yt+1 | xt+1)p(xt+1 | y0 ,..., yt )

p(yt+1 | y0 ,..., yt )

p(xt+1 | y0 ,..., yt+1) =

p(yt+1 | xt+1) p(xt+1 | xt )p(xt | y0 ,..., yt )dxt∫p(yt+1 | xt+1)∫ p(xt+1 | xt )p(xt | y0 ,..., yt )dxtdxt+1∫

Cas linéaire gaussien : le filtre de Kalman

Evolution de la probabilité conditionnelle

• Prédiction€

xt+1 = Fxt +Gwt

yt = Hxt + vt

⎧ ⎨ ⎩

E[wtwtT ] = Q

E[vtvtT ] = R

⎧ ⎨ ⎪

⎩ ⎪

Pt+1|t = FPt|tFT +GQGT

ˆ x t+1 = F ˆ x t

• Correction

ˆ x t+1|t+1 = ˆ x t+1|t + Kt (yt+1 − H ˆ x t+1|t )

Kt = Pt+1|t HT (HPt+1|t H

T + R)−1

Pt+1|t+1 = Pt+1|t − Kt (HPt+1|t HT + R)Kt

T

⎨ ⎪

⎩ ⎪

Détection optimale

• Observation d’un système par un processus continu

• Plusieurs modes de fonctionnement possibles

Critère bayesien à minimum d’erreur

p(y | H1)p(y | H0 )

>p(H0 )p(H1)

⇒ H1 choisi

Résolution

Sous chaque hypothèse , on a un modèle du type

• Calcul de la probabilité conditionnelle :

• Utiliser le terme de normalisation pour prendre la décision

Hi

xt+1 = fi (xt ,wt )

yt = hi (xt )+ vt

⎧ ⎨ ⎩

p(xt |Y0t , Hi ) =

p(Y0t | X0

t , Hi )p(X0t | Hi )dX0

t−1∫p(Y0

t | Hi )

p(Y0t | H1)

p(Y0t | H0 )

>p(H0 )p(H1)

⇒ H1 choisit

Fin de la première partie….

Mise en oeuvre du Filtrageet Exemples d’application

Modélisation du système

• Variables continues– Variables d’état (positions, vitesses, …)– Perturbations (bruits de dynamique, bruits

d’observations,…)• Gaussiennes (bruits des capteurs, dérives, …)• A occurrence poissoniennes (changements de manoeuvre,…)• …

– Equations d’évolution (modèles Markoviens)

• Variables discrètes– Variables d’état (hypothèses, variables binaires, …)– Dynamique (chaînes de Markov)

Analyse du modèle

• Approximations locales– Linéaires– Polynomiales

• Approximations globales– Densité de probabilité de l’état (somme de dirac, somme de gaussiennes, …)

– Densités de probabilité des bruits (idem)

Désignation de la technique de filtrage adaptée

Méthode optimale exacte (quasi unique)– Système linéaire – Bruits Gaussiens

Filtre de Kalman (Kalman – 1960)

Approximations Linéaires Locales

• Systèmes localement linéaire• Bruits quasi gaussiens• Rapports bruit dynamique/bruit d’observation “petit”

• Ecart type initial “petit”(“petit” = écart type d’estimation < domaine de

validité de la linéarisation)

Filtre de Kalman étendu (Breakwell – 1967)

Filtre de Kalman sur le système linéarisé

Filtre de Kalman étendu

• Linéarisation des équations du système (dynamique + observation) autour de l’estimateur.

• Filtre de Kalman sur le système linéarisé

xt+1 = f (xt )+ g(xt )wt

yt = h(xt )+ vt

⎧ ⎨ ⎩

xt+1 ≅ f ( ˆ x t|t )+∂f∂x

| ˆ x t|t(xt − ˆ x t|t )+ g( ˆ x t|t )wt

yt ≅ h( ˆ x t|t−1)+∂h∂x

| ˆ x t|t−1(xt − ˆ x t|t−1)+ vt

⎨ ⎪

⎩ ⎪

Filtre de Kalman Etendu (2)

• Prédiction :

• Correction

Valide si et restent dans le domaine de validité de la linéarisation

ˆ x t+1|t = f ( ˆ x t|t )

Pt+1|t =∂f∂x

| ˆ x t|tPt|t

∂f T

∂x| ˆ x t|t

+g( ˆ x t|t )Qg( ˆ x t|t )T

⎨ ⎪

⎩ ⎪

ˆ x t+1|t+1 = ˆ x t+1|t + K( ˆ x t+1|t )(yt+1 − h( ˆ x t+1|t ))

K( ˆ x t+1|t ) = Pt+1|t∂hT

∂x| ˆ x t+1|t

∂h∂x

| ˆ x t+1|tPt+1|t

∂hT

∂x| ˆ x t+1|t

+R ⎛

⎝ ⎜

⎠ ⎟−1

Pt+1|t+1 = Pt+1|t − K( ˆ x t+1|t )∂h∂x

| ˆ x t+1|tPt+1|t

∂hT

∂x| ˆ x t+1|t

+R ⎛

⎝ ⎜

⎠ ⎟ K( ˆ x t+1|t )( )

T

⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪

P0

Pt+1|t

Approximations Bilinéaires Locales

• Système bilinéaire ou localement bilinéaire• Observation linéaire ou polynomiale• Bruits éventuellement non-gaussiens

Filtrage de Volterra(Monin&Salut – 1996)

• Choix d’une classe paramétrique de filtres polynomiaux

• Calcul des paramètre optimaux par projection

Modèle bilinéaire

Restriction à une classe de systèmes non linéaires réalisables en dimension finie€

xt+1 = Fxt +Gxtwt

yt = Hxt + vt

⎧ ⎨ ⎩

zt = At1zt−1 + At

0yt

ˆ x t = At2 ˆ x t−1 + zt yt

⎧ ⎨ ⎪

⎩ ⎪⇒

zt = φ1(t,τ 2 )Aτ 2

0 yτ 2

τ 2=0

t

ˆ x t = φ2 (t,τ1)zτ1yτ1

τ1=0

t

⎪ ⎪

⎪ ⎪

ˆ x t+1 = K(t,τ1,τ 2 )yτ1yτ 2

τ 2

τ1

∑τ1=0

t

K(t,τ1,τ 2 ) = φ2(t,τ1)φ1(τ1,τ 2 )Aτ 2

0

Optimisation des paramètres par minimisation de l’erreur quadratique

moyenne

A0 ,A1,A2min E[|| xt − ˆ x t ||2 ]

ˆ x t = At2 ˆ x t−1 + At

1zt−1yt + At0yt

2

minA0

→ E[(xt − ˆ x t )yt2 ] = 0

minA1

→ E[(xt − ˆ x t )zt−1yt ] = 0

minA2

→ E[(xt − ˆ x t ) ˆ x t−1] = 0

Inversion récursive d’un système linéaire

ˆ x t = At2 ˆ x t−1 + At

1zt−1yt + At0yt

2

minA0

→ At2 E[ ˆ x t−1yt

2 ]+ At1E[zt−1yt

3]+ At0E[yt

4 ] = E[xt yt2 ]

minA1

→ At2 E[ ˆ x t−1zt−1yt ]+ At

1E[zt−1

2 yt2 ]+ At

0E[zt−1yt3] = E[xtzt−1yt ]

minA2

→ At2 E[ ˆ x t−1 ˆ x t−1]+ At

1E[zt−1yt ˆ x t−1]+ At0E[yt

2 ˆ x t−1] = E[xt ˆ x t−1]

Exemple académique : Bruit poissonien

Processus de comptage de fréquence 1/10€

xt+1 = Fxt +GΔNt

yt = xt + vt

⎧ ⎨ ⎩

ΔNt

Erreurs de filtrage en fonction du degré

Comparaison des estimations

Approximations globales

• Il existe une approximation linéaire locale valide

• L’écart type initial est “grand”“grand” = écart type d’estimation >> domaine de validité de la

linéarisation

Approximation par somme de Gaussiennes (Alpach&Sorenson – 1972)

• Partitionnement de l’espace d’état (état initial distribué comme somme de gaussiennes)

• Construction des filtres de Kalman étendus pour chaque partition

• Evaluation des vraisemblances de chaque filtre (pondérations)

• Estimateur global = somme pondérée de gaussiennes

Filtres de Kalman en parallèle

• Partition du domaine d’incertitude initiale

• Pour chaque partition : Filtre de Kalman étendu

• Evaluation de la vraisemblance de chaque partition

• Densité de probabilité initiale :

• Evolution des filtres de Kalman étendus :

• Calcul des pondérations :

p(x0 ) =1N

G(x0 − x 0|0i ,P0|0

i )i=1

N

x t+1|t+1i = f (x t|t

i )+ Kti (yt+1 − h( f (x t|t

i )))

Pt+1|t+1i = ...

pt+1i =

G(yt+1 − h(x t+1|ti ), Σt+1

i )

pt+1k

k=1

N

∑pt

i

Σt+1i = hx (x t+1|t

i )Pt+1|ti hx (x t+1|t

i )T + R

Estimateur

p(xt |YOt ) = pt

iG(xt − x t|ti , Σt

i )i=1

N

ˆ x t|t = ptix t|t

i

i=1

N

ˆ σ t2 = pt

i (Pt|ti +(x t|t

i − ˆ x t|t )i=1

N

∑ (x t|ti − ˆ x t|t )T )

Evolution de la densité de probabilité

3035 km

2890 km11,4°

Exemple : Traitement du signal LORAN-C

Modélisation

• Dynamique du porteur

• Equation d’observation

xt+1 = xt + vt cos(kt )Δt

yt+1 = yt + vt sin(kt )Δt

vt+1 = vt + wt

kt+1 = kt + w't

⎨ ⎪ ⎪

⎩ ⎪ ⎪

zt = ats(t − r(Dt ))+ Atls(t − r(Dt ) − τ l )

l=1

L

143m ± 100m

Erreur d’estimation en longitude

Erreur d’estimation en latitude

78m ± 385m

Approximations globales• Il existe une approximation linéaire locale • L’écart type initial est “grand”• Les bruits de dynamiques sont de type Gaussiens et “grands”(Les perturbations font sortir le filtre du domaine de validité de la

linéarisation)

Approximation par somme de Gaussiennes (Alpach&Sorenson – 1972)

• Partitionnement de l’espace d’état = somme de Gaussiennes (n)

• Partitionnement de l’espace des bruits = somme de Gaussiennes (p)

• Construction des filtres de Kalman étendus pour chaque partition (n.p)

• Evaluation des vraisemblances de chaque filtre (pondérations)

• Explosion combinatoire => sélection de n parmi n.p (regroupements, rejets)

Approximation par somme de Gaussiennes

Modèle :

Densité de probabilité du bruit dynamique : somme de gaussiennes€

xt = f (xt−1)+ g(xt−1)wt

yt = h(xt )+ vt

⎧ ⎨ ⎩

p(wt ) = ρ iΓ(wt − w i ,Qi )i=1

p

p(vt ) = Γ(vt , R)

Ignotus

Approximation par somme de Gaussiennes (2)

A l’instant A l’instant t-1 t-1 ::

PrédictionPrédiction ::

AvecAvec ::

p(xt−1 |Y0t−1) = pt−1

i Γ(xt − x t−1|t−1i

i=1

N

∑ , Pt−1|t−1i )

p(xt |Y0t−1) = pt−1

i ρ j Γ xt − f xt−1( ), g xt−1( )Q jg xt−1( )T

( )∫ Γ xt−1 − x t|t−1i , Pt|t−1

i( )dxt−1

j=1

p

∑i=1

N

≅ pt−1i ρ iΓ(xt − x t|t−1

i, j ,j=1

p

∑ Pt|t−1i, j )

i=1

N

x t|t−1i, j = f x t|t−1

i( ) + g x t|t−1

i( )w i

Pt|t−1i, j = fX x t|t−1

i( )Pt|t−1

i fX x t|t−1i

( )T

+ g x t|t−1i

( )Q jg x t|t−1i

( )T

Ignotus

Approximation par somme de Gaussiennes (3)

CorrectionCorrection ::

Nxp Kalman étendusNxp Kalman étendus ::

PondérationsPondérations ::

p(xt |Y0t−1)∝ pt−1

i ρ jΓ yt − h xt( ), R( )Γ(xt − x t|t−1i, j ,Pt|t−1

i, j )j=1

p

∑i=1

N

≅ ˜ p ti, jΓ(xt − x t|t

i, j ,j=1

p

∑ Pt|ti, j )

i=1

N

x t|ti, j = x t|t−1

i, j + Kti, j yt − h x t|t−1

i, j( )( )

Kti, j = Pt|t−1

i, j hX x t|t−1i, j

( )T

hX x t|t−1i, j

( )Pt|t−1i, j hX x t|t−1

i, j( )

T+ R

⎛ ⎝ ⎜

⎞ ⎠ ⎟−1

Pt|ti, j = Pt|t−1

i, j − Kti, j hX x t|t−1

i, j( )Pt|t−1

i, j hX x t|t−1i, j

( )T

+ R ⎛ ⎝ ⎜

⎞ ⎠ ⎟ Kt

i, j( )

T

˜ p ti, j =

pt−1i ρ jΓ yt − x t|t−1

i, j( ), Σt

i, j( )

pt−1i ρ jΓ yt − x t|t−1

i, j( ),Σt

i, j( )

i, j=1

N

Ignotus

Approximation par somme de Gaussiennes (4)

SélectionSélection ::

Critère de sélectionCritère de sélection le plus simple : ne retenir, parmi les le plus simple : ne retenir, parmi les Nxp gaussiennes, que les N de poids les plus élevésNxp gaussiennes, que les N de poids les plus élevés + renormaliser + renormaliser

˜ p ti, j =

pt−1i ρ jΓ yt − x t|t−1

i, j( ), Σt

i, j( )

pt−1i ρ jΓ yt − x t|t−1

i, j( ),Σt

i, j( )

i, j=1

N

Approximations globales• Aucune approximation locale n’est valide• Les bruits sont non Gaussiens

Filtres particulaires (Huillet&Salut – 1989 / Gordon 1993)

• Approximation de la distribution par somme de “Dirac” pondérés

• Exploration de l’espace d’état par simulation aléatoire

• Evaluation des vraisemblances de chaque particules (pondérations)

• Redistributions des particules (aléatoire ou déterministe)

Ignotus

Filtrage particulaire

Modèle très général :

Conditions de mise oeuvre :Savoir simuler la loi de Pouvoir calculer explicitement

xt = f (xt−1,wt )

yt = h(xt ,vt )

⎧ ⎨ ⎩

p yt | xt( )

wt

Ignotus

Filtrage particulaire (2)

Représentation de la mesure probabilité par une somme de mesures de Dirac :

Prédiction : Simulation de Monte-Carlo de la dynamique

Où sont tirés indépendamment suivant la loi de

p xt−1 |Y0t−1

( ) ≅1N

δxt−1i (xt−1)

i=1

N

˜ x ti = f (xt−1

i ,wti )

wti

{ }i=1

N

p xt |Y0t−1

( ) ≅1N

δ ˜ x ti (xt )

i=1

N

Ignotus

Filtrage particulaire (3)

Redistribution : Tirage des nouvelles particules selon la loi multinomiale

Correction : Pondération par la formules Bayes :

p xt |Y0t

( ) ≅

p yt | xt( )1N

δ ˜ x ti (xt )

i=1

N

p yt | xt( )1N

δ ˜ x ti (xt )

i=1

N

∑ dxt∫=

1N

p yt | ˜ x ti

( )δ ˜ x ti (xt )

i=1

N

1N

p yt | ˜ x ti

( )i=1

N

p xt |Y0t

( ) ≅1N

δxti (xt )

i=1

N

Ignotus

Filtrage particulaire (4)

Initialisation

Prédiction/Pondération

Redistribution

Ignotus

Variantes de l’algorithme : redistributions

• Ne redistribuer que si le nuage de particules est dégénéré => Cumuler les poids• Après redistribution, affecter au lieu

de

• Redistribution déterministe : maximum de vraisemblance• …

pti =

pt−1i

Ni

1N

Evolution des particules avec redistributions

(LORAN-C)

Résumé Algorithmes candidats Domaines d’application spécifiques Etat technologique / références

Kalman Dynamique linéaire Bruits Gaussiens

Kalman Etendu Dynamique linéarisable Bruits quasi-Gaussiens Bruits dynamique faibles Poursuite

Depuis plusieurs décennies : systèmes de navigation embarques, de localisation,…

Kalman Etendu parallèle Dynamique linéarisable Bruits quasi-Gaussiens Bruits dynamique faibles Acquisition + poursuite

Industrialisé depuis les années 90 : Poursuite de cibles balistiques faiblement manoeuvrantes

Filtrage particulaire à particules ponctuelles

Dynamique non linéarisable Bruits quelconques Acquisition + poursuite

Filtrage particulaire à particules Gaussiennes

Dynamique linéarisable Bruits quelconques Acquisition + poursuite

Technologie émergente. Déjà opérationnelle sur des systèmes de localisation, …

Fin

Recommended