filtrage de kalman mise en équation dans le cas de la poursuite

66
1 Filtrage de Kalman Mise en équation Dans le cas de la poursuite Matrice de transition p m p m x x y y tan Mesure réelle cos sin cos sin m m p p y x y x 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 z y x m m v v y x Vecteur d’état 0 0 cos sin Matrice de mesure cos sin p p y x Donnée « mesurée » cos sin cos sin m m p p y x y x commande Erreur de prédiction cos sin m m y x Prédiction de la mesure linéarisation + + -

Upload: giza

Post on 06-Jan-2016

33 views

Category:

Documents


1 download

DESCRIPTION

Filtrage de Kalman Mise en équation Dans le cas de la poursuite. Mesure réelle. linéarisation. Donnée « mesurée ». Matrice de transition. Matrice de mesure. commande. +. -. +. Prédiction de la mesure. Vecteur d’état. Erreur de prédiction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

1

Filtrage de KalmanMise en équationDans le cas de lapoursuite

Matrice de

transitio

n

pm

pm

xx

yy

tanMesure réelle

cossincossin mmpp yxyx

1000

0100

010

001

1z

y

x

m

m

v

v

y

x

Vecteur d’état

00cossin

Matrice de

mesure cossin pp yx

Donnée « mesurée »

cossincossin mmpp yxyx

commande

Erreur d

e prédiction

cossin mm yx Prédiction de la mesure

linéarisation

++-

Page 2: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

2

mémoire(retard)

z-1A

Bu(t)Commande

(entrée)x(t) C

D

+ +y(t)

x(t-1)

état

sortie(mesure)

x(t)=F(x(t-1))+B.u(t) (transition)

y(t)=C.x(t)+D.u(t) (mesure)

w(t)bruit sur l’entrée bruit sur les mesuresv(t)

Extension au cas d’une transition non linéaire

F(x(t-1))

remplacement de la matrice de transition par une non linéarité

Il faut modifier l’expression de la matrice de covariance !

ce n’est plus (A . P0 .AT + Rw)

Page 3: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

3

Systèmes non linéaires : transformations non linéaires des densités de probabilités et des matrices de covariance

Effet d’une transformation non linéaire sur la densité de probabilité d’un vecteur aléatoire :

non linéarité

On peut déduire la covariance de la sortie en fonction de celle de l’entrée« Unscented Kalman Filter »

Page 4: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

4

- la densité de probabilité de l’entrée de la fonction non linéaireest connue (par exemple représentée par quelques données spécifiques)

-on calcule l’effet de la non linéarité sur cette densité

- on en déduit les caractéristiques statistiques du premier et du deuxième ordre (moyenne, covariance) qui sont utilisées dans la mise à jour du filtre de Kalman au lieu des équations classiques de transition

