Brevet FR3148472A1 — publié le 20241108

Procédé d’aide à la navigation comportant une prédiction d’une position d’un agent, ladite prédiction comportant : acquisition d’un ensemble de mesures (20) liées au déplacement dudit agent ; détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures (20), ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures. Figure pour l’abrégé : Fig. 1 Calibration d’un système de fusion multi-capteurs pour la navigation inertielle DOMAINE DE L’INVENTION La présente invention concerne l’estimation de la position d’un agent à partir d’une position antérieure et de mesures liées à son déplacement et/ou à sa position. Elle permet notamment la prévision de la trajectoire suivie par l’agent. L’inférence de la navigation, ou du déplacement, d’un agent (piéton, véhicule, drone…) peut se faire typiquement en utilisant un filtre de Kalman fusionnant des mesures provenant par exemple d’une centrale inertielle embarquée ou associée à cet agent ou d’autres capteurs tels que des caméras, Lidar, GPS, odomètres (pouvant mesurer la vitesse des roues par exemple), etc. Le filtre de Kalman permet d’inférer sa position, à partir de sa dernière position et des différentes mesures, mais aussi potentiellement sa vitesse, son accélération, etc. Le filtre de Kalman estime au cours d’itérations successives un état de navigation de l’agent via des équations matricielles, donc linéaires, au moyen de mesures bruitées fournies par ces capteurs. Il assimile les mesures à un système dynamique régi par des équations linéaires, ce qui est une limitation contraignante et ne permet pas de modéliser avec précision les comportements des capteurs. Il a été proposé le filtre de Kalman étendu (EKF pour « Extended Kalman Filter » en anglais) pour permettre de prendre compte des systèmes dynamiques régis par des équations non-linéaires. Ce procédé est notamment décrit dans Hargrave P. J., « A tutorial introduction to Kalman filtering » , IEE colloquium on Kalman filters : introduction, applications and future development, IET, 1989, ou encore Terejanu Gabriel A, « Extended Kalman filter tutorial », University of Buffalo, 2008. Le filtre de Kalman étendu comporte une étape supplémentaire consistant à linéariser, à chaque nouvelle itération du filtre, les équations régissant le système non-linéaire en un point de l’espace vectoriel estimé, typiquement, au cours d’une itération précédente. Les matrices issues de cette linéarisation peuvent être ainsi utilisées pour estimer un nouvel état selon la méthode du filtre de Kalman classique. Le filtrage de Kalman étendu est communément utilisé pour différentes problématiques de fusion de mesures, par exemple pour fusionner des mesures inertielles avec des mesures de GPS, de caméra, de lidar, d’odomètres, etc. A titre d’exemples, on peut citer Barrau A, « Non-linear state error based extended Kalman filters with applications to navigation” , thèse de doctorat, Mines Paris-tech, 2015, ou encore Potokar E. R., Norman K, Mangelson J. G. « Invariant extended Kalman filtering for underwater navigation » , IEEE Robotics and Automatic Letters, 6(3), 5792-5799, 2021. D’autres méthodes que les filtres de Kalman existent pour effectuer des fusions de mesure et permettre l’estimation d’un état futur (trajectoire notamment), mais elles tendent à être généralement plus coûteuses en calculs, ce qui peut se révéler problématique pour une estimation en temps-réel. La performance, en termes de précision et justesse de l’estimation, du filtre de Kalman (classique ou étendu) repose pour une part importante sur la calibration des matrices de covariance modélisant l’incertitude associée aux différents capteurs. On peut citer l’article Abbeel P. et al., « Discriminative Training of Kalman Filters » , in Robotics: Sciences and systems, vol. 2, p. 1, 2005 qui décrit plusieurs algorithmes d’apprentissage des paramètres de covariance pour des filtres de Kalman étendus, à partir d’un historique de trajectoires. On peut également prévoir que les matrices de covariance soient dynamiquement adaptées par un réseau de neurones, ce dernier étant entraîné sur l’historique des trajectoires, tel que par exemple décrit dans Brossard M., Barrau A., Bonnabel S., « AI-IMU Dead- Reckoning » in IEEE Transactions on Intelligent Vehicles, 5(4), 585-595, 2020. Toutefois, l’optimisation des matrices de covariance rencontre généralement des difficultés de convergence, notamment du fait qu’elles ne prennent pas en compte les changements de distribution induits par la mise à jour des covariances. En outre, certaines techniques d’optimisation ne respectent pas la contrainte que les matrices de covariance doivent nécessairement être positives. Il existe donc un besoin d’améliorer les propositions actuelles de l’état de la technique. L’invention vise ainsi notamment à améliorer les performances de la calibration d’un système de fusion multi-capteurs pour la navigation inertielle. En particulier, selon un premier aspect, la présente invention peut être mise en œuvre par un procédé d’aide à la navigation comportant une prédiction d’une position d’un agent, ladite prédiction comportant : acquisition d’un ensemble de mesures liées au déplacement dudit agent ; détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures, ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures. L’invention peut conserver également un procédé d’aide à la navigation comportant une prédiction d’une position d’un agent comportant des étapes de : acquisition d’un ensemble de mesures liées au déplacement dudit agent, et, détermination de ladite position par application d’un filtre de Kalman étendu sur ledit ensemble de mesures, ledit filtre de Kalman étendu étant paramétré par au moins une matrice de covariance déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel. La modification de la matrice de covariance permet de modifier la modélisation des incertitudes sur les mesures. La modification de la modélisation des incertitudes permet de modifier la façon dont le filtre de Kalman étendu inférant la navigation pondère les mesures par rapport à l’état estimé a priori. Suivant des modes de réalisation préférés, l’invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : ladite quantification sert au calcul d’un gradient naturel permettant de mettre à jour la distribution des incertitudes. Le gradient naturel est un gradient probabiliste qui permet de quantifier la variation de distribution d’un critère, indépendamment de la façon dont cette distribution est paramétrée. ladite au moins une matrice de covariance, R, est factorisée sous la forme R=L.L T où L est une seconde matrice, et dans lequel l’optimisation est effectuée sur ladite au moins une seconde matrice ; ladite optimisation a lieu en amont de la mission dudit agent, de sorte que ladite au moins une matrice de covariance est fixe durant ladite mission ; ladite descente de gradient naturel est effectuée sur ladite au moins une seconde matrice ledit gradient naturel est exprimé par : dans lequel représente le gradient euclidien dudit critère d’optimisation, C, en fonction de ladite au moins une matrice de covariance, R, et représente ledit gradient naturel. ladite optimisation a lieu pendant ladite mission de sorte que ladite au moins une matrice de covariance est dynamiquement adaptée en fonction dudit ensemble de mesure ; ladite optimisation est effectuée au moyen d’un module d’adaptation prenant en entrée ledit ensemble de mesures et dont les paramètres sont déterminés par ladite descente de gradient naturel ; ledit gradient naturel est approximé par l’expression : dans laquelle est le gradient euclidien dudit critère d’optimisation C en fonction de ladite au moins une matrice de covariance, R, représente le gradient euclidien de ladite au moins une seconde matrice, L, par rapport auxdits paramètres, , et représente ledit gradient naturel Un autre aspect de l’invention concerne un programme d’ordinateur comportant des instructions pour mettre en œuvre un procédé tel que précédemment décrit. Un autre aspect de l’invention concerne un dispositif de prédiction d’une position d’un agent, comprenant un processeur adapté pour l’acquisition d’un ensemble de mesures liées au déplacement dudit agent et pour mettre en œuvre un filtre de Kalman étendu adapté pour la détermination de ladite position à partir dudit ensemble de mesures, et un dispositif de calibration adapté pour paramétrer au moins une matrice de covariance dudit filtre de Kalman étendu, déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel. Suivant des modes de réalisation préférés, ce dispositif peut comprendre une ou plusieurs des caractéristiques précédemment mentionnées en relation avec le procédé, qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d’un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. BREVE DESCRIPTION DES FIGURES Les dessins annexés illustrent l’invention : La illustre schématiquement une architecture fonctionnelle haut-niveau d’un dispositif de prédiction d’une trajectoire. La représente schématiquement une architecture fonctionnelle haut-niveau d’un dispositif de calibration selon un mode de réalisation. La représente schématiquement une architecture fonctionnelle haut-niveau d’un dispositif de calibration selon un autre mode de réalisation. La représente schématiquement une architecture fonctionnelle haut-niveau d’un module d’optimisation selon un mode de réalisation. La illustre des exemples de performances selon différents procédés de prédiction de trajectoire. DESCRIPTION DETAILLEE DE MODES DE REALISATION DE L’INVENTION Selon un mode de réalisation, le procédé décrit concerne l’inférence de la navigation inertielle d’un agent (piéton, véhicule ou drone terrestre, aérien ou marin). Cet agent est typiquement un porteur mobile, c’est-à-dire un individu ou un système (véhicule, drone…) portant ou embarquant un dispositif permettant en œuvre le procédé proposé. Ainsi, l’agent est équipé d’une ou plusieurs unités de mesure inertielle (UMI ou IMU pour, en anglais, « Inertial Measurements Unit ») ainsi que, éventuellement, un ou plusieurs autres capteurs tels qu’un capteur de positionnement (GPS…), un odomètre, une caméra, un lidar, etc. Les unités de mesure inertielle, ou centrales inertielles, sont des équipements qui sont utilisés en navigation et sont capables d'intégrer les mouvements d'un mobile (accélération et vitesse angulaire) pour estimer son orientation (angles de roulis, de tangage et de cap), sa vitesse et sa position. La illustre une architecture fonctionnelle haut-niveau d’un dispositif de prédiction d’une trajectoire. Ce dispositif 10 acquiert un ensemble de mesures 20 liées au déplacement dudit agent. En fonction d’un état à un instant (ou itération) t, le dispositif de prédiction peut inférer un état 21 en un instant (ou itération) suivant t+1 en fonction des mesures 20 acquises. Cet état peut représenter la position de l’agent à cet instant, ou itération, suivant, et d’ainsi permettre de décrire la trajectoire de l’agent itérativement. Sur la , trois flèches représentant des mesures 20 sont représentées, mais il est bien entendu possible de prendre en compte un nombre différent de mesures en entrée. Le dispositif de prédiction de trajectoires 10 comporte un système de fusion multi-capteurs 11, qui peut par exemple être un filtre de Kalman étendu. Ce filtre de Kalman étendu appliqué sur l’ensemble de mesures 20 permet de les fusionner pour estimer une position de l’agent à l’itération suivante. Le filtre de Kalman étendu 11 est paramétré par les matrices de covariance 23 des incertitudes associées aux différentes mesures. On dispose donc typiquement d’une matrice de covariance par source de mesures, c’est-à-dire par capteur. Ces matrices de covariance sont déterminées par un dispositif de calibration 13. Pour cette calibration, le dispositif accumule les données de trajectoires dans une base de données de trajectoires 12 (ou historique des trajectoires). Les données de trajectoires peuvent être récupérées en sortie du filtre de Kalman ainsi qu’illustré sur la , mais elles peuvent être aussi accumulées en entrée du filtre ou à tout autre moment de la fusion par le filtre. Selon un autre mode de réalisation, la base de données de trajectoire 12 est préalablement constituée et peut ne pas nécessiter d’être enrichie par les trajectoires estimées par le filtre de Kalman étendu 11. Autrement dit, l’historique est basé sur des déplacements, ou missions, précédents de l’agent ou d’autres agents, et ne prend pas en compte le comportement de l’agent pendant la mission en cours. Les données de trajectoire stockées dans la base de données 12 peuvent comprendre les mesures acquises par les capteurs, 20, des matrices et vecteurs calculés par le filtre de Kalman étendu 11 (ces matrices et ces vecteurs peuvent typiquement être des matrices jacobiennes et des vecteurs d’innovation). Le dispositif de calibration 13 détermine la ou les matrices de covariance 23 en utilisant des données de trajectoire 22 récupérées de la base de données 12. Dans un premier mode de réalisation, la calibration peut être effectuée de façon statique. Dans ce mode, le dispositif de calibration 13 prend uniquement en entrée les données de trajectoires 22 issues de l’historique 12. Ainsi qu’illustré sur la , le dispositif de calibration 13 comporte un module d’optimisation 131 qui prend en entrée les données historiques de trajectoire 22 et fournit une grandeur optimisée 23. D’une façon générale, le bloc d’optimisation a pour rôle d’optimiser une grandeur selon un critère donné. Dans le cas présent, la grandeur optimisée est la ou les matrices covariance. Comme vu précédemment, une matrice par mesure peut être fournie, de sorte que le module d’optimisation peut mettre en œuvre un algorithme d’optimisation pour chacune des mesures acquises 20. L’optimisation des matrices de covariance 23 peut être effectuée en amont de la phase de navigation, par exemple avant le départ en mission de l’agent. Une fois en phase de mission, les matrices restent fixes tant que la mission n’est pas terminée ou qu’un opérateur n’a pas déclenché une nouvelle phase de calibration des matrices. C’est pourquoi, dans ce mode de réalisation, la calibration des matrices de covariance est qualifiée de statique. Dans un deuxième mode de réalisation, la calibration des matrices de covariance des capteurs est réalisée de façon dynamique, c’est-à-dire en prenant en compte l’ensemble de mesures 20 acquises durant la mission. Autrement dit, le déroulement de la mission en cours influe sur les matrices de corrélation 23 qui permettent au filtre de Kalman d’inférer une position future 21. Pour ce faire, ainsi qu’illustré sur la , le dispositif de calibration 13 comporte un module d’adaptation 132 prévu pour prédire les matrices de covariance 23 à partir de l’ensemble des mesures acquises 20 et de méta-paramètres 133 (ou paramètres) déterminé par le module d’optimisation 131 à partir des données historiques de trajectoires 22. Autrement dit, dans ce mode de réalisation, l’adaptation a lieu pendant la mission de l’agent, de sorte que la matrice de covariance est dynamiquement adaptée en fonction de l’ensemble de mesure. Ce module d’adaptation 132 peut mettre en œuvre une fonction permettant donc de déterminer une matrice de covariance en fonction de ces données d’entrée. Cette fonction peut par exemple être mise en œuvre par un mécanisme d’apprentissage machine. Par exemple, le module d’adaptation 132 peut être un réseau de neurones. En particulier, il peut s’agir d’un réseau neuronal de convolution (CNN pour « Convolutional Neural Network » en anglais), tel que par exemple décrit dans Brossard M., Barrau A., et Bonnabel S. « AI-IMU Dead-reckoning », précédemment cité. L’ensemble des mesures acquises 20 sont fournies à la couche d’entrée de ce réseau de neurones. Celui-ci génère sur sa couche de sortie une matrice de covariance 23. Dans ce mode de réalisation, le module d’optimisation 131 peut fonctionner de façon similaire au premier mode de réalisation mais au lieu d’optimiser une matrice de covariance, il optimise un ensemble de méta-paramètres, ou paramètres, du réseau de neurones. Ces méta-paramètres comprennent notamment les poids synaptiques du réseau de neurones qui forment le modèle prédictif représenté par le réseau de neurones. Le dispositif de calibration 13 peut fonctionner en deux phases. Dans une première phase, le module d’optimisation 131 détermine les paramètres 133 du réseau de neurones à partir des données historiques de trajectoires 22. Cette première phase peut être mise en œuvre en amont de la mission, c’est-à-dire avant le départ de l’agent. Une fois en mission, une deuxième phase peut être déclenchée durant laquelle les paramètres du réseau de neurones 132 sont fixes tant que la mission n’est pas terminée ou bien qu’un opérateur n’a pas déclenché une nouvelle phase d’optimisation des paramètres (à l’aide de nouvelles données historiques de trajectoire, recueillies pendant la mission). Dans cette deuxième phase, le dispositif de calibration 13 prend en entrée l’ensemble de mesures 20 acquises et génère, dynamiquement, les matrices de covariance 23, au moyen du réseau de neurones 132 configuré par les paramètres 133 fixés lors de la première phase amont. Ainsi, les matrices de covariance changent en fonction des mesures acquises 20. C’est pourquoi, dans ce mode de réalisation, la calibration des matrices de covariance est qualifiée de dynamique. Par la phase d’optimisation de ses paramètres en amont de la phase de mission, le réseau de neurones 132 a appris à calculer les matrices de covariance 22 qui permettent d’obtenir les meilleures performances en termes d’inférence de navigation, au sens d’un critère permettant d’optimiser ses paramètres. Le premier mode de réalisation, basé sur la calibration statique, peut être utilisé dans un environnement qui change relativement peu, typiquement pour des navigations courtes dans un environnement structuré. A l’inverse, il est préférable d’utiliser le deuxième mode de réalisation, basé sur la calibration dynamique, lorsque l’environnement peut fortement varier durant la navigation, typiquement pour des navigations longues ou dans des environnements déstructurés. On peut citer parmi les causes de variabilités de l’environnement : La variation des conditions météorologiques durant la navigation peut modifier l’incertitude associée à certains capteurs (caméras, notamment) L’environnement géographique peut présenter plus ou moins de points d’intérêt, ce qui modifie la densité de la cartographie obtenue avec le Lidar et/ou les caméras ; Le signal GPS peut être dégradé en fonction des zones traversées. Le dispositif de calibration 13 peut calibrer un ensemble de matrices de covariance 23 qui paramètrent le filtre de Kalman étendu 11. Une matrice de covariance peut être déterminée pour chaque mesure de l’ensemble de mesures 20 acquises par le dispositif de prédiction de trajectoires 10. La description qui va suivre concerne une matrice de covariance. Il est entendu que ce procédé décrit peut être répété pour l’ensemble des capteurs. On note R la matrice de covariance associée à un capteur donné. Cette matrice de covariance peut être calibrée ainsi que décrit précédemment de façon statique ou dynamique. La matrice R étant une matrice de covariance, elle doit être symétrique et positive. Afin d’assurer la positivité et la symétrie de cette matrice de covariance, on factorise la matrice R de sorte que R=L.L T , où le symbole T indique la transposition matricielle. Cette factorisation peut par exemple être effectuée par la factorisation de Cholesky, mais d’autres méthodes sont disponibles dans l’état de l’art. Dans le cas d’une factorisation de Cholesky, cette matrice L est une matrice triangulaire inférieure, mais le procédé décrit est plus général et peut s’appliquer sans imposer une telle contrainte sur la matrice L. Dans le mode de réalisation statique, illustré par la , le module d’optimisation 131 détermine, par optimisation, la matrice L. Le dispositif de calibration 13 peut alors directement déterminer et fournir la matrice de covariance R par R=L.L T au filtre de Kalman étendu 11. Dans le mode de réalisation dynamique, illustré par la , le module d’optimisation 131 détermine les paramètres 133, notés θ, du réseau de neurones 132. Ce réseau de neurones fournit ensuite, en phase de mission, la matrice L(x, θ), où x représente les mesures acquises. Le dispositif de calibration 13 peut alors directement déterminer et fournir la matrice de covariance R par R=L(x, θ).L(x, θ) T au filtre de Kalman étendu 11. Le module d’optimisation 131 a donc pour but d’optimiser une matrice L en fonction d’un certain critère C. Ce critère peut être quelconque. Il peut par exemple s’agir d’une vraisemblance de la matrice L, en particulier d’une log-vraisemblance, ainsi que par exemple décrit dans l’article de Abbeel P. et al, « Discriminative Training of Kalman Filters » précédemment cité. Toutefois le procédé proposé peut reposer sur différents critères, celui-ci ne dépendant pas du critère à optimiser en tant que tel. L’optimisation du critère C peut être effectuée par une méthode classique en soit de descente de gradient. L'algorithme du gradient, aussi appelé algorithme de descente de gradient, désigne un algorithme d'optimisation itératif, où, à chaque itération on cherche à améliorer la solution courante en effectuant un déplacement dans une direction opposée au gradient de manière à faire décroitre le critère à minimiser. L'algorithme du gradient est également connu sous le nom d'algorithme de la plus forte pente ou de la plus profonde descente (« steepest descent », en anglais) parce que le gradient est la pente de la fonction linéarisée au point courant et est donc, localement, sa plus forte pente (notion qui dépend du produit scalaire). L’algorithme de descente du gradient est abondamment décrit dans la littérature scientifique. On peut consulter la page Wikipedia correspondante à titre d’exemple et de point d’entrée : https://fr.wikipedia.org/wiki/Algorithme_du_gradient https://en.wikipedia.org/wiki/Gradient_descent La illustre une vue fonctionnelle du module d’optimisation 131. Le module d’optimisation 131 prend pour entrée les données historiques de trajectoires 22, à partir desquelles un module 134 calcule un gradient , C étant le critère à minimiser, et V étant une grandeur dont on cherche la valeur minimisant ce critère C. Cette valeur V est référencée 135 sur la et elle peut être la matrice L ou les paramètres θ du réseau de neurones 132. Ainsi, dans un mode de réalisation statique où l’on cherche à optimiser la matrice L, le module d’optimisation 135 opère de façon itérative la descente de gradient naturel : Dans un mode de réalisation dynamique, où l’on cherche à optimiser les paramètres θ, 133, du réseau de neurones, le module d’optimisation 135 opère de façon itérative la descente de gradient naturel : Ces opérations (selon les modes de réalisation) sont répétées ainsi qu’indiqué sur la figure 4. Ainsi, suite au calcul du gradient par le bloc fonctionnel 134 ( désignant ou selon que l’on est dans le mode de réalisation statique ou dynamique), ce gradient est multiplié par un pas de descente α. Ce pas de descente est un paramètre qui peut être préalablement fixé. Le cercle, sur la figure, illustre l’opération , dont le résultat fournit une nouvelle valeur de la grandeur à l’itération suivante. Cette nouvelle valeur est réintroduite en entrée de bloc 134 de calcul de gradient afin de fournir une nouvelle itération. Classiquement, ce processus itératif se termine lorsqu’un critère d’optimisation est atteint, c’est-à-dire lorsque le critère atteint un seul déterminé ou bien lorsque le gradient n’évolue plus suffisamment ( est inférieur à autre seuil), ou bien lorsqu’un nombre suffisant d’itération a été effectué, etc. Le gradient pourrait être calculé en utilisant un gradient euclidien. Ce gradient euclidien peut s’écrire , ou encore : dans le mode statique : . dans le mode dynamique : Cependant, ce gradient euclidien ne permet pas de prendre en compte le changement de distribution induit par la mise à jour de la matrice de covariance du capteur. Cela conduit à des difficultés de convergence de la descente de gradient, et à un réglage difficile du pas de descente α. Des stratégies ont été proposées pour améliorer la descente de gradient, tel que par exemple le mécanisme « Adam » pour les réseaux de neurones. Ce mécanisme est décrit, notamment, dans l’article fondateur : Kingma, D. P., BA. J, « Adam: A method for stochastic optimization » , 2014, arXiv:1412.6980. Toutefois, ces mécanismes ne permettent pas de résoudre l’ensemble des problèmes et, notamment, le réglage du pas de descente α reste délicat. Il est proposé d’effectuer une descente de gradient basé sur le gradient naturel, au lieu du gradient euclidien. La descente par gradient naturel permet de prendre en compte le changement de distribution induit par le changement de la covariance R=L.L T . Elle permet notamment de prendre en compte que l’espace paramétrique dans lequel l’optimisation est recherchée n’est pas nécessairement un espace euclidien mais, plus généralement, un espace de Riemann. Le gradient naturel et son utilisation pour l’optimisation d’un critère C par descente de gradient est notamment décrit dans l’article d’Amari S., « Natural Gradient Works Efficiently in Learning » , Neural Computation, 10(2), 251-276, 1998, ou dans l’article Amari, Shun'ichi (1983). "A foundation of information geometry". Electronics and Communications in Japan. 66 (6): 1–10. doi:10.1002/ecja.4400660602 Le gradient naturel permet de quantifier la divergence (c’est-à-dire une distance non symétrique, telle que la divergence de Kullback-Leibler) par rapport à la distribution courante des incertitudes associées au capteur, lorsque l’on applique une variation infinitésimale à la grandeur considérée (la matrice L ou bien les paramètres θ du réseau de neurones). Pour calculer le gradient naturel par rapport à , paramétrant une loi de probabilité (typiquement, une loi gaussienne centrée paramétrée par sa matrice de covariance), on calcule la divergence de Kullback-Leibler entre la loi et , où correspond à une variation de : cette divergence est notée . Le développement limité à l’ordre deux de cette divergence permet de faire apparaître un produit scalaire : Le produit scalaire est la métrique d’information de Fisher (FIM). C’est ce produit scalaire qui permet de calculer le gradient naturel : il est noté, entre et par : . En considérant une fonction de coût , le gradient naturel de par rapport à est alors identifié en faisant apparaître le produit scalaire dans le développement limité à l’ordre 1 de : La difficulté inhérente à la méthode de descente de gradient naturel est la difficulté à déterminer son expression, et notamment de déterminer la matrice d’information de Fischer. En particulier, dans le cas présent, une difficulté est de déterminer l’expression du gradient naturel par rapport à la matrice L ou par rapport aux paramètres du réseau de neurones. Dans le mode de réalisation statique, il est proposé d’exprimer le gradient naturel par l’expression : est le gradient euclidien du critère C à minimiser par rapport à la matrice de covariance R. Dans le mode de réalisation dynamique, le gradient naturel du critère C par rapport aux paramètres θ du réseau de neurones sont difficilement calculables analytiquement, du fait que l’expression du réseau neurones L(θ) est complexe à manipuler pour effectuer des calculs. On peut décomposer le gradient euclidien en utilisant la règle de la chaîne : est le gradient euclidien de la matrice L par rapport aux paramètres θ du réseau de neurones. Ce gradient est calculé automatiquement par l’algorithme de rétro-propagation dans le réseau de neurones 132. Il est ainsi directement accessible et utilisable. Pour approximer le gradient naturel, on peut fixer le gradient en remplaçant le terme par l’expression de donnée ci-dessus pour le mode de réalisation statique. On obtient ainsi, une expression approximée du gradient naturel pour le cas dynamique : La illustre les performances en convergence du procédé pour le mode statique (matrice de covariance R fixe le long de la mission). La figure montre 4 situations d’évolution du critère C, évalué par sa log-vraisemblance négative (nll pour « negative log likelihood » en anglais) en abscisse, en fonction d’un nombre d’itérations. La courbe C 1 montre la minimisation progressive du critère C par rapport à la matrice L par une descente de gradient euclidien . La courbe C 2 montre la minimisation progressive du critère C par rapport à la matrice L par une descente de gradient naturel . On voit que la courbe C 2 descend plus bas que la courbe C 1 , ce qui dénote une meilleure minimisation du critère par la descente de gradient naturel. Les courbes C 3 , C 4 illustrent la minimisation progressive du critère C par rapport à la matrice de covariance R, respectivement par une descente de gradient naturel et par une descente de gradient euclidien. On remarque là encore que la courbe C 3 descend plus bas que la courbe la courbe C 4, ce qui traduit une meilleure minimisation du critère C en utilisant un gradient naturel. Le procédé proposé se distingue de l’état de la technique, en premier lieu, par l’utilisation d’un gradient naturel, dans le mécanisme de descente de gradient, à la place du gradient. Comme décrit précédemment, cette descente de gradient naturel peut être employée dans un mode de réalisation statique pour directement obtenir une matrice L qui permet d’obtenir la matrice de covariance R pour le filtre de Kalman, et dans un mode de réalisation dynamique, pour obtenir des paramètres d’un réseau de neurones qui permet d’obtenir cette matrice de covariance. Le procédé propose également de décomposer cette matrice de covariance R en un produit L.L T et d’effectuer l’optimisation sur cette matrice L, afin de pouvoir ainsi garantir la positivité de la matrice de covariance R. Selon un autre mode de réalisation, l’optimisation peut être effectuée directement sur la matrice de covariance R, tant en mode statique qu’en mode dynamique. Afin de respecter l’exigence de positivité de la matrice de covariance R, un mécanisme de surveillance peut être mis en œuvre. En particulier, un mécanisme de surveillance sur les valeurs propres peut être mis en place, mais celui-ci alourdit le temps de calcul. On propose dans ce cas les formules suivantes : En mode statique : Avec fixé au gradient naturel du critère C par rapport à la matrice de covariance R, tel que où est le gradient euclidien de C par rapport à la matrice de covariance R. En mode dynamique, la matrice de covariance R=R(x ; θ) peut être donnée par un réseau de neurones de paramètres θ. On optimise ces paramètres selon une descente de gradient naturel, tel qu’indiqué précédemment : Comme vu précédemment, peut être une approximation du gradient naturel. Avec la même démarche que précédemment, on peut en effet remplacer le terme de l’expression du gradient naturel par l’expression de donnée ci-dessus pour le mode de réalisation statique. On obtient ainsi, une expression approximée du gradient naturel pour le cas dynamique : Le procédé propose donc également des expressions originales du gradient naturel, selon différents modes de réalisation, au cas d’espèce de l’optimisation d’une matrice de covariance pour filtre de Kalman. En outre, dans le cas dynamique, il est proposé une approximation de ce gradient naturel. Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais est défini par les revendications. Elle est notamment susceptible de nombreuses variantes accessibles à l'homme de l'art. Procédé d’aide à la navigation comportant une prédiction d’une position d’un agent, ladite prédiction comportant : l’acquisition d’un ensemble de mesures (20) liées au déplacement dudit agent ; la détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures (20), ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures. Procédé selon la revendication précédente, dans lequel ladite quantification sert au calcul d’un gradient naturel permettant de mettre à jour la distribution des incertitudes. Procédé selon l’une des revendications précédentes, dans lequel ledit filtre de Kalman étendu est paramétré par au moins une matrice de covariance déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel Procédé selon la revendication précédente dans lequel ladite au moins une matrice de covariance, R, est factorisée sous la forme R=L.L T où L est une seconde matrice, et dans lequel l’optimisation est effectuée sur ladite au moins une seconde matrice. Procédé selon la revendication précédente, dans lequel ladite optimisation a lieu en amont de la mission dudit agent, de sorte que ladite au moins une matrice de covariance est fixe durant ladite mission. Procédé selon la revendication précédente, dans lequel ladite descente de gradient naturel est effectuée sur ladite au moins une seconde matrice. Procédé selon la revendication précédente dans lequel ledit gradient naturel est exprimé par : dans lequel représente le gradient euclidien dudit critère d’optimisation, C, en fonction de ladite au moins une matrice de covariance, R, et représente ledit gradient naturel. Procédé selon la revendication 4, dans lequel ladite optimisation a lieu pendant ladite mission de sorte que ladite au moins une matrice de covariance est dynamiquement adaptée en fonction dudit ensemble de mesure (20). Procédé selon la revendication précédente, dans lequel ladite optimisation est effectuée au moyen d’un module d’adaptation (132) prenant en entrée ledit ensemble de mesures (20) et dont les paramètres sont déterminés par ladite descente de gradient naturel. Procédé selon la revendication précédente, dans lequel ledit gradient naturel est approximé par l’expression : dans laquelle est le gradient euclidien dudit critère d’optimisation C en fonction de ladite au moins une matrice de covariance, R, représente le gradient euclidien de ladite au moins une seconde matrice, L, par rapport auxdits paramètres, , et représente ledit gradient naturel Programme d’ordinateur comportant des instructions pour mettre en œuvre un procédé selon l’une des revendications précédentes. Dispositif (10) de prédiction d’une position d’un agent, comprenant un processeur adapté pour l’acquisition d’un ensemble de mesures (20) liées au déplacement dudit agent et pour mettre en œuvre un filtre de Kalman étendu (11) adapté pour la détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures (20), ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures