Objectifs :
En toute généralité, le filtrage consiste à estimer de façon récursive un état caché (par exemple, la position et l'attitude d'un mobile) au vu d'observations bruitées. Compte tenu que l'état caché évolue en principe au cours du temps, il est nécessaire d'introduire un modèle a priori de déplacement du mobile, et de considérer le problème d'estimation dans un cadre bayésien. Le domaine d'application principal est la localisation, la navigation et la poursuite de mobiles, dans le domaine militaire ou civil, en robotique mobile, en vision par ordinateur, en communications sans-fil (GSM en extérieur, WiFi en indoor), où il s'agit de combiner : un modèle a priori de déplacement du mobile, des mesures issues de capteurs, et éventuellement une base de mesures de références, disponibles par exemples sous la forme d'une carte numérique (modèle numérique de terrain, carte de couverture, etc.).Dans le cas particulier des systèmes linéaires gaussiens, le problème de filtrage possède une solution explicite, appelée filtre de Kalman. Dans le cas des systèmes non-linéaires avec des bruits non nécessairement gaussiens, ou dans le cas plus général des modèles de Markov cachés, des méthodes de simulation Monte Carlo très efficaces sont apparues récemment, sous le nom de filtres particulaires. De manière intuitive, chaque particule représente ici un état caché possible, explore l'espace d'état en suivant le modèle a priori de déplacement, et est répliquée ou au contraire éliminée à la génération suivante au vu de sa cohérence avec l'observation courante, quantifiée par la fonction de vraisemblance. Ce mécanisme de mutation / sélection a pour effet de concentrer automatiquement les particules (i.e. la puissance de calcul disponible) dans les régions d'intérêt de l'espace d'état.
Plus généralement, les algorithmes particulaires permettent d'approcher des distributions de Feynman-Kac (ou distributions de Boltzmann-Gibbs trajectorielles) au moyen de la distribution de probabilité empirique pondérée associée à un système de particules en interaction, avec des applications qui vont bien au-delà du filtrage : simulation d'évènements rares, optimisation globale, simulation moléculaire, etc.
L'objectif de ce cours est
- de présenter différents algorithmes particulaires,
- de les mettre en œuvre dans le cadre de travaux pratiques en MATLAB, ou en Python,
- et de démontrer quelques résultats de convergence en utilisant le cadre général de l'approximation particulaire des distributions de Feynman-Kac.
Programmation détaillée :
Filtrage particulaire auxiliaire. Filtrage particulaire avec transition markovienne auxiliaire.
Références bibliographiques :
ouvrages de référence
articles téléchargeables (format PDF) : méthodologie
articles téléchargeables (format PDF) : applications
Archives (sujets d'examen) :
Équations équivalentes pour le lisseur bayésien : équations forward-backward, équation backward pour le lisseur bayésien, équation forward pour le lisseur bayésien.
Variance de l'erreur d'approximation d'un mélange fini avec poids binaires, par échantillonnage résiduel multinomial et par échantillonnage résiduel sans remise.
Estimation de la probabilité d'extinction pour l'algorithme SIR avec des fonctions de sélection non strictement positives.
Approximations particulaires pour le calcul de probabilités de dépassement de niveau.
Algorithme APF (pour auxiliary particle filter).
Estimation de l'erreur d'approximation particulaire pour des fonctions non-nécessairement bornées.
Modèle de Markov non-linéaire pour l'étude de l'algorithme SIR avec redistribution adaptative.
Filtre bayésien pour les systèmes non-linéaires non-gaussiens avec bruits non-nécessairement indépendants.
Algorithme de rejet controlé.