filtrage de kalman mise en équation dans le cas de la poursuite
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 PresentationTRANSCRIPT
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
++-
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)
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 »
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é
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. ...
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/
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
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
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)
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
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
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)
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é
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)
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
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 ...
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
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
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
20
- modèle biologique- neurone artificiel- méthodes d’apprentissage- limites de l’approche
réseaux neuronaux
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
22
23
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
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
26http://www.ipmc.cnrs.fr/~duprat/documents/coursneurophy.pdf
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
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
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 ?)
30
Réseau de neuronesConnexion de neurones de ce typeÀ partir de capteurs (mesures) : générer une action
31
Comment adapter les connexions entre neurones (c’est-à-dire modifier les gains gjk) de manière à atteindre un objectif ?
Apprentissage
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
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
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
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
)(
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)
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
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
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
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
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
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
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)
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
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.
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
47
+ -
/ + * -
/
x y
(x+y)/(x-y)
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
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é
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66