FR 3060115 A1 20180615 FR 1662420 A 20161214 1 LOCALISATION D'UN VEHICULE DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne la localisation d'un véhicule en temps réel. Les applications de l'invention sont par exemple l'aide à la conduite de véhicule, la conduite autonome ou encore la réalité augmentée. ÉTAT DE LA TECHNIQUE ANTÉRIEURE Dans le domaine ferroviaire, des modules de localisation présentés dans l'article : « Simultaneous Localization and Mapping for Path-Constrained Motion » de Carsten Hasberg, Stefan Hensel, et Christoph Stiller, IEEE Transactions on intelligent Transportation Systems, Vol. 03, N° 2, juin 2012, ou dans l'article : « Bayesian Train Localization Method Extended By 3D Geometric Railway Track Observations From Inertial Sensors » de Oliver Heirich, Patrick Robertson, Adrian Cardalda Garcia et Thomas Strang, 2012, ou encore dans l'article: « RaiISLAM - Localization of Rail Vehicles and Mapping of Geometric Railway Tracks » de Oliver Heirich, Patrick Robertson et Thomas Strang, IEEE International Conference on Robotics and Automation (ICRA), mai 2013, ont pour objectif de géo-localiser des trains afin d'éviter accidents et collisions. La localisation fournie par ces approches est basée sur la fusion de données issues de capteurs GPS et de capteurs odométriques à travers un filtre bayésien intégrant des contraintes fournies par un modèle polynomiale représentant les voies de chemin de fer. Ces méthodes n'offrent pas suffisamment de précision pour pouvoir réaliser une application de réalité augmentée ou d'automatisation partielle ou totale de conduite d'un véhicule. En effet, elles reposent principalement sur le capteur GPS et ne compensent pas les incertitudes de positionnement en ville de ce capteur dues aux phénomènes de multi-échos, d'occultations d'une partie de la constellation satellitaire, ou d'effet « canyon ». 3060115 2 Des applications de réalité augmentée sont présentées par exemple dans EP 2 731 084. L'article « Scalable 6-DOF Localization on Mobile Devices », de Sven Middelberg, Torsten Sattler, Ole Untzelmann et Leif Kobbelt, 2014, ainsi que FR 2 976 107 offrent une solution précise de localisation basée sur un capteur vision et un algorithme 5 de type SLAM (Simultaneous Localisation And Mapping). La méthode triangule des points de l'environnement, appelés points d'intérêt, pour calculer le déplacement de la caméra entre deux images successives. À l'aide d'un ajustement de faisceaux, elle réalise un calcul robuste remettant en cause localement la trajectoire parcourue. Ce type d'approche, calculant des déplacements relatifs entre images, accumule au cours du temps 10 incertitudes et erreurs. Pour limiter ce phénomène, FR 2976 107 exploite un modèle de la scène pour introduire des contraintes au sein de l'étape d'ajustement de faisceaux. Toutefois le gain en robustesse et en précision de cet apport est fortement dépendant du point de vue, de la complexité de(s) objet(s) décrit(s) dans le 15 modèle ainsi que des contraintes déduites. L'article « Scalable 6-DOF Localization on Mobile Devices » utilise un module de reconnaissance de point de vue exploitant une base d'amers visuels géoréférencés pour limiter le phénomène de dérive décrit ci-dessus. Cependant, le module de reconnaissance de point de vue est très 20 sensible aux occultations et à la robustesse de la signature des amers visuels (variations liées à la météo, aux changements d'illumination, aux saisons...). Ainsi, ces méthodes n'offrent pas une robustesse suffisante pour une localisation absolue précise d'un véhicule, par exemple pour un long trajet en voiture. Des applications de localisation de véhicule utilisent une localisation à 25 partir d'un capteur de vision. Ainsi, l'article: « Vision-Based Differential GPS: Improving VSLAM / GPS Fusion in Urban Environment with 3D Building Models » de Dorra Larnaout, Vincent GayBeIllile, Steve Bourgeois et Michel Dhome, Second international Conference on 3D Vision, 2014, utilise un algorithme de type SLAM (Simultaneous Localisation And Mapping). L'algorithme est ici complété par deux éléments : l'ajout d'un module de correction des 3060115 3 biais du capteur GPS par l'intermédiaire d'un modèle de scène et l'intégration de contraintes au niveau de l'étape d'ajustement de faisceau à partir de données issues du capteur GPS. L'article « Collaborative Methods for Real-time Localization in Urban 5 Centers » de S. Peyraud et al. , International Journal of Advanced Robotic Systems, 2015, expose un procédé de localisation de véhicule dans un environnement urbain. Ce procédé comporte tout d'abord une localisation visuelle basée sur une reconnaissance de points de vue à partir d'une base d'amers visuels géo-référencés. Ce module comporte une étape de détection et d'appariement de points d'intérêts suivie 10 d'un ajustement de faisceaux contraints par la base d'amers visuels. Lorsque le résultat de la localisation visuelle n'est pas satisfaisant, une localisation alternative comporte un filtrage bayésien contraint par un modèle de voies de circulation et fusionnant des données GPS et odométriques. Ce procédé s'appuie sur deux modules relativement fragiles et les 15 exploite en alternance ce qui n'est pas une vraie source de fiabilité. La fiabilité de la reconnaissance de points de vue est liée à la robustesse de la signature des amers visuels identifiés par rapport aux variations de la météo, de la luminosité, aux occultations de la scène et aux différences de position et d'angles de prises de vues. 20 Le module de filtre bayésien fusionne des données issues des capteurs odométriques et des données GPS. Or un capteur odométrique est connu pour dériver dans le temps pour des raisons extrinsèques (glissements des roues sur le sol) et intrinsèques (intégration temporelle de mouvement relatif). Le capteur GPS, lui, est connu pour rencontrer des problèmes en milieu urbain (multi-échos, occultations d'une 25 partie de la constellation satellitaire, effet « canyon »). Même avec un système GPS de très grande précision, par exemple de type GPS-RTK, il est fort probable de rencontrer des erreurs de positionnement de plusieurs mètres en zone urbaine. 3060115 4 EXPOSÉ DE L'INVENTION L'invention vise à résoudre les problèmes de la technique antérieure en fournissant un procédé de localisation d'un véhicule comportant au moins un capteur de vision et au moins un équipement parmi une centrale inertielle, un module satellitaire de 5 navigation et un capteur odométrique, le procédé comportant une étape de : - localisation par vision à partir de données d'images fournies par l'au moins un capteur de vision, pour produire des premières données de localisation, caractérisé en ce qu'il comporte une étape de : - filtrage bayésien prenant en compte les premières données de 10 localisation, des données issues de l'au moins un équipement et des données d'un modèle de scène (MS), pour produire des secondes données de localisation du véhicule. Grâce à l'invention, la localisation d'un véhicule est déterminée de manière absolue, précise, robuste et en temps réel. La localisation est absolue, car elle fournit un positionnement géo- 15 référencé et orienté. La localisation est précise, car elle fournit la position et l'orientation du véhicule avec une précision de quelques centimètres et quelques dixièmes de degrés. Le filtrage bayésien prend en compte des données issues de capteurs de différents types. Selon une caractéristique préférée, l'étape de localisation par vision 20 comporte des étapes de : - détermination de contraintes de vision à partir de données d'images produites par le capteur de vision équipant le véhicule, - ajustement de faisceaux contraints prenant en compte - les contraintes de vision, 25 - des contraintes définies à partir du modèle de scène, - des contraintes définies à partir de données produites par au moins un équipement parmi la centrale inertielle et le module satellitaire de navigation. L'ajustement de faisceaux prend en compte des données issues de 30 capteurs de différents types. 3060115 5 Selon une caractéristique préférée, l'étape de détermination des contraintes de vision comporte des étapes de : - détermination de contraintes relatives par une méthode de localisation et cartographie simultanées appliquée aux données d'images produites par 5 l'au moins un capteur de vision, et - détermination de contraintes absolues par reconnaissance de points de vue à partir de données d'images produites par l'au moins un capteur de vision et d'une base d'amers visuels. Selon une caractéristique préférée, l'étape de détermination de 10 contraintes relatives comporte des étapes de : - détection et mise en correspondance de points d'intérêt dans des images fournies par l'au moins un capteur de vision, - calcul de la pose du capteur vision à partir de la mise en correspondance de points d'intérêt, 15 - sélection d'images clé, - triangulation de points 3D. L'invention concerne aussi un dispositif de localisation d'un véhicule comportant au moins un capteur de vision, au moins un équipement parmi une centrale 20 inertielle, un module satellitaire de navigation et un capteur odométrique, et des moyens de : - localisation par vision à partir de données d'images fournies par l'au moins un capteur de vision, pour produire des premières données de localisation, caractérisé en ce qu'il comporte des moyens de filtrage bayésien 25 prenant en compte les premières données de localisation, des données issues de l'au moins un équipement et des données d'un modèle de scène, pour produire des secondes données de localisation du véhicule. Le dispositif présente des avantages analogues à ceux précédemment présentés. 3060115 6 Dans un mode particulier de réalisation, les étapes du procédé selon l'invention sont mises en oeuvre par des instructions de programme d'ordinateur. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un 5 ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé tel que décrit ci-dessus. Ce 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 10 quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions de programme d'ordinateur adaptées à la mise en oeuvre des étapes d'un procédé tel que décrit ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif 15 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 une disquette ou un disque dur. D'autre part, le support d'informations peut être un support 20 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 l'invention 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 25 être utilisé dans l'exécution du procédé selon l'invention. 3060115 7 BRÈVE DESCRIPTION DES DESSINS D'autres caractéristiques et avantages apparaîtront à la lecture de la description suivante d'un mode de réalisation préféré, donné à titre d'exemple non limitatif, décrit en référence aux figures dans lesquelles : 5 La figure 1 représente un mode de réalisation de dispositif de localisation de véhicule selon la présente invention, La figure 2 représente un mode de réalisation de procédé de localisation de véhicule selon la présente invention, La figure 3 représente un mode de réalisation d'une étape de 10 localisation par vision du véhicule, incluse dans le procédé de la figure 1, et La figure 4 représente un mode de réalisation d'une étape de filtrage bayésien, incluse dans le procédé de la figure 1. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS 15 Selon un mode de réalisation préféré, représenté à la figure 1, un dispositif de localisation d'un véhicule comporte un ensemble de capteurs installés sur le véhicule. Ces capteurs sont : - au moins un capteur de vision 1 qui fournit des données d'images de l'environnement du véhicule, 20 un module satellitaire de navigation 2 dit GNSS d'après l'anglais « Global Navigation Satellite System », un capteur odométrique 3, et une centrale inertielle 4. En particulier, le capteur de vision 1 est une caméra monoculaire 25 perspective dont les paramètres intrinsèques sont connus et fixes. Il est à noter que le module satellitaire de navigation 2, le capteur odométrique 3 et la centrale inertielle 4 sont des équipements optionnels. Le dispositif de localisation de véhicule peut donc comporte, seulement deux d'entre eux, ou encore un 3060115 8 seul d'entre eux. Le module satellitaire de navigation 2 est par exemple un module GPS (Global Positionning System). Ces capteurs sont reliés à un module de traitement de données qui a la structure générale d'un ordinateur. Il comporte notamment un processeur 100 exécutant 5 un programme d'ordinateur mettant en oeuvre le procédé selon l'invention, une interface d'entrée 101, une mémoire 102 et une interface de sortie 103. Ces différents éléments sont classiquement reliés par un bus 105. L'interface d'entrée 101 est destinée à recevoir les données fournies par les capteurs équipant le véhicule. 10 Le processeur 100 exécute les traitements exposés dans la suite. Ces traitements sont réalisés sous la forme d'instructions de code du programme d'ordinateur qui sont mémorisées par la mémoire 102 avant d'être exécutées par le processeur 100. Un modèle de scène MS est mémorisé dans la mémoire 102. Le modèle 15 de scène MS est un modèle des connaissances a priori de l'environnement dans lequel va évoluer le véhicule. Il peut s'agir d'un modèle de voies de circulation et/ou d'un modèle 3D de bâtiments. L'interface de sortie 103 fournit la position et l'orientation temps réel absolue du véhicule. 20 Selon un mode de réalisation préféré, représenté à la figure 2, le procédé de localisation de véhicule comporte deux étapes principales El et E2. L'étape El est une localisation par vision du véhicule. La localisation par vision exploite les données d'images fournies par le capteur de vision 1 pour produire des 25 premières données de localisation du véhicule. L'étape El est suivie de l'étape E2 qui est un filtrage bayésien d'un ensemble de données pour produire des secondes données de localisation du véhicule qui sont plus précisément la position et l'orientation en temps réel du véhicule. Ainsi, les premières données de localisation du véhicule font partie de l'ensemble de données 30 traitées par le filtrage bayésien. Cet ensemble de données comporte également des 3060115 9 données du modèle de scène MS et des données fournies par au moins un des autres capteurs 2, 3 et 4 équipant le véhicule. Les étapes El et E2 sont détaillées dans la suite. 5 La figure 3 représente un mode de réalisation de l'étape El de localisation par vision du véhicule. L'étape El comporte des étapes Ell à E14. L'étape Ell prend en compte des données d'images fournies par le capteur de vision 1 qui équipe le véhicule. L'étape Ell est une détermination de contraintes relatives, effectuée sur la base d'une méthode de localisation et cartographie 10 simultanées, dite SLAM d'après l'anglais « Simultaneous Localization And Mapping », appliquée aux données d'images. L'étape Ell a pour résultat des correspondances 2D-3D entre images clé. Ces correspondances constituent des contraintes relatives sur le déplacement de la caméra 1. Plus précisément, la méthode SLAM détermine la position de la caméra 15 1 et son orientation à différents instants d'une séquence, ainsi que la position d'un ensemble de points 3D observés tout au long de la séquence. L'étape Ell comporte une détection de points d'intérêt dans les images fournies par le capteur de vision 1, puis une mise en correspondance des points d'intérêt d'une image à l'autre. La mise en correspondance est effectuée par une comparaison 20 d'une image à l'autre de descripteurs, ou vecteurs caractéristiques, de zones d'intérêt correspondant à des points d'intérêt. Ensuite, à partir des correspondances de points d'intérêt, on détermine la position et l'orientation de la caméra (calibrée) à partir de points 3D déjà reconstruits et leurs coordonnées 2D dans l'image courante. Il s'agit donc de déterminer la pose de la 25 caméra à partir de correspondances 3D/2D. Pour cela, la mesure utilisée est l'erreur de reprojection. Elle consiste à mesurer la distance 2D entre l'observation d'un point 3D dans l'image, c'est à dire la position 2D du point d'intérêt, et la projection du point 3D reconstruit dans cette même image. Un sous-échantillonnage temporel est ensuite effectué et certaines 30 images sont sélectionnées automatiquement en tant qu'images clef pour une 3060115 10 triangulation des points 3D. Les images clef sont sélectionnées de manière à être suffisamment distantes entre elles afin de maximiser la qualité de la triangulation mais pas trop distantes pour pouvoir assurer leur mise en correspondance. La triangulation de points 3D a pour but de retrouver la position 3D de 5 points détectés puis appariés dans au moins deux images de la vidéo. La méthode opère de manière incrémentale et, lorsqu'une nouvelle image clef est ajoutée, de nouveaux points 3D sont reconstruits. L'article intitulé "Generic and Real-Time Structure from Motion", de E. Mouragnon, M. Lhuillier, M. Dhome, F. Dekeyser, et P. Sayd, BMVC 2007 - British Machine 10 Vision Conference, expose les étapes précédentes. L'étape E12 prend également en compte des données d'image fournies par le capteur de vision 1 qui équipe le véhicule. L'étape E12 exploite une base d'amers visuels géo-référencés et effectue une reconnaissance de points de vue. L'étape E12 a pour résultat des correspondances 2D-3D qui constituent des contraintes absolues. 15 Des points d'intérêt détectés dans une image sont comparés avec les amers de la base d'amers géo-référencés. Leur géo-référencement permet ensuite de déterminer un positionnement absolu du capteur de vision ayant acquis l'image étudiée. Les étapes E11 et E12 sont suivies d'une étape E13 d'optimisation par 20 ajustement de faisceaux contraints. L'étape E13 d'optimisation est un ajustement de faisceaux contraints qui prend en compte les contraintes déterminées aux étapes E11 et E12, ainsi que des contraintes définies à partir du modèle de scène MS, et des contraintes définies à partir de données issues d'au moins un équipement parmi la centrale inertielle 4 et le module 25 satellitaire de navigation 2 qui équipent le véhicule. L'étape E13 a pour résultat des premières données de localisation de véhicule. L'ajustement de faisceaux est un processus d'optimisation non linéaire qui consiste à raffiner les positions du capteur de vision 1 en mouvement et de points 3D 30 en mesurant l'erreur de re-projection. Cette étape est très couteuse en temps de calcul 3060115 11 puisque le nombre de variable à optimiser peut être très grand. Afin de rester compatible avec la contrainte temps réel, l'ajustement de faisceaux est effectué localement afin d'optimiser uniquement les dernières positions de la caméra 1, associées à titre d'exemple aux trois dernières images clés et les points 3D observées par la caméra depuis 5 ces positions. La complexité du problème est ainsi réduite sans perte de précision notable par rapport à un ajustement de faisceaux réalisé sur toutes les positions de capteur de vision et tous les points 3D. La prise en compte du modèle de scène MS se traduit par l'association des points d'intérêts précédemment détectés à l'étape E11 à des éléments du modèle de 10 scène MS. L'ajustement de faisceaux est donc réalisé en tenant compte d'une cohérence d'ensemble des points d'intérêt et d'éléments du modèle de scène MS. Les contraintes définies à partir de données issues d'au moins un équipement parmi la centrale inertielle 4 et le module satellitaire de navigation 2 sont utilisées pour tester la cohérence du processus. 15 La centrale inertielle 4 et le module satellitaire de navigation 2 fournissent des données de localisation qui sont susceptibles d'être biaisées. L'étape E14 de correction des biais de capteurs est effectuée en parallèle de l'étape E13. De manière générale, un biais de module satellitaire de navigation se 20 traduit par une erreur temporelle continue, pouvant valoir plusieurs secondes, de la localisation fournie suivant une direction. Les amers visuel géo-référencés et le modèle de scène sont utilisés pour détecter et corriger ce biais. Par exemple, pour un véhicule restant sur une voie de circulation, si le module satellitaire de navigation fournit des données de position correspondant à l'intérieur des bâtiments, on peut estimer l'erreur 25 et la compenser. Pour la centrale inertielle, il s'agit plutôt de dérive en statique ou de biais en angle sur une trajectoire « réelle ». Ces biais sont identifiables et corrigeables par l'utilisation des amers visuels et du modèle de scène. 3060115 12 La figure 4 représente un mode de réalisation de l'étape E2 de filtrage bayésien de l'ensemble de données. Le filtrage bayésien est un filtre de Kalman qui est un estimateur récursif comportant classiquement deux phases : prédiction et innovation ou mise à jour. 5 Les données d'entrée comportent : les premières données de localisation du véhicule fournies par l'étape El, des données du modèle de scène. Les données d'entrée comportent également des données parmi : 10 des données issues du module satellitaire de navigation 2, des données issues du capteur odométrique 3, des données issues de la centrale inertielle 4. Les premières données de localisation du véhicule fournies par l'étape El, les données du modèle de scène, et éventuellement les données issues du module 15 satellitaire de navigation 2 sont utilisées dans la phase d'innovation. Les données issues du capteur odométrique 3 et/ou les données issues de la centrale inertielle 4 sont utilisées dans la phase de prédiction du filtre bayésien. Si les données de ces capteurs ne sont pas disponibles, un modèle prédictif est utilisé dans la phase de prédiction du filtre bayésien. Le modèle prédictif est par exemple défini par : 20 vitesse constante ou accélération constante. La phase de prédiction utilise l'état estimé de l'instant précédent pour produire une estimation de l'état courant. Dans la phase d'innovation, les observations de l'état courant sont utilisées pour corriger l'état prédit dans le but d'obtenir une estimation plus précise. 25 REVENDICATIONS1. Procédé de localisation d'un véhicule comportant au moins un capteur de vision (1) et au moins un équipement parmi une centrale inertielle (4), un module satellitaire de navigation (2) et un capteur odométrique (3), le procédé comportant une étape de : - localisation par vision (El) à partir de données d'images fournies par l'au moins un capteur de vision, pour produire des premières données de localisation, caractérisé en ce qu'il comporte une étape de : - filtrage bayésien (E2) prenant en compte les premières données de localisation, des données issues de l'au moins un équipement et des données d'un modèle de scène (MS), pour produire des secondes données de localisation du véhicule. 2. Procédé de localisation d'un véhicule selon la revendication 1, caractérisé en ce que l'étape de localisation par vision comporte des étapes de : - détermination (Ell, E12) de contraintes de vision à partir de données d'images produites par le capteur de vision (1) équipant le véhicule, - ajustement de faisceaux contraints (E13) prenant en compte - les contraintes de vision, - des contraintes définies à partir du modèle de scène (MS), - des contraintes définies à partir de données produites par au moins un équipement parmi la centrale inertielle (4) et le module satellitaire de navigation (2). 3. Procédé de localisation d'un véhicule selon la revendication 2, caractérisé en ce que l'étape de détermination des contraintes de vision comporte des étapes de : 3060115 14 - détermination (E11) de contraintes relatives par une méthode de localisation et cartographie simultanées appliquée aux données d'images produites par l'au moins un capteur de vision (1), et - détermination (E12) de contraintes absolues par reconnaissance de 5 points de vue à partir de données d'images produites par l'au moins un capteur de vision et d'une base d'amers visuels. 4. Procédé de localisation d'un véhicule selon la revendication 3, caractérisé en ce que l'étape de détermination (E11) de contraintes relatives comporte 10 des étapes de : - détection et mise en correspondance de points d'intérêt dans des images fournies par l'au moins un capteur de vision (1), - calcul de la pose du capteur vision à partir de la mise en correspondance de points d'intérêt, 15 - sélection d'images clé, - triangulation de points 3D. 5. Dispositif de localisation d'un véhicule comportant au moins un capteur de vision (1), au moins un équipement parmi une centrale inertielle (4), un 20 module satellitaire de navigation (2) et un capteur odométrique (3), et des moyens de : - localisation par vision à partir de données d'images fournies par l'au moins un capteur de vision, pour produire des premières données de localisation, caractérisé en ce qu'il comporte des moyens de filtrage bayésien prenant en compte les premières données de localisation, des données issues de l'au 25 moins un équipement et des données d'un modèle de scène (MS), pour produire des secondes données de localisation du véhicule. 6. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 4 lorsque ledit programme est exécuté par un ordinateur. 3060115 15 7. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 4. 5