wT rTATPTATTP )().().()/1(

)().()().()/1( TuTBTxTATTx

« Unscented Kalman Filter »

Julier, S.J.; Uhlmann, J.K. (1997). "A new extension of the Kalman filter to nonlinear systems"

TxxE .

non linéarité

Page 5: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

5

difficultés pour formaliser un modèle analytique simple essayer tout de mêmede modéliser les données mesurées dans des problèmes complexes (par exemple suivi de plusieurs cibles)

Méthodes variées d’identification et d’estimation de paramètres

- moins rigoureuses - modèle moins précis ou inexistant- nécessitant une grande puissance de calcul- permettant d’aborder des problèmes plus complexes

filtres particulairesréseaux neuronauxalgo. génétiquesrecuit simulé, etc. ...

Page 6: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

6

illustration élémentaire des filtres particulaires

utiliser pleinement la puissance de calcul des ordinateurs pour contournerles limitation des approches algébriques

- on se permet de faire un grand nombre d’essais (particules) traduisant les évolutions possibles du système étudié - puis on sélectionne parmi ceux-là ceux qui correspondent assez bien aux mesures effectuées sur le système étudié (on élimine celles qui ne correspondent pas aux mesures)- on multiplie les particules ainsi sélectionnées

on réitère le processus jusqu’à ce qu’il converge vers une caractérisation suffisamment précise

http://web.mit.edu/16.412j/www/html/Advanced%20lectures/Slides/Hsaio_plinval_miller_ParticleFiltersPrint.pdf

d’actualité en recherche en robotique

http://www.cs.washington.edu/ai/Mobile_Robotics/mcl/

Page 7: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

7

exemple simple : recherche de la position d’une cible fixe par un observateurqui se déplace et mesure l’angle sous laquelle il voit cette cible

Nord

observateur XP,YP

cible fixe x0,y0

angle mesuré

simuler de nombreux essais concernant la position de la cible , et ne conserver que ceux qui sont suffisamment probables, compte tenu des mesures d’angles réalisées

Page 8: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

8

x 0 120 y 0 99 zx aunif 5000 0 120( ) zy aunif 5000 0 100( )

0 20 40 60 80 100 1200

20

40

60

80

100

.

on génère des particules de position aléatoiredans le domaine de paramètres où on recherche la cible

Page 9: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

9

p

probabilité de présence de particulescompatible avec une mesure(ici la direction dans laquelle on observela cible à partir d’un point d’observation Xp, Yp)

Xp, Yp

(la densité de probabilité traduit l’incertitude sur la mesure)

Page 10: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

100 10 20 30 40 50 60 70 80 90 100 110 120

0

20

40

60

80

100

.

on ne conserve que les particulescompatibles avec la densité deprobabilité de l’observation

ces particules compatibles se reproduisentdans leur voisinageen respectant cette loi de probabilitéle nombre de particules reste constant

Page 11: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

11

p

on réitère l’opération(on refait une nouvellemesure d’angle à partird’un point d’observationdifférent)

Xp, Yp

les particules acceptables doivent vérifier la loi de probabilité correspondante

Page 12: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

12

p

la position de la cible doit être compatible avec les deux mesures(si elles sont indépendantes la densité de probabilité de la position de la ciblesera le produit des deux densités précédentes)

Page 13: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

130 10 20 30 40 50 60 70 80 90 100 110 120

0

20

40

60

80

100

.

en réitérant l’opération, on sélectionneles particules compatibles avec la loi de probabilité de la nouvelle mesureelles se multiplient avec une certaine variabilité

Page 14: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

14

on itère le processus et les caractéristiques de la loide probabilité du nuage de particules s’affinent (lentement, convergence en t-1/2)

Page 15: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

15

formalisation probabiliste rigoureuse

fondée sur les probabilités conditionnelles

formule de Bayes, modèles de Markov

)1()1()0()0(

)0()0()0(

hhphhyphhphhyp

hhphhypyhhp

Page 16: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

16

peut être intéressant lorsque les états caractérisant le système étudié ne peuvent pas être modélisés simplement par des formules analytiques

par exemple suivi simultané de plusieurs mobiles

prédirela position.la corriger en fonction des mesures.lisser latrajectoire ...

Page 17: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

17

2. transition(évolution dela trajectoire)

3. sélection desparticulescompatiblesavec les mesures

2’. transition(évolution dela trajectoire)

4. duplication desparticulessélectionnées

1. représentation probabilistede la position de chaque cible(densité, nuage de points)

illustration du filtre particulaire pour la poursuite d’une des cibles

Page 18: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

18

réseaux neuronaux (neural networks)

apprentissage de valeurs de paramètres en vue dela réalisation d’une tâche (par exemple la reconnaissance

fondée sur l’imitation de ce que l’on sait du fonctionnementdes neurones en biologie

structure reliant des éléments simples dont le fonctionnementdépend de valeurs de paramètres

Page 19: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

19

données en entrée

réseau deneurones

ABCDEFGHIJKLMNOPQRSTUVWXYZstructure reliant des

éléments simples dont le fonctionnementdépend de valeurs de paramètres

apprentissage de valeurs de paramètres pour qu’à différentes entrées (différents « A ») ce soit la sortie A qui s’active ; de même pour les autres lettres

sortie voulue

illustration : reconnaissance de caractères par un réseau neuronal

Page 20: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

20

- modèle biologique- neurone artificiel- méthodes d’apprentissage- limites de l’approche

réseaux neuronaux

Page 21: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

21http://comportement.univ-paris13.fr:8080/comp/support/l2-psychologie/fonctions-comportementales/TD2%20Neuro.pdf

Dessin de la main de Ramón y Cajal de cellules cerebelleuses de poulet, tiré de "Estructura de los centros nerviosos de las aves", Madrid, 1905

Prix Nobel de médecine en 1906

Page 22: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

22

Page 23: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

23

Page 24: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

24

axone du neurone amont : libération de neurotransmetteurs (chimiques)

génération d’un potentiel électrique dans le neurone aval fonction de la quantité de neurotransmetteurs

« somme » des différents potentielsqui se propagent sur la membrane du neurone

Page 25: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

25

codage en fréquence Si l’intensité du stimulus augmente encore, la fréquence des PA augmente, le système nerveux effectue un codage en fréquence (de PA).

Naissance et conduction du Potentiel d’ActionNaissance au niveau des récepteurs ; Au

niveau du récepteur, il existe un potentiel de récepteur (PR), dont l’amplitude varie avec l’intensité de la stimulation. propagation et sommation des potentiels à la surface de la cellule nerveuse

Si ce PR dépasse un seuil, il y a production, au niveau du cône axonique, d’un potentiel d’action (tout ou rien) qui se propage, il peut donc être enregistré plus loin sur l’axone

Page 26: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

26http://www.ipmc.cnrs.fr/~duprat/documents/coursneurophy.pdf

Page 27: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

27

Chaque neurone reçoit des terminaisons excitatrices et des terminaisons inhibitricesEx. neurone moteur

S’il y a plus d’excitation que d’inhibition le neurone moteur est dépolarisé au-delà du seuil et il y a influx.

S’il y a plus d’inhibition que d’excitation le neurone moteur ne se dépolarise pas jusqu’au seuil. Il n’y a pas d’influx.

http://www.univ-nkc.mr/IMG/ppt/transmission_synaptique2_II.ppt#266,10,Diapositive 10

Page 28: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

28

Potentiel action de l’axone du neurone « amont » no k

Libération du neurotransmetteur au niveau de la synapse (excitation/inhibition) modélisée par un gain gjk positif ou négatif

Propagation des polarisation à la surface du corps du neurone et « sommation »

Déclanchement d’impulsions(potentiel d’action) sur l’axone si la polarisation dépasse un seuil (modélisé par une sigmoïde s(x))

)(exp11)( axbxs

temps

k

jk kpgsjp )(.)( temps

Modélisation du fonctionnement du neurone

Page 29: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

29

La modélisation du fonctionnement des neurones est bien connue des biologistes

Cependant le modèle utilisé par les informaticiens n’est sans doute pas assez fin(?)Par exemple difficulté de la prise en compte de l’aspect temporel (excessivement complexe ?)

Page 30: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

30

Réseau de neuronesConnexion de neurones de ce typeÀ partir de capteurs (mesures) : générer une action

Page 31: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

31

Comment adapter les connexions entre neurones (c’est-à-dire modifier les gains gjk) de manière à atteindre un objectif ?

Apprentissage

Page 32: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

32

A : initialisationchoisir les valeurs des paramètresdu modèle

B. effectuer une mesuresur le système étudié

C. calculer la prédictiondu modèle pour cettemesure

D. calculer l’écart entre la mesure et la prédiction du modèle

A. modifier les paramètresafin de diminuerl’écart

schéma général de l’apprentissage

Page 33: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

33

deux neurones connectés activésrenforcent leur connexion de sorte que l'activation du neurone aval sera facilitée par la suite

Donald Hebb, 1949Bliss & Lomo 1973

Apprentissage

Si l’effet de p(k) sur p(j) est positif on augmentera gjk

Dans le modèle de neurone

Si l’effet de p(k) sur p(j) est négatif on diminuera gjk

Page 34: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

34

gjkp(k)

p(j)

algorithme de rétro-propagation du gradient .

Correction des gains

Réseau multi couches

gnkp(k) gjn

p(n) p(j)

Apprentissage

Page 35: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

35XS YS

1

1-1

xg xd

dg

gd

xx

xx

dg xx 2

xg

xd

dg xx 2

dg

gd

xx

xx

réseau deneurones

dg xx 2

xd xg xd

xg

dg

gd

xx

xx

VISION STEREO(PB SEMBLABLE ALA POURSUITE DE CIBLE)

dg

dggd

xx

zzzz

)(

Page 36: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

36

xd

xg

zg=zd

z

xy

( -1,-1,0)

(1,-1,0)

dg

dg

xx

xx

dg xx 2

dg

d

dg

dggd

xx

z

xx

zzzz

2)(

formule donnant les coordonnées de la cibleen stéréo vision (les hauteurs z doivent êtreidentiques à gauche et à droite)

Page 37: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

37

xg

xd

dg xx 2

dg

gd

xx

xx

réseau deneurones

trop à gauche

y trop loin

pour ces valeurs enentrée du réseau

effet

rétropropagationdes neurones terminauxaux neurones internes :

légère modification des gains de manière à ce que pources valeurs de l’entrée, les sorties se rapprochentdes valeurs souhaitées

augmenter

diminuer

réitérer l’apprentissage sur d’autres valeurs des entrées

Page 38: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

38

xg

XS YS

XS YS

gd xx 2

xd xgxd

xg

gd

gd

xx

xx

TROUVER UN CABLAGE DE NEURONESPUIS LUI FAIRE APPRENDRE LES PARAMETRESPOUR APPROXIMER LES FONCTIONS

gd xx 2

gd

gd

xx

xx

Page 39: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

39

absx absy

absxx y

vxx

vyy

vxx

vyy

1 absy

x y2

vxx

vyy

absx absy

TROUVER UN CABLAGE DE NEURONESPUIS LUI FAIRE APPRENDRE LES PARAMETRESPOUR APPROXIMER LES FONCTIONS

gd xx 2

gd

gd

xx

xx

gd

gd

xx

xx

gd xx 2

Page 40: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

40

assez souvent présentée comme une méthode miracle

mais il s’agit d’approximation de fonction

Stuttgart Neural Network Simulator (SNNS), université de Cambridge

Page 41: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

41

autre piste pour la recherche ‘par tatonnement’ du minimumd’une fonction : le recuit simulé pour essayer d’éviter que l’algorithme de recherche reste bloqué sur un minimum local dans un espace de grande dimension

wikipedia

0 100 200 3001

0

1

xxt

t

minimum

minimum local

Page 42: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

42

critère à minimiser

variation d’un paramètre

essayer d’aboutir au minimum absolu en évitant le blocagede la recherche sur un minimum local

n gd

gd

nxcnx

nxbnxanx

2

)(.)(

)(.)(.)(

dans l’exemple vu, on effectue différents essais où on peut mesurer laposition réelle de la cible et les abscisses en vision stéréo

trouver les paramètresa b c qui minimisent

Page 43: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

43

Partant d'une solution donnée, en la modifiant, on en obtient une seconde.

Soit celle-ci améliore le critère que l'on cherche à optimiser, on dit qu‘elle a fait baisser l'énergie du système,

soit celle-ci le dégrade.

En acceptant une solution améliorant le critère, on tend ainsi à chercher l'optimum dans le voisinage de la solution de départ.

L'acceptation d'une « mauvaise » solution (dégradant le critère) permet d'explorer une plus grande partie de l'espace de solution et tend à éviter de s'enfermer trop vite dans la recherche d'un optimum local.

on effectue un grand nombre d’essais aléatoires à partir de cette solution(voir l’approche mentionnée précédemment des filtres particulaires)

Page 44: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

44

Itérations de l'algorithme À chaque itération modification élémentaire de la solution. Cette modification entraîne une variation ΔE

de l'énergie (critère)

Si cette variation est négative (fait baisser l'énergie du système), elle est appliquée.

Sinon, elle est acceptée avec une probabilité exp - E/T . ( règle de Metropolis.)

On itère selon ce procédé en gardant la température constante puis en la diminuant légèrement (recuit).

critère à minimiser

essayer d’aboutir au minimum absolu en évitant le blocagede la recherche sur un minimum local

valeur d’un paramètre

champs de markov en traitement d’images

Page 45: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

45

recuit simuléFaire baisser la température de façon continue. Ti + 1 = 0.99 λTi

si la température a atteint un seuil assez bas le système devient figé, l'algorithme s'arrête.

À haute température, le système est libre de se déplacer dans l'espace des solutions (exp - E/T   proche de 1) en choisissant des solutions ne minimisant pas forcément l'énergie du système.

À basse température, les modifications baissant l'énergie du système sont choisies, mais d'autres peuvent être acceptées,

empêchant ainsi l'algorithme de tomber dans un minimum local.

Page 46: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

46

AUTRE APPROCHE EN VOGUELES ALGORITHMES GENETIQUES

MODIFIER LES INSTRUCTIONS D’UN PROGRAMMEAFIN DE MINIMISER UN CRITERE

X = Multiplier(Additionner(xg,xd ), Inverse(Additionner(xd,Opposé(xg) ) ) )

de nombreux programmes (séquences de gènes, capables d’effectuer des opérations élémentairespar exemple Additionner(a,b) Multiplier(a,b) Inverse(a) Opposé(a))qui peuvent échanger des gènes

gd

gd

xx

xx

Page 47: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

47

+ -

/ + * -

/

x y

(x+y)/(x-y)

Page 48: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

48

Opérateurs aléatoires

Darwinisme (Déterministe ou Aléatoire)Temps de calcul important

Critères d’arrêts et Statistiques

dépendant du codage

Initialisation

Évaluation Population Stop ?

Meilleure Solution

Sélection

Parents

Opérateurs Génétiques(Croisement, Mutation…)EnfantsÉvaluation

Remplacement Générations

Non

Page 49: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

49

si le programme modifié est parmi les plus performants des programmes(ici résultatsplus proche de la cible), on le garde et il se multiplie(avec des modifications génétiques)

si les performances sont médiocres il est éliminé avec unecertaine probabilité

Page 50: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

50

Les plus performants(ceux qui se rapprochent de l’objectif, minimisation du critère, se multiplient en modifiant aléatoirement certains gênes ;échange possible de gènes entre individus

les moins performants disparaissent

évolution « darwinienne »

et réitération du processus

Page 51: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

51

Page 52: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

52

Page 53: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

53

Page 54: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

54

Page 55: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

55

Page 56: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

56

Page 57: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

57

Page 58: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

58

Page 59: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

59

Page 60: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

60

Page 61: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

61

Page 62: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

62

Page 63: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

63

Page 64: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

64

Page 65: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

65

Page 66: Filtrage de Kalman Mise en équation Dans le cas de la poursuite

66