Brevet FR3143145A1 — publié le 20240614

L’invention se rapporte à un procédé d’obtention d’une grille de données représentatives d’une scène dynamiquement représentée, dite grille d’état, ladite grille d’état étant découpée en cellules, procédé mis en œuvre par un module informatique de traitement de données en provenance d’au moins un capteur, le procédé comprenant au moins une itération des étapes suivantes : mise à jour (A10) de distributions de probabilités d’une grille statique de caractérisation de la scène, en fonction d’au moins un état statique associé à au moins une cellule de la grille statique, selon un modèle statique ; mise à jour (A20) de distributions de probabilités d’une grille dynamique de caractérisation de la scène, en fonction d’au moins une particule associée à au moins une cellule de la grille dynamique, selon un modèle dynamique ; fusion (A30) des distributions de probabilités, au sein d’une grille d’état résultante, de la grille statique et de la grille dynamique, délivrant, pour chaque cellule, une prédiction d’état et une prédiction de vitesse ; évaluation (A40), pour au moins une cellule de la grille d’état résultante, de la probabilité d'un état final et d’une vitesse associée en fonction des prédictions et des éventuelles données reçues en provenance dudit au moins un capteur. Fig. 2 procédé d’obtention d’une grille de données représentatives d’une scène dynamiquement représentée, dispositif et programme correspondant. Domaine L’inventions se rapporte au domaine des appareils à vision par ordinateur et des appareils autonomes en général interagissant avec leur environnement, comme un robot ou un véhicule autonome. Pour ces appareils, la capacité à percevoir avec précision et à modéliser sous une forme pertinente son environnement est une tâche essentielle. Que ce soit pour la navigation, la conscience des collisions, la planification des intentions ou la cartographie, cette étape de perception est un défi, en termes de précision, de complexité et de gestion de l’incertitude. Plus précisément, l’invention se rapporte à un traqueur de grille d’état dynamique générique et à un procédé correspondant, qui filtre les états des cellules et déduit la dynamique de la scène captée par un ou plusieurs capteurs grâce à l’interaction d’un modèle statique, basé sur une grille, et d’un modèle dynamique, basé sur des particules. Art antérieur Malgré des développements impressionnants et le développement d'une intelligence embarquée toujours croissante sur les appareils mobiles, la capacité d'un agent autonome à percevoir avec précision, robustesse et efficacité son environnement reste un défi de taille en robotique. La qualité de la modélisation de l'environnement repose non seulement sur les capteurs, mais aussi sur les schémas d'interprétation, traitant des erreurs de capteurs, des occlusions, des contradictions de données, des paramètres fortement complexes, etc. Des méthodes probabilistes ont été développées pour modéliser formellement, dans ces schémas d’interprétation, les incertitudes et les connaissances antérieures. Lorsque ces schémas d’interprétation sont confrontés à des objets en mouvement, de nombreux problèmes supplémentaires sont soulevés. Une manière classique d'aborder ce problème est d'adopter une représentation basée sur les objets, ce qui conduit à effectuer un suivi d'objets multiples. Une autre approche courante est le domaine des grilles d'occupation qui travaille sur l'occupation spatiale sans segmentation de niveau supérieur. Cette approche présente des avantages significatifs, comme un modèle spatialement dense, avec une représentation correcte de l'espace libre, qui est une donnée importante en robotique mobile. De plus, les étapes critiques de segmentation et de reconnaissance des données, nécessaires dans les représentations à base d'objets, peuvent être évitées. Lorsqu'elle est appliquée à des environnements dynamiques, il est généralement nécessaire d'enrichir cette représentation en estimant des informations de vitesse. Dans le cas de méthodes spécifiquement conçues pour des capteurs spécifiques, la vitesse peut être dérivée des mesures des capteurs. Mais dans de nombreux cas, une approche plus générique est nécessaire. Le filtre d'occupation bayésien (BOF) est un cadre bayésien générique qui met à jour une grille d'occupation dynamique en filtrant l'occupation et la vitesse dans chaque cellule en parallèle. Le modèle d'observation est incorporé sous la forme d'une grille d'occupation instantanée générée en cartographiant les données du capteur sur une grille à l'aide d'un modèle de capteur probabiliste. Une méthodologie de filtrage bayésien, basée sur une boucle de prédiction-correction est utilisée pour filtrer les distributions dans chaque cellule, en utilisant des histogrammes de transition de voisinage. Cette conception particulière de discrétisation du mouvement est pratique pour modéliser l'évolution des cellules, mais entraîne des coûts de calcul élevés et des problèmes de repliement (aliasing). Pour réduire les dimensions du champ de mouvement, on peut utiliser une connaissance cartographique préalable, ou plus généralement une méthode d'échantillonnage de distribution de mouvement, l'histogramme dans chaque cellule étant majoritairement vide. Les méthodes d'échantillonnage adaptatif peuvent réduire considérablement les dimensions de représentation du mouvement, car la plupart des cellules, comme les cellules vides ou statiques, ne nécessitent pas de représentations élaborées. Dans certains processus, un nombre variable d'échantillons par cellule est utilisé, en fonction de l'occupation estimée. La scène est représentée par un ensemble de particules (fictive) en mouvement ayant des positions et des valeurs non discrétisées, ce qui corrige la plupart des problèmes d'aliasing. Des approches hybrides existent. Il est ainsi possible de mettre en œuvre des interactions entre les représentations basées sur des grilles et basées sur des objets. Plus récemment, en utilisant un cadre mathématique différent, une approche d'ensembles finis aléatoires et des filtres sur les fonctions de croyance, il a été proposé un système adapté pour résoudre avec précision le problème de suivi multi-objets dans les grilles d'occupation. Le filtre d'occupation bayésien à échantillonnage hybride, tel que présenté dans FR3022049A1 modifie les structures BOF et analyse la scène à travers une dualité statique-dynamique. La partie statique est une grille d'occupation, et le champ dynamique est porté par des particules (fictives) en mouvement, dans la grille d’occupation. Les deux sections sont générées et évaluées conjointement, leurs distributions sur les cellules étant ajustées. Ce filtre permet des calculs plus efficaces, en concentrant les calculs de vitesse sur les composantes dynamiques, en proposant un modèle plus compact et en effectuant une amélioration drastique de la précision du système. Il a par ailleurs été proposé, sur la base de la technique présentée dans FR3022049A1, d’introduire des états formels dans le processus de filtrage, représentant l'occupation statique, l'occupation dynamique, les zones vides et inconnues. Ce formalisme clarifie la présentation globale de l'algorithme (pour les transitions, l'initialisation, etc.), l'état inconnu permet des traitements spécifiques et la focalisation des particules sur les zones dynamiques pertinentes. Si la représentation de bas niveau filtrée peut être directement utilisée, pour la cartographie, l'évaluation des risques à court terme, une méthode de regroupement d'occupation dynamique rapide est directement intégrée au processus, permettant une analyse simplifiée. Cependant, le cette évolution, tout comme la technique précédente de FR3022049A1 présente l’inconvénient de ne pas offrir une conservation des éléments, notamment dynamiques, gérés au sein de la grille. Plus particulièrement, dans le calcul probabiliste effectué, chaque contribution antécédente (celle en provenance de la grille d’occupation et celle en provenance des particules) étant intégrée indépendamment, l'occupation « dynamique » prédite par des particules est systématiquement réduite par la prédiction de l'espace libre ou indéfinie à partir de la grille. En d’autres termes, l’espace libre de la grille d’occupation intervient systématiquement dans la prédiction, notamment de celle issue des particules, réduisant le poids de la prédiction « particulaire ». Il est donc nécessaire de disposer d’une solution qui permette notamment de résoudre cette problématique. L’invention a été pensée en conservant ces problématiques de l’art antérieur à l’esprit. Plus particulièrement, l’invention se rapporte à un procédé d’obtention d’une grille de données représentatives d’une scène dynamiquement représentée, dite grille d’état, ladite grille d’état étant découpée en cellules, procédé mis en œuvre par un module informatique de traitement de données en provenance d’au moins un capteur. Selon l’invention, ce procédé comprend au moins une itération des étapes suivantes : mise à jour de distributions de probabilités d’une grille statique de caractérisation de la scène, en fonction d’au moins un état statique associé à au moins une cellule de la grille statique, selon un modèle statique ; mise à jour de distributions de probabilités d’une grille dynamique de caractérisation de la scène, en fonction d’au moins une particule associée à au moins une cellule de la grille dynamique, selon un modèle dynamique ; fusion des distributions de probabilités, au sein d’une grille d’état résultante, de la grille statique et de la grille dynamique, délivrant, pour chaque cellule, une prédiction d’état et une prédiction de vitesse ; évaluation, pour au moins une cellule de la grille d’état résultante, de la probabilité d'un état final et d’une vitesse associée en fonction des prédictions et des éventuelles données reçues en provenance dudit au moins un capteur. Selon une caractéristique particulière, l’étape de fusion des distributions de probabilités comprend, pour une cellule donnée de la grille résultante, une étape de calcul de la probabilité dans laquelle : : État prédit de la cellule au pas de temps courant ; : Vitesse prédite de la cellule au pas de temps courant ; : État prédit de la cellule au pas de temps courant, prédit par le modèle « statique » ; : Vitesse prédite de la cellule au pas de temps courant, prédite par le modèle "statique" ; : État prédit de la cellule au pas de temps courant, prédit par le modèle "dynamique" ; : Vitesse prédite de la cellule au pas de temps courant, prédite par le modèle "dynamique". Selon une caractéristique particulière, l’étape d’évaluation de la probabilité d'un état final et d’une vitesse associée comprend, pour une cellule donnée de la grille résultante, une étape de calcul de la probabilité dans laquelle : : État de la cellule au pas de temps courant ; : Vitesse de la cellule au pas de temps courant ; : État prédit de la cellule au pas de temps courant ; : Vitesse prédite de la cellule au pas de temps courant ; : État observé de la cellule au pas de temps courant ; : Vitesse observée de la cellule au pas de temps courant. Selon une caractéristique particulière, l’étape de mise à jour comprend : Une étape de projection dynamique de particules, en fonction de leurs vitesses ; une étape d’application d’une modification d’état sur le modèle statique ; Une étape de transition d’états, en fonction du modèle ; Une étape de déplacement, en fonction du déplacement du référentiel ; Selon une caractéristique particulière, postérieurement à l’étape d’évaluation, il comprend une étape de rééchantillonnage des particules au sein du modèle dynamique. Selon une caractéristique particulière, l’étape de rééchantillonnage des particules comprend : Une étape de réallocation des particules en fonction de la probabilité dynamique de chaque cellule de la grille ; Une étape de génération de particules, en fonction de assignations précédentes des particules et de la contribution de ces particules assignées précédemment au modèle dynamique. Selon une caractéristique particulière, l’étape d’évaluation met en œuvre une grille d’observation, ladite grille d’observation comprenant des données en provenance dudit au moins un capteur. Selon un autre aspect, l’invention se rapporte également à un module d’obtention d’une grille de données représentatives d’une scène dynamiquement représentée, dite grille d’état, ladite grille d’état étant découpée en cellules, procédé mis en œuvre par un module informatique de traitement de données en provenance d’au moins un capteur. Ce module comprend des moyens de calculs itératifs pour effectuer : Une mise à jour de distributions de probabilités d’une grille statique de caractérisation de la scène, en fonction d’au moins un état statique associé à au moins une cellule de la grille statique, selon un modèle statique ; Une mise à jour de distributions de probabilités d’une grille dynamique de caractérisation de la scène, en fonction d’au moins une particule associée à au moins une cellule de la grille dynamique, selon un modèle dynamique ; Une fusion des distributions de probabilités, au sein d’une grille d’état résultante, de la grille statique et de la grille dynamique, délivrant, pour chaque cellule, une prédiction d’état et une prédiction de vitesse ; Une évaluation, pour au moins une cellule de la grille d’état résultante, de la probabilité d'un état final et d’une vitesse associée en fonction des prédictions et des éventuelles données reçues en provenance dudit au moins un capteur. Selon une implémentation préférée, les différentes étapes des procédés selon la présente divulgation sont mises en œuvre par un ou plusieurs logiciels ou programmes d’ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d’un dispositif de traitement de grilles d’occupation selon la présente technique et étant conçu pour commander l’exécution des différentes étapes des procédés, mis en œuvre au niveau d’un dispositif de traitement, d’un serveur distant et/ou d’un système réparti, dans le cadre d’une répartition des traitements à effectuer et déterminés par un code source scripté ou un code compilé. En conséquence, la présente technique vise aussi des programmes, susceptibles d’être exécutés par un ordinateur ou par un processeur de données, ces programmes comportant des instructions pour commander l’exécution des étapes des procédés tel que mentionnés ci-dessus. Un programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. La présente technique vise aussi un support d’informations lisible par un processeur de données, et comportant des instructions d’un programme tel que mentionné ci-dessus. Le support d’informations peut être n’importe quelle entité ou terminal capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d’enregistrement magnétique, par exemple un support mobile (carte mémoire) ou un disque dur ou un SSD. D’autre part, le support d’informations peut être un support transmissible tel qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d’autres moyens. Le programme selon la présente technique peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d’informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution du procédé en question. Selon un exemple de mise en œuvre, la présente technique est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme « module » peut correspondre dans ce document aussi bien à un composant logiciel, qu’à un composant matériel ou à un ensemble de composants matériels et logiciels. Un composant logiciel correspond à un ou plusieurs programmes d’ordinateur, un ou plusieurs sous-programmes d’un programme, ou de manière plus générale à tout élément d’un programme ou d’un logiciel apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d’une entité physique (terminal, serveur, passerelle, set-top-box, routeur, etc.) et est susceptible d’accéder aux ressources matérielles de cette entité physique (mémoires, supports d’enregistrement, bus de communication, cartes électroniques d’entrées/sorties, interfaces utilisateur, etc.). Ainsi, il est possible de décentraliser l’ensemble des calculs, afin de paralléliser les calculs, voire d’échanger des calculs et des paramètres entre différents dispositifs (par exemple différents véhicules effectuant des calculs les uns pour les autres). De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s’agir d’un composant matériel programmable ou avec processeur intégré pour l’exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l’exécution d’un micrologiciel (firmware), etc. Chaque composante du système précédemment décrit met bien entendu en œuvre ses propres modules logiciels. Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en œuvre de la présente technique. Brève description des figures D’autres buts, caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles : représente le réseau bayésien représentant les dépendances variables. L’occupation O peut être déduite de l'état S ; représente les étapes du modèle de prédictions pour la grille d’occupation et les particules ; expose globalement les étapes mise en œuvre dans le procédé objet de l’invention ; représente une architecture physique simplifiée d’un dispositif de traitement de grille d’occupation. Description détaillée de l’invention 1. Rappels des principes Pour rappel, un objectif des techniques dites « Bayesian Occupancy Filter », auquel la technique proposée ici se rapporte, est d'estimer l'occupation spatiale et sa dynamique d'un environnement, observé à l'aide de différents types de capteurs. Pour ce faire, l'espace est divisé en cellules spatiales et à chaque cellule sont associées des variables aléatoires. Les distributions de probabilité de ces variables aléatoires sont estimées récursivement et utilisées comme base de l'interprétation de la scène. Le modèle probabiliste formel qui est utilisé par exemple dans le FR3022049A1, et dont le formalisme est intégré peuvent être considéré comme similaire : malgré les différences dans la décomposition de la distribution conjointe et les expressions paramétriques, les principales améliorations n'étaient pas dans les équations du modèle, mais dans la distinction statique/dynamique, la représentation différenciée et la résolution d'équations. Dans des travaux ultérieurs, un changement avait été introduit dans le modèle et les calculs : au lieu de filtrer directement l'occupation, des états cachés (s pour « occupé par un objet statique », d pour « occupé par un objet dynamique », e pour « vide » et u pour « inconnu ») (une variable avec quatre états possibles, mais d’autres états sont possibles également) représentant ce qui est présent dans une cellule ont été ajoutés. La distribution d'occupation des cellules pouvait alors être déduite de ces états cachés. En plus de présenter une distinction plus nette entre les parties statiques et dynamiques, l'intérêt principal de cette modification était d'introduire un traitement spécifique des zones sans données, les excluant de l'estimation de la vitesse et désactivant leur persistance temporelle. Comme exposé, cependant, ce modèle est sous optimal en ce qu’il ne permet pas de conserver, dans le temps, l’évolution des prédictions issues du modèle dynamique, ce qui a pour conséquence une perte d’information importante, notamment pour les cellules dites vides. Pour cette raison, notamment, les inventeurs ont déterminé un nouveau modèle, dans lequel les prédictions des modèles statiques et dynamiques sont combinées (en fin de processus) pour préserver la dynamique d’occupation des cellules dans le temps et permettre une meilleure mémorisation de la dynamique des cellules. Dans ce modèle, comme explicité par la suite, on sépare les prédictions basées sur la grille (statique) et les prédictions basées sur les particules (dynamique), et on les combine pour gérer les différents cas pour la prédiction finale (associée à une cellule). Ainsi on conserve, dans le temps, la capacité à suivre un objet dynamique, même quand aucune nouvelle observation n’est disponible pour cet objet. La grille, sur laquelle les itérations sont effectuée, et dont il est question dans la demande est une grille d’occupation « sémantique », elle comprend des états considérés plus larges que la simple occupation (binaire). Elle peut également être appelée grille d’état. Ainsi, dans ce nouveau modèle, et la mise en œuvre de celui-ci, objet de la présente, et dans la version des équations qui y est associée, des variables intermédiaires pour les états prédits, la vitesse prédite, et les états observés, la vitesse observée, sont ajoutées. Pour les états et vitesses prédits, des variables spécifiques sont définies pour chaque modèle (des variables pour la prédiction à partir de grilles seules, des variables pour la prédiction à partir du modèle particulaire), les variables d'états et de vitesses prédits étant, selon l’invention, le résultat de la fusion de ces deux prédictions, réalisée indépendamment les unes des autres. Ces deux modèles sont configurés pour représenter les différentes parties de la scène captée et pour optimiser l’allocation des particules uniquement aux zones pertinentes, leurs prédictions étant fusionnées en conséquence avec celles relatives à la grille (statique). L'utilisation de variables cachées dans le processus de filtrage permet de gérer par exemple des prédictions d'état contradictoires ou des capteurs asynchrones (lorsque par exemple le capteur envoie des données à des fréquences plus basses que celle du module de filtrage). Le formalisme utilisé dans cette description est issu du cadre de programmation bayésien. Étant donné un ensemble des variables aléatoires, l'expression de leur décomposition de probabilité conjointe, la distribution recherchée peut être exprimée, comme présenté dans ce qui suit. Des variables spécifiques sont définies pour chaque modèle (celles pour les prédictions basées sur la grille, celles pour les prédictions basées sur les particules), les états et vitesses prédits étant le résultat de la fusion de ces prédictions fusionnées et des états observés. Seules les données d'occupation et de dynamique des états sont explicitées dans la suite, mais chaque variable d'état considérée peut comporter diverses informations sémantiques sur la cellule (type d'obstacle, type d'espace navigable, etc.). 1.1 Définition des variables Dans le cadre de l’implémentation de la présente technique, les variables mises en œuvre dans le modèle sont les suivantes : : Index identifiant chaque cellule 2D ; : Index qui identifie chaque antécédent d'une cellule, utilisé pour le modèle « statique », basé sur des grilles ; : Indice qui identifie chaque antécédent d'une cellule, utilisé pour le modèle "dynamique", basé sur les particules ; : État de la cellule au pas de temps courant. Les états possibles comprennent par exemple « s » pour "occupé par un objet statique", « d » pour "occupé par un objet dynamique", « e » pour "vide" et « u » pour "indéfini" ; : Vitesse de la cellule au pas de temps courant, en R² ; : État de l'antécédent de la cellule à l'instant précédent, selon le modèle « statique » (i.e. basé sur les grilles) ; : Vitesse de la cellule antécédente à l'instant précédent, selon le modèle "statique" ; : État de l'antécédent de la cellule à l'instant précédent, selon le modèle « dynamique » (i.e. basé sur les particules) ; : Vitesse de la cellule antécédente à l'instant précédent, selon le modèle "dynamique" ; : État prédit de la cellule au pas de temps courant, prédit par le modèle « statique ». Les états possibles comprennent par exemple « s » pour "occupé par un objet statique", « d » pour "occupé par un objet dynamique", « e » pour "vide" et « u » pour "indéfini" ; : Vitesse prédite de la cellule au pas de temps courant, prédite par le modèle "statique", dans R² ; : État prédit de la cellule au pas de temps courant, prédit par le modèle "dynamique". Les états possibles comprennent par exemple « s » pour "occupé par un objet statique", « d » pour "occupé par un objet dynamique", « e » pour "vide" et « u » pour "indéfini" ; : Vitesse prédite de la cellule au pas de temps courant, prédite par le modèle "dynamique", dans R 2 ; : État prédit de la cellule au pas de temps courant. Les états possibles comprennent par exemple « s » pour "occupé par un objet statique", « d » pour "occupé par un objet dynamique", « e » pour "vide" et « u » pour "indéfini" ; : Vitesse prédite de la cellule au pas de temps courant, dans R 2 ; : État observé de la cellule au pas de temps courant. Les états possibles comprennent par exemple « o » pour "occupé", « e » pour "vide" et « u » pour "indéfini" ; : Vitesse observée de la cellule au pas de temps courant, dans R 2 . ; : Mesure du capteur ; O : Occupation de la cellule au pas de temps courant. Ses valeurs possibles sont {occ,emp}. Pas directement utilisé dans l'inférence, défini uniquement par la suite pour les applications et la comparaison avec d'autres méthodes. Les états possibles ne se limitent pas à ceux exposés ici. Il est possible de mettre en œuvre des états plus précis et nombreux, comme par exemple « occupé par un piéton coopératif », « occupé par un piéton non-coopératif », « conscient de la présence de l’entité automatisée (véhicule, robot) / non conscient », etc. 1.2 Distribution de probabilité jointe Le réseau Bayésien illustrant la dépendance de ces variables est présenté en . Comme on peu le constater, à la différence de la technique antérieure (notamment HBOF), pour une cellule C donnée à une itération donnée, on évalue différemment la dynamique (p) et la statique (g) de la scène. Pour ce faire, les évaluations statiques et les évaluations dynamiques prennent en compte, séparément, les évaluations statiques et les évaluations dynamiques antérieure (de l’itération précédente) avant d’être combinées et mixées à l’information probabiliste provenant du ou des capteurs. Globalement, la distribution de probabilité est exprimée par : (1) Chaque expression peut être interprétée comme suit : P(C g −1 ) est la distribution sur tous les antécédents possibles de la cellule (grille, statique). Elle est choisie uniforme car la cellule est considérée comme accessible à partir de tous les antécédents possibles avec une probabilité égale ; P(S g −1 V g −1 |C g −1 ) est la distribution conjointe conditionnelle sur l'état et la vitesse des antécédents. Cette distribution est mise à jour à chaque pas de temps (à chaque itération) ; P(S g p V g p |S g −1 V g −1 ) est le modèle de prédiction, selon le modèle « statique », basé sur des grilles ; les états et la vitesse sont indissociables, car la définition de l'état est directement liée à la vitesse : la vitesse dans les parties statiques est nulle, tandis que les parties libres et indéfinies n'ont pas de vitesse associée ; P(C p −1 ) est la distribution sur tous les antécédents possibles de la cellule (particule, dynamique). Elle est choisie uniforme car la cellule est considérée comme accessible à partir de tous les antécédents possibles avec une probabilité égale ; P(S p −1 V p −1 |C p −1 ) est la distribution conjointe conditionnelle sur l'état et la vitesse des antécédents. Cette distribution est mise à jour à chaque pas de temps ; P(S p p V p p |S p −1 V p −1 ) est le modèle de prédiction, selon le modèle « dynamique », basé sur les particules. Les états et la vitesse sont indissociables, car la définition de l'état est directement liée à la vitesse : la vitesse dans les parties statiques est nulle, tandis que les parties libres et indéfinies n'ont pas de vitesse associée ; est la distribution qui indique si la cellule c est atteignable depuis l’antécédent [C g −1 ] avec la vitesse [V g p = v g p ], et depuis l’antécédent Cp −1 avec la vitesse [Vp p = v p p ]. Cette distribution est par exemple le produit de deux distributions de Dirac avec une valeur égale à 1 pour l’un, seulement si c − g 1 X + v g p δt ∈ c et que . Cela permet à la méthode de se concentrer uniquement sur les données projetées par les deux modèles de la cellule c, et donc de diminuer la charge de calcul ; est le modèle de fusion de prédiction. Les états et la vitesse sont indissociables, car la définition de l'état est directement liée à la vitesse : la vitesse dans les parties statiques est nulle, tandis que les parties libres et indéfinies n'ont pas de vitesse associée ; P(Z) est la probabilité d'une observation donnée Z. Dans ce modèle, sa valeur n'aura pas forcément d'importance, car ce sera le même facteur pour chaque potentiel S et V, Z étant fourni. P(S o V o |ZC) est la distribution inverse du modèle de capteur, celle directement calculée et donnée par les autres modules ; P(SV|S p V p S o V o ) est la probabilité d'un couple SV (état/vitesse) selon les états prédits et observés, permettant les interactions prédictions et observations. Une matrice de génération, ou une formule plus complexe peut être utilisée. 1.3 Expression symbolique du problème résolu Le but du processus de filtrage bayésien est d'estimer l'état et la vitesse par rapport à l'observation courante pour chaque cellule : P(SV|ZC). Dans le système, le filtrage est appliqué sur les états cachés, l'état peut alors être déduit. Soit O l'ensemble de toutes les variables : (2) En utilisant une discrétisation des cellules antécédentes et des vitesses, l'équation de filtrage s'écrit : (3) Ensuite, la distribution peut être exprimée comme : (4) Alors, l’occupation de la cellule peut être déduite : 2. Description d’un exemple de résolution du modèle Sur la base de ce modèle et de sa caractérisation, une méthode de résolution est mise en œuvre, selon la présente. Cette méthode comprend principalement trois étapes (prédiction, fusion-évaluation et rééchantillonnage de particules), qui sont explicitées par la suite. 2.1 Implémentation du modèle Comme expliqué dans les définitions des variables, le système est composé de deux modèles interconnectés, un « statique » (basé sur une grille) et un « dynamique » (basé sur des particules). En plus des données sémantiques, les états potentiels sont par exemple : L'état « occupé par un objet statique » (s) qui fait référence à une occupation immobile, qui comprend à proprement parler des objets statiques, mais aussi des données d'arrière-plan (bâtiments, etc.). L'état « occupé par un objet dynamique » (d), qui fait référence à l'occupation dynamique. L'état « vide » (e), qui correspond à l'espace libre. L'état « indéfini » (u), qui est un état utilisé pour signifier le manque d'information, puis le manque de confiance dans la crédibilité des autres états. D‘autres états peuvent bien entendu être définis (comme par exemple « occupé par un piéton », « occupé par un véhicule », « occupé par un cycliste », etc.), notamment en fonction des données fournies par les capteurs. Le modèle statique consiste en une grille d'états (grille d'occupation), chaque cellule codant sa distribution d'états. Les éléments estimés statiques par le filtre sont représentés dans cette grille de cellules Le modèle dynamique consiste en un ensemble de particules en mouvement, chacune ayant une position et une vitesse réelles, ainsi qu'un "poids" correspondant à la probabilité que la cellule à laquelle elle (cette particule) appartiendrait soit occupée par un objet dynamique avec cet état et cette dynamique. Comme seules les parties occupation et dynamique des états sont détaillées ici, toutes les particules ont le même état (dynamique), mais plus généralement elles peuvent aussi avoir un état sémantique associé (voiture, piéton, etc.). Plus précisément, à chaque itération du filtre (à chaque pas de temps par exemple), les deux modèles sont utilisés indépendamment pour la prédiction, puis fusionnés et évalués ensemble, et enfin segmentés à nouveau. Si le type d'états pris en compte peut différer, certains correspondent à des cellules occupées (piéton, voiture, bâtiment, etc.) ou vides (route, trottoir, etc.), et chacun peut avoir un modèle de mouvement spécifique. Ainsi, dans le modèle dynamique, les particules ont chacune une position et une vitesse réelle, ainsi qu'un « poids ». Ce poids est représentatif de la probabilité que la cellule (à laquelle la particule appartiendrait) soit occupée par un objet dynamique avec cet état et cette dynamique. Les éléments estimés dynamiques par le filtre sont représentés dans le modèle dynamique (objets en mouvement). Les particules sont distribuées dans une grille de cellules, dont les dimensions sont identiques à celle du modèle statique. Les deux grilles (les deux modèles) sont, à chaque itération, mis à jour indépendamment l’in de l’autre puis ils sont fusionnés pour fournir une grille « finale ». La expose le procédé général mis en œuvre au sein du dispositif de traitement des grilles d’occupation. Le procédé comprend, à partir d’une grille d’occupation courante : une étape de mise à jour (A10) du modèle statique, consistant à déterminer des prédictions d'états et de vitesses pour au moins une cellule de la grille d’occupation courante en fonction des probabilités du modèle statique déterminées à l’itération précédente, délivrant des prédictions du modèle statique [au pas de temps t+1] ; une étape de mise à jour (A20) du modèle dynamique, consistant à déterminer des prédictions d'états et de vitesses pour au moins une particule fictive de la grille d’occupation courante en fonction des probabilités du modèle dynamique déterminées à l’itération précédente, délivrant des prédictions du modèle dynamique [au pas de temps t+1] ; une étape de fusion (A30) des prédictions du modèle statique et des prédictions du modèle dynamique, selon un motif de fusion prédéterminé ; une étape de d’évaluation (A40) des prédictions fusionnées en fonction de données d’observations optionnelles issues d’au moins un capteur, par exemple un capteur probabiliste. Un avantage de cette solution est qu’il est possible mettre à jour les prédictions finales sans données en provenance de capteurs : le traitement des grilles peut être effectué indépendamment de la réception des données en provenance du capteur. Par exemple, le module implémentant la technique de l’invention peut effectuer des mises à jour "asynchrones", celui-ci effectuant celles-ci à une fréquence de 100Hz ; les capteurs peuvent eux transmettre des données à une fréquence de 20Hz et de nombreuses itérations de la méthode proposée ont lieu sans "observation" (une grille complète d’état "unknown" est utilisée en lieu et place des données en provenance du ou des capteurs), l'état filtré ne s'appuie alors que sur la prédiction effectuée à partir des états précédents, en séparant la prédiction particulaire de la prédiction « grille », comme explicité précédemment. 2.2 Prédictions Comme indiqué précédemment, les deux modèles sont projetés séparément, la prédiction finale étant le résultat de la fusion de ces prédictions. En d’autres termes, on effectue deux prédictions (mise à jour du modèle statique et mise à jour du modèle dynamique) qui sont prédites séparément puis fusionnées. Pour chaque modèle, les étapes de mise à jour conduisant à la prédiction consistent à : une projection dynamique : en fonction du temps écoulé depuis l'itération précédente, les particules sont projetées en fonction de leurs vitesses, et des bruits gaussiens en position et en vitesse. Les grilles d'occupation sont ici définies comme statiques. une transition d'état : à chaque modèle (statique, dynamique) sont associées des matrices de transition, permettant des transitions d'état. En pratique, ces matrices consistent principalement en une transition lente vers l'état "indéfini", représentant la perte de confiance dans les données estimées au fil du temps. Les états occupés (statiques, dynamiques) sont définis pour être plus cohérents dans le temps que les états libres. un déplacement du référentiel : le système étant destiné à être embarqué sur des véhicules en mouvement (donc mobile), les modèles doivent être déplacés en fonction de l'ego-motion. La représentation des modèles simplifie cette opération par ailleurs complexe, l'opération consistant en la transformation des vecteurs particulaires (translation et rotation pour les positions, rotation pour la vitesse) et l'interpolation des grilles. Les zones de la grille correspondant aux régions nouvellement découvertes sont initialisées à l’état non définie (u), tandis que les zones supprimées peuvent être soit oubliées (dans de nombreuses applications de robots mobiles, ce stockage de données n'est pas pertinent) ou utilisées pour générer une carte basée sur la partie statique. La schématise le processus de prédiction : (i) Modèles au pas de temps précédent. Les deux (grilles et particules) sont représentés en superposition. (ii) Projection dynamique (pour les grilles et les particules, selon les modèles de mouvement) et les transitions d'état (selon les modèles de transition d’état). (iii) Expression des données dans le nouveau référentiel, par interpolation des grilles et translation et rotation des particules. (iv) Modèles prédits au pas de temps courant (les deux grilles sont représentées en superposition). Les valeurs potentielles de ces prédictions sont précalculées (et pré-échantillonnées), de sorte que les valeurs : P(C g −1 ) P(S g −1 V g −1 |C g −1 ) P(S g p V g p |S g −1 V g −1 ) et P(C p −1 ) P(S p −1 V p −1 |C p −1 ) P(S p p V p p |S p −1 V p −1 ) sont calculées indépendamment (et ces valeurs sont directement associées aux cellules des grilles et aux particules concernées). 2.3 Fusion des prédictions et évaluations Les distributions mises à jour sur les états sont évaluées en parallèle dans chaque cellule de la grille courante. Toutes les particules prédites sont réorganisées en fonction de leur position dans la grille, de sorte que seules les particules et les données des cellules pertinentes sont transmises pour le calcul au niveau de la cellule de la grille courante (selon P(C|C g −1 V g p C p −1 V p p )). En d’autres termes, seules les cellules dont P(C|C g −1 V g p C p −1 V p p ) excède un certain seuil sont transmises pour fusion et évaluation Fusion des prédictions : selon le modèle de fusion défini par P(S p V p |S g p V g p S p p V p p ), chaque échantillon de prédiction statique et dynamique génère des prédictions finales. Le modèle de fusion peut être élaboré avec précision (et pourrait même être appris), mais l’objet principal est de le définir de sorte que si un modèle prédit un état dynamique, la fusion aboutit à un état dynamique. Sinon, si un modèle prédit un état statique, la fusion aboutit à un état statique. Sinon, si un modèle prédit un état libre, la fusion aboutit à un état libre. Et un état indéfini (u) n’est généré que si les deux modèles (statique et dynamique) prédisent chacun un état indéfini. De cette façon, par exemple, la prédiction d'un objet en mouvement arrivant dans des cellules précédemment libres (f) ou indéfinies (u) n’est pas affaiblie ce qui garantit la pérennité de l’information (au cours du temps) et donc permet de résoudre les problèmes rencontrés. Évaluation : dans une cellule « c » donnée, ces prédictions finales sont confrontées à l'observation P(S o V o |ZC). Le modèle d'observation utilisé est basé sur le modèle de capteur probabiliste classique, en tenant compte de la pertinence des données du capteur (confiance du capteur, localisation des impacts, hauteur des impacts, distribution verticale, etc.). Le modèle d'observation peut être défini pour tout type de capteur, les distributions peuvent être fusionnées à l'aide de règles de fusion de probabilité, permettant une intégration de données hétérogènes et un traitement générique. La définition d'état utilisée dans ce modèle peut également être différente de celle filtrée. Par exemple, le modèle d'observation peut être basé sur le modèle de capteur probabiliste classique, avec l'ajout de l'évaluation à l'état indéfini (u), qui corrèle avec la pertinence des données du capteur. Par exemple, dans le cas de données laser, le modèle indéfini obtient des valeurs faibles avant et autour de l'impact, et obtient des valeurs élevées plus loin (lorsqu'aucune information n'est disponible). Pour générer l'estimation de l'état final, la distribution générative P(SV|S p V p S o V o ) est utilisée, définissant la probabilité d'un état final et la vitesse en fonction des prédictions et des observations. Ceci est donné sous la forme d'une matrice générative pour les états (dont les paramètres peuvent ou doivent être appris, en fonction des conditions de mise en œuvre opérationnelles), permettant par exemple l'apparition rapide d'objets dans des cellules précédemment vues comme libres, tout en assurant une disparition lente d'objets dans des cellules désormais vues comme libres ou indéfinies, ou l'absence d'impact sur l'estimation de l'état final d'une observation indéfinie (hors du champ de l'érosion naturelle des prévisions au fil du temps). À l’issue de la fusion des prédictions et des évaluations au regard des données fournies par les capteurs, pour ce pas de temps, on dispose d’une grille courante dans laquelle, pour chaque cellule (pertinente) la probabilité d'un état final et la vitesse en fonction des prédictions et des observations est obtenue. 2.4 Rééchantillonnage des particules Une fois que les distributions d'état sur les cellules sont correctement estimées (calculées), la tâche suivante consiste, dans un exemple de réalisation, en un rééchantillonnage des particules, comprenant par exemple les des deux étapes suivantes : Réallocation des particules : en fonction de la probabilité dynamique de chaque cellule de la grille, et d'autres critères (position, différence entre états prédits et observés, distribution des vitesses, etc.), le nombre global de particules est réalloué aux cellules concernées. Génération de particules : lors de l'évaluation des distributions d'états, le poids de chaque particule existante est mis à jour et normalisé, en fonction de sa contribution relative dans la partie dynamique. Dans chaque cellule à laquelle des particules ont été associées, les particules sont alors tirées de la distribution de particules existante, et d'une distribution d'initialisation, selon la proportion « d'apparence dynamique » (différence entre les états prédits et observés, distribution de vitesse, etc.). Enfin, le coefficient dynamique cellulaire (i.e. de la cellule) est uniformément réparti entre les particules (de cette cellule). Des marqueurs uniques sont associés à chaque particule tirée de la distribution d'initialisation, et propagés aux particules extraites de celles déjà existantes, permettant une pré-segmentation rapide et ultralégère des objets (ou au moins un cluster cohérent dans les espaces d’occupation et les espaces dynamiques). Ce rééchantillonnage peut être réalisé par d’autres moyens. Il n’est pas obligatoire de se limiter à cette manière de faire. 3. Autres caractéristiques, améliorations et avantages Selon l’invention, il est ainsi possible d’améliorer grandement la qualité des prédictions réalisées par les précédents systèmes, en assurant que les prédictions perdurent plus durablement dans le temps. Par ailleurs, l’invention présente également les avantages suivants : sensibilité spécifiable des filtres : une première différence majeure de la technique présentée par rapport aux filtres précédemment cités est l'introduction de variables d'état intermédiaires (S o V o ) pour évaluer les états du modèle, au lieu d'une évaluation directe à partir des données. Ces « états observés » peuvent avoir un nombre de dimensions différent de l'état estimé, et la relation entre chaque état potentiel observé et estimé peut être conçue, définissant explicitement la sensibilité de filtrage sur une entrée de données spécifique sans affecter la cohérence temporelle des états filtrés. Le démêlage de ces deux composants du filtre résout un problème pratique des approches précédentes, dans lesquelles les taux d'apparition et de disparition de l'état étaient directement liés. fréquence de mise à jour indépendante : cela a déjà été évoqué, cette fréquence permet également, en conjonction avec l'utilisation dans les états d'observation d'une représentation spécifique pour « un manque de données », de déconnecter les fréquences de mise à jour du filtre de celle des capteurs. Et en corrélation avec l'implémentation du GPU, elle permet d'atteindre des fréquences de mise à jour supérieures aux fréquences des capteurs, ce qui permet d'avoir une estimation dynamique de la scène même lorsqu'aucune donnée de capteur n'est reçue. patron de prédiction adaptable : une autre différence majeure est l'utilisation de deux modèles distincts pour la prédiction, une prédiction basée sur grille (S g p V g p ) et une prédiction basée sur particule (S p p V p p ), tous deux propagés indépendamment à chaque itération mais fusionnés (S p V p ) et régénérés à partir de l'estimation états. Cette séparation stricte (par rapport à l'échantillonnage conditionnel antérieur) et la fusion configurable résolvent un autre problème important de la méthode précédente, dans laquelle il n'était pas possible d'adapter la persistance d'un état dans une cellule en fonction d'autres prédictions. Un cas typique d'un tel problème est lorsqu'un échantillon dynamique se déplace sur des zones libres, sans nouvelle observation, la persistance de cellules libres précédemment observées réduit la probabilité d'occupation de l'objet en mouvement, jusqu'à sa disparition, même sans transition d'état temporelle définie (modèle de transition dynamique). Grace à la méthode de l’invention, lorsqu'une cellule prédit à partir du premier modèle une cellule "libre", et à partir du second une cellule "dynamique" (à partir de la projection de particules), l'état prédit est correctement défini sur "dynamique". Ainsi, grâce à la mise en œuvre de la méthode proposée, il est possible d’obtenir une fréquence de mise à jour du filtre de 100 Hz, dépassant les fréquences des capteurs. Cette fréquence de mise à jour plus élevée permet un filtrage plus fluide, une intégration plus précise des données, un affaiblissement de la confiance temporelle bien défini, tout en améliorant la sécurité de fonctionnement du procédé (poursuite nette de la propagation des modèles en cas de défaillance des capteurs). La distinction entre deux modèles et la prédiction croisée finissent par résoudre des problèmes importants, tels que la dilution rapide indésirable de l'occupation dynamique dans des zones auparavant considérées comme libres ou indéfinies. L'ajout d'états d'observation conduit à une plus grande réactivité dans la détection d'états particuliers. Bien que les résultats soient convaincants, les travaux ultérieurs pourraient se concentrer sur la validation quantitative de l'approche, qui reste un défi majeur dans le domaine du filtrage de la grille d'occupation dynamique, qui manque de critères d'évaluation partagés clairs, de métriques et de base de données de référence. 4. Dispositif de traitement On présente, en relation avec la , une architecture simplifiée d’un dispositif de traitement de grilles d’occupation, mettant en œuvre tout ou partie de la méthode telle que présentée précédemment. Un tel dispositif de traitement de grilles d’occupation comprend une mémoire 41, une unité de traitement 42 équipée par exemple d’un microprocesseur, et pilotée par le programme d’ordinateur 43, mettant en œuvre le procédé selon l’invention. Dans au moins un exemple de mise en œuvre, l’invention est mise en œuvre sous la forme d’une application installée sur un dispositif installé au sein d’un véhicule ou d’un agent autonome (de type robot). Un tel dispositif de traitement de grilles d’occupation comprend par exemple tout ou partie des moyens suivants : des moyens de mise à jour de distributions de probabilités d’une grille statique de caractérisation de la scène, en fonction d’au moins un état statique associé à au moins une cellule de la grille statique, selon un modèle statique ; des moyens de mise à jour de distributions de probabilités d’une grille dynamique de caractérisation de la scène, en fonction d’au moins une particule associée à au moins une cellule de la grille dynamique, selon un modèle dynamique ; des moyens de fusions des distributions de probabilités, au sein d’une grille d’occupation résultante, de la grille statique et de la grille dynamique, délivrant, pour chaque cellule, une prédiction d’état et une prédiction de vitesse ; des moyens d’évaluation, pour au moins une cellule de la grille d’occupation résultante, de la probabilité d'un état final et d’une vitesse associée en fonction des prédictions et des observations. Ces moyens se présentent sous la forme d’une application logicielle spécifique, ou encore sous la forme de composants matériels dédiés construits en vue de la réalisation de ces fonctions, tel qu’un ASIC. Procédé d’obtention d’une grille de données représentatives d’une scène dynamiquement représentée, dite grille d’état, ladite grille d’état étant découpée en cellules, procédé mis en œuvre par un module informatique de traitement de données en provenance d’au moins un capteur, le procédé comprenant au moins une itération des étapes suivantes : mise à jour (A10) de distributions de probabilités d’une grille statique de caractérisation de la scène, en fonction d’au moins un état statique associé à au moins une cellule de la grille statique, selon un modèle statique ; mise à jour (A20) de distributions de probabilités d’une grille dynamique de caractérisation de la scène, en fonction d’au moins une particule associée à au moins une cellule de la grille dynamique, selon un modèle dynamique ; fusion (A30) des distributions de probabilités, au sein d’une grille d’état résultante, de la grille statique et de la grille dynamique, délivrant, pour chaque cellule, une prédiction d’état et une prédiction de vitesse ; évaluation (A40), pour au moins une cellule de la grille d’état résultante, de la probabilité d'un état final et d’une vitesse associée en fonction des prédictions et des éventuelles données reçues en provenance dudit au moins un capteur. Procédé selon la revendication 1, caractérisé en ce que l’étape de fusion des distributions de probabilités comprend, pour une cellule donnée de la grille résultante, une étape de calcul de la probabilité P(S p V p |S g p V g p S p p V p p ) dans laquelle : : État prédit de la cellule au pas de temps courant ; : Vitesse prédite de la cellule au pas de temps courant ; : État prédit de la cellule au pas de temps courant, prédit par le modèle « statique » ; : Vitesse prédite de la cellule au pas de temps courant, prédite par le modèle "statique" ; : État prédit de la cellule au pas de temps courant, prédit par le modèle "dynamique" ; : Vitesse prédite de la cellule au pas de temps courant, prédite par le modèle "dynamique". Procédé selon la revendication 1, caractérisé en ce que l’étape d’évaluation de la probabilité d'un état final et d’une vitesse associée comprend, pour une cellule donnée de la grille résultante, une étape de calcul de la probabilité P(SV|S p V p S o V o ) dans laquelle : : État de la cellule au pas de temps courant ; : Vitesse de la cellule au pas de temps courant ; : État prédit de la cellule au pas de temps courant ; : Vitesse prédite de la cellule au pas de temps courant ; : État observé de la cellule au pas de temps courant ; : Vitesse observée de la cellule au pas de temps courant. Procédé selon la revendication 1, caractérisé en ce que l’étape de mise à jour (A10, A20) comprend : Une étape de projection dynamique de particules, en fonction de leurs vitesses ; une étape d’application d’une modification d’état sur le modèle statique ; Une étape de transition d’états, en fonction du modèle ; Une étape de déplacement, en fonction du déplacement du référentiel. Procédé selon la revendication 1, caractérisé en que, postérieurement à l’étape d’évaluation (A40), il comprend une étape de rééchantillonnage des particules au sein du modèle dynamique. Procédé selon la revendication 5, caractérisé en que, l’étape de rééchantillonnage des particules comprend : Une étape de réallocation des particules en fonction de la probabilité dynamique de chaque cellule de la grille ; Une étape de génération de particules, en fonction de assignations précédentes des particules et de la contribution de ces particules assignées précédemment au modèle dynamique. Procédé selon la revendication 1, caractérisé en ce que l’étape d’évaluation (A40) met en œuvre une grille d’observation, ladite grille d’observation comprenant des données en provenance dudit au moins un capteur. Module d’obtention d’une grille de données représentatives d’une scène dynamiquement représentée, dite grille d’état, ladite grille d’état étant découpée en cellules, procédé mis en œuvre par un module informatique de traitement de données en provenance d’au moins un capteur, le module comprenant des moyens de calculs itératifs pour effectuer : Une mise à jour (A10) de distributions de probabilités d’une grille statique de caractérisation de la scène, en fonction d’au moins un état statique associé à au moins une cellule de la grille statique, selon un modèle statique ; Une mise à jour (A20) de distributions de probabilités d’une grille dynamique de caractérisation de la scène, en fonction d’au moins une particule associée à au moins une cellule de la grille dynamique, selon un modèle dynamique ; Une fusion (A30) des distributions de probabilités, au sein d’une grille d’état résultante, de la grille statique et de la grille dynamique, délivrant, pour chaque cellule, une prédiction d’état et une prédiction de vitesse ; Une évaluation (A40), pour au moins une cellule de la grille d’état résultante, de la probabilité d'un état final et d’une vitesse associée en fonction des prédictions et des éventuelles données reçues en provenance dudit au moins un capteur. Programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes d’un procédé selon l’une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté sur un processeur.