54
PROJET SARI - PREDIT 3 Surveillance Automatisée de la Route pour l’Information des conducteurs et des gestionnaires VIZIR METHODES DE MESURE DE LA VISIBILITE GEOMETRIQUE Action 1.2 – Livrable n° 1.2.3 1 juin 2007 Prédit SARI, thème VIZIR – 1ère tranche Projet financé par la DRAST DESE LRPC Strasbourg ERA 27 LCPC Centre de Robotique (CAOR) Mines Paris / ARMINES Responsables : J.-P. Tarel Auteurs : E. Bigorgne (cdd DESE), X . Brun (doctorant CAOR), P. Charbonnier, F. Goulette, J.- P. Tarel. Ont aussi participé : N. Philipps, S. Blaes (stagiaire ERA), C. Bertoncini (vacataire ERA), Sio-Song Ieng (LRPC d’Angers).

PROJET SARI - PREDIT 3sari.ifsttar.fr/livrables/vizir/VIZIR_1.2.3.pdf · 2012. 11. 14. · PROJET SARI - PREDIT 3 Surveillance Automatisée de la Route pour l’Information des conducteurs

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • PROJET SARI - PREDIT 3

    Surveillance Automatisée de la Route pour l’Information des conducteurs et des gestionnaires

    VIZIR

    METHODES DE MESURE DE LA VISIBILITE GEOMETRIQUE

    Action 1.2 – Livrable n° 1.2.3

    1 juin 2007

    Prédit SARI, thème VIZIR – 1ère tranche

    Projet financé par la DRAST

    DESE

    LRPC Strasbourg ERA 27 LCPC

    Centre de Robotique (CAOR) Mines Paris / ARMINES

    Responsables : J.-P. Tarel

    Auteurs :

    E. Bigorgne (cdd DESE), X . Brun (doctorant CAOR), P. Charbonnier, F. Goulette, J.-P. Tarel.

    Ont aussi participé :

    N. Philipps, S. Blaes (stagiaire ERA), C. Bertoncini (vacataire ERA), Sio-Song Ieng (LRPC d’Angers).

  • Mesure de la visibilité géométrique par la 3D

    Sommaire

    1 - Introduction_____________________________________________________________ 4

    2 - Approche avec un capteur laser _____________________________________________ 5 2.1 - Modélisation 3D____________________________________________________________ 5

    2.1.1 - Systèmes existants_______________________________________________________________ 5 2.1.1.1 - Méthodes aériennes __________________________________________________________ 5 2.1.1.2 - Méthodes terrestres __________________________________________________________ 6 2.1.1.3 - Utilisation conjointe des données aériennes et terrestres______________________________ 8

    2.1.2 - La plateforme d’acquisition LARA-3D ______________________________________________ 8 2.1.2.1 - Localisation du véhicule ______________________________________________________ 9 2.1.2.2 - Obtention du nuage de points _________________________________________________ 10

    2.1.3 - Segmentation du nuage de points et triangulation______________________________________ 11 2.2 - Mesure de la distance de visibilité ____________________________________________ 14

    2.2.1 - Définitions normatives __________________________________________________________ 14 2.2.2 - Calcul de la distance de visibilité requise ____________________________________________ 14

    2.2.2.1 - Définition de la distance requise _______________________________________________ 14 2.2.2.2 - Ajustement de la vitesse V85 selon la trajectoire __________________________________ 15

    2.2.3 - Calcul de la distance de visibilité offerte ____________________________________________ 17 2.2.3.1 - Cible ponctuelle, à distance variable ____________________________________________ 17 2.2.3.2 - Cible volumique, à distance fixe _______________________________________________ 18 2.2.3.3 - Cible volumique, à distance variable____________________________________________ 19

    2.2.4 - Comparaison des distances de visibilité _____________________________________________ 19 2.2.5 - Réalisation informatique : le logiciel Qt-Ballad _______________________________________ 20

    2.3 - Conclusion _______________________________________________________________ 21 2.4 - Références bibliographiques ________________________________________________ 22 2.5 - Annexe A : Ré-échantillonnage de la trajectoire ________________________________ 24 2.6 - Annexe B : Évaluation des rayons de courbure _________________________________ 26 2.7 - Annexe C : Segmentation de la trajectoire _____________________________________ 30

    3 - Approche avec une ou deux caméras________________________________________ 32 3.1 - Approche monoculaire _____________________________________________________ 32

    3.1.1 - Segmentation par classification probabiliste adaptative _________________________________ 33 3.1.1.1 - Les fenêtres de Parzen _______________________________________________________ 33 3.1.1.2 - Nécessité d’une classification multi-composantes__________________________________ 34 3.1.1.3 - Mise à jour robuste _________________________________________________________ 35

    3.1.2 - Modélisation de la chaussée ______________________________________________________ 37 3.1.2.1 - Modèle d’acquisition ________________________________________________________ 37 3.1.2.2 - Modèle de route ____________________________________________________________ 38 3.1.2.3 - Théorie semi-quadratique ____________________________________________________ 38 3.1.2.4 - Calcul de la visibilité géométrique _____________________________________________ 40

    3.1.3 - Evaluation quantitative __________________________________________________________ 42 3.2 - Approche stéréoscopique ___________________________________________________ 43

    3.2.1 - Principes de la stéréovision_______________________________________________________ 43 3.2.2 - Matériel expérimental de prises de vues _____________________________________________ 45 3.2.3 - Mise en correspondance robuste pour la reconstruction de profil de chaussée________________ 45 3.2.4 - Recalage « dense » _____________________________________________________________ 47 3.2.5 - Recalage « épars »______________________________________________________________ 48

    2/54

  • Mesure de la visibilité géométrique par la 3D

    3.2.6 - Prise en compte du roulis ________________________________________________________ 48 3.2.7 - Résultats expérimentaux _________________________________________________________ 49

    3.3 - Conclusion _______________________________________________________________ 51 3.4 - Références _______________________________________________________________ 52

    4 - Conclusion_____________________________________________________________ 54

    3/54

  • Mesure de la visibilité géométrique par la 3D

    1 - INTRODUCTION

    Lors de ses déplacements, un usager de la route doit pouvoir maîtriser la trajectoire de son véhicule, d’autant plus qu’il évolue dans un environnement où se trouvent d’autres usagers, tant piétons que cyclistes ou automobilistes, dont il doit également tenir compte. Plus la visibilité est importante, plus l’usager dispose d’un délai important pour percevoir, comprendre son environnement et agir en conséquence. La façon dont il appréhende son environnement dépend de facteurs de nature photométrique - comme le contraste obstacles-chaussée - ou conjoncturelles - comme les conditions météorologiques ou la présence d’obstacles sur les voies. Cependant, cette perception est, en premier lieu, liée la configuration géométrique de la route et de ses abords. Cette notion, que nous qualifierons de visibilité géométrique offerte, est un critère primordial en termes de sécurité routière.

    Si la visibilité est, depuis longtemps, un des critères mis en œuvre dans la définition de projets neufs, les moyens qui existent actuellement pour évaluer cette distance de visibilité sur infrastructure existante sont peu nombreux [DEL05]. Il existe, en particulier, un système développé par le LRPC de Saint Brieuc [LRP05], qui réalise une mesure que l’on peut qualifier de « directe ». Le relevé est effectué par un opérateur à bord d’un véhicule en circulation sur la route étudiée. L’opérateur indique s’il voit, ou non, un véhicule cible maintenu à distance constante du véhicule où il se trouve. Cette méthodologie, associée au logiciel nommé Visuline, est donc dépendante de la distance de visibilité que l’on souhaite vérifier sur le terrain.

    Compa-raison

    Distance de visibilité requise

    Cartographie

    Distance de visibilité disponible Trajectoire

    Règles de l’art (ARP, ICTAAL…) Modèle 3D

    .

    Figure 1 : Schéma de principe du système proposé

    Nous présentons dans ce rapport deux approches alternatives fondées sur deux types de capteurs de nature assez différentes. La première approche utilise astucieusement un capteur laser balayant un plan pour obtenir une acquisition 3D de la route et de son environnement proche. La deuxième approche est fondée sur l’utilisation d’une ou deux caméras.

    4/54

  • Mesure de la visibilité géométrique par la 3D

    2 - APPROCHE AVEC UN CAPTEUR LASER

    Nous proposons, dans cette nouvelle approche, un système de mesure hors-ligne de la visibilité offerte au conducteur. Pour cela, nous effectuons au préalable une cartographie 3D de la route et de ses abords à l’aide du prototype LARA-3D [GOU06] du Centre de Robotique (CAOR) de l’École des Mines de Paris. Le modèle numérique obtenu sert ensuite à estimer la distance de visibilité offerte par l’infrastructure. La raison principale qui nous a guidés vers cette méthode est la diversité des mesures qui peuvent être effectuées sur le modèle, à partir d’un unique relevé sur le terrain. Une fois la distance de visibilité offerte calculée, nous pouvons la comparer avec celle requise par les recommandations officielles.

    Après un bref état de l’art des systèmes de relevé existants, nous présentons au paragraphe 2 la création des modèles 3D à partir du recueil de données réalisé par le véhicule LARA-3D. Au paragraphe 3, nous détaillons l’exploitation de ces données pour l’obtention de l’estimation des distances de visibilité offerte et requise et leur comparaison.

    2.1 - Modélisation 3D

    2.1.1 - Systèmes existants

    Nous présentons ici différentes méthodes existantes permettant un relevé 3D de terrain. Ces méthodes ont généralement pour but la création de système d'information géographique (SIG) en 3D. L'utilisation de ces modèles 3D pour étudier la visibilité sur un itinéraire est une approche nouvelle que nous proposons ici. Il existe des systèmes utilisant d'autres méthodes spécifiques à la mesure de distance de visibilité. Nous citerons par exemple la méthode de VISULINE [LRP05] qui se base sur la perception directe, par un opérateur à l'intérieur d'un véhicule, d'un autre véhicule cible circulant en amont sur la même voie. Pour un état de l'art plus complet sur les méthodes de détermination de la distance de visibilité, nous renvoyons le lecteur vers [DEL05]. Nous allons maintenant présenter les différentes façons existantes pour la création de SIG 3D de manière générale, qui insistent surtout sur le milieu urbain car c'est ce dernier qui présente le plus de difficultés. Toutes ces méthodes se basent essentiellement sur deux types de capteurs, la caméra et la télémétrie laser. Ces capteurs se trouvent situés, soit au niveau du sol, soit au niveau aérien, selon les méthodes.

    2.1.1.1 - Méthodes aériennes

    En ce qui concerne les méthodes aériennes, certaines utilisent uniquement des images satellites en configuration stéréoscopique. Cela permet d'obtenir des modèles numérique d'élévation où il est actuellement possible de détecter des bâtiments [LAF06] avec une précision de 0,2 cm, liée à la taille de couverture d'un pixel (Figure 2). On peut, de la même manière, utiliser des images acquises par un matériel aéroporté ainsi qu'un couplage avec un télémètre laser [BRE06] qui autorise une détection plus fine des bâtiments grâce à une densité plus élevée des données (Figure 2). L'avantage de ce type de méthode réside dans le très grand rendement du relevé, mais le niveau de détail du modèle demeure assez faible au sol. Les automobiles et autres objets à l'échelle humaine restent faiblement détectables.

    Figure 2: A gauche, modèle 3D obtenu par des images aériennes. A droite, données issues du télémètre laser aéroporté (source IGN).

    5/54

  • Mesure de la visibilité géométrique par la 3D

    2.1.1.2 - Méthodes terrestres

    Des véhicules circulant sur les voies, équipés de ces types de capteurs (camera et télémètre laser) ont vu le jour pour obtenir des données beaucoup plus denses, notamment au niveau des façades. On peut commencer par citer le dispositif développé par l'équipe de Manandhar au « Centre for Spatial Information Science » de l'université de Tokyo [MAN01]. Dénommé VLMS (Vehicle-borne Laser Mapping System) (Figure 3, à gauche), il est équipé de trois lasers orientés de manière à ce que les points obtenus soient tous dans des profils verticaux. Les profils obtenus par chaque laser sont décalés entre eux d'un certain angle afin d’obtenir un maximum de points de la scène (Figure 3, à droite). Les acquisitions sont complétées par des vidéos. Une fusion GPS/INS est utilisée pour la localisation du véhicule, fournissant la référence pour tous les capteurs.

    Nous pouvons également citer un second véhicule équipé par une équipe japonaise également, Asai et al. [ASA05], du « Nara Institute of Science and Technology ». Il s'agit du véhicule le plus récent et le mieux équipé (Figure 4). En effet, le télémètre laser mis en œuvre est un dispositif multi-faisceaux, ce qui permet d'obtenir simultanément un ensemble de profils sur une centaine de degrés verticalement et 360° horizontalement. Ce télémètre est couplé avec un système de plusieurs caméras qui observent l'environnement selon plusieurs points de vue. La Figure 5 montre les données obtenues par chacun de ces deux dispositifs.

    Figure 3: VLMS de l'université de Tokyo et nuage de points obtenus.

    Le véhicule est localisé, cette fois encore, par la fusion des données GPS RTK et centrale inertielle. Pour la modélisation d'une zone, les mesures sont effectuées à différents endroits de celle-ci de manière discrète. Les données doivent donc être recalées, ce qui est effectué par un algorithme ICP (Iterative Closest Point). Une fois que les données laser ont permis de former le modèle 3D, une mise en correspondance des points 3D avec leur projeté dans les repères caméra est effectuée pour en tirer la texture de chaque triangle et « habiller » la scène (Figure 6). Cette méthode est extrêmement coûteuse en ressources.

    Figure 4: Véhicule équipé du NAIST.

    Figure 5: A gauche, image obtenue par le laser multi-faisceaux et à droite, la même scène par les cameras.

    6/54

  • Mesure de la visibilité géométrique par la 3D

    Figure 6: Modèle 3D obtenus par laser multi-faisceaux et multi-caméras.

    Nous pouvons enfin citer le véhicule « STEREOPOLIS » de l'IGN [PAP04]. Le dispositif sera composé, à terme, de trois couples de caméras : deux couples de bases stéréoscopiques verticales divergentes (imageant les façades de part et d’autre du véhicule) et un couple de base stéréoscopique horizontale (imageant le corps de rue). Les caméras utilisées sont des caméras 4000×4000 pixels, développées pour de la prise de vue aérienne. Les bases stéréoscopiques verticales sont divergentes de manière à couvrir un champ vertical incluant entièrement les façades les plus proches (Figure 7). Les paramètres de chacune des caméras, ainsi que leurs positions et orientations relatives sont estimées à partir d’un polygone d’étalonnage. Le système de positionnement utilisé par ce véhicule est différent des deux décrits précédemment, puisqu’il se base directement sur les images pour déterminer la localisation et l'orientation du véhicule. Ils utilisent alors des primitives dont la position absolue est connue par ailleurs pour positionner l'ensemble des données. L'idée est de compléter les modèles obtenus par modélisation numérique d'élévation issus des caméras aéroportées pour obtenir des textures de bâtiments plus réalistes.

    Figure 7: Véhicule « Stéréopolis » de l'IGN.

    Le prototype LARA-3D du centre de Robotique de l'École des mines de Paris, que nous avons utilisé dans cette étude, s'inscrit dans cette famille de systèmes d'acquisition. Il s'agit d'un Renault espace équipé d'un système de localisation par fusion INS/GPS avec un laser à balayage et des caméras. Dans la section suivante nous détaillerons plus particulièrement cette plateforme.

    7/54

  • Mesure de la visibilité géométrique par la 3D

    2.1.1.3 - Utilisation conjointe des données aériennes et terrestres

    Il existe également des systèmes fusionnant des données au sol avec des données aériennes. L'équipe Frueh et al. [FRU03] de l'université de Berkeley a ainsi équipé un véhicule d'un télémètre laser bidirectionnel (Figure 8) pour obtenir les caractéristiques géométriques des façades de bâtiments et d'une caméra pour obtenir les textures de ces dernières. L'hypothèse que le sol est plan permet de ne devoir localiser le véhicule que dans un espace à deux dimensions. Pour améliorer cette localisation, une fusion de données est effectuée, soit avec une base de donnée cartographique, soit avec des images aériennes. Pour cela, la trajectoire du véhicule est modélisée par une suite de segments rectilignes au centre de la chaussé. Il s’agit alors de faire correspondre les points joignant ces segments avec leur position mesurée par le véhicule. Cette technique s'étant avérée peu efficace dès que le véhicule effectue un long parcours, une seconde méthode a été mise en œuvre. Elle s’appuie sur une maximisation de la corrélation entre les données produites par le véhicule et des images aériennes.

    Lorsque le télémètre a été ainsi localisé précisément, le nuage de point obtenu est triangulé et chaque triangle est texturé grâce à son image dans le repère caméra. Cela nécessite un étalonnage du système télémètre - caméra, et également une synchronisation. Le résultat de la triangulation et du collage de la texture est montré Figure 8. Les trous dus à la présence d'obstacles entre le télémètre et la façade sont retirés et remplacés par des plans.

    Figure 8: A gauche, véhicule instrumenté de l'université de Berkeley. A droite, les différentes étapes de la reconstruction de façade ([FRU03]).

    Le modèle a, par la suite, été amélioré en reconstruisant entièrement les bâtiments par des primitives simples et en utilisant, de plus, plusieurs images aériennes de basse altitude ayant un point de vue différent pour obtenir la texture des façades et également des toits [FRU04] (Figure 9). Toute cette phase de reconstruction en post-traitement des données est excessivement lourde et gourmande en ressources informatiques.

    Figure 9: A gauche, observation du modèle 3D avec le même point de vue que l'image de droite et identification des zones 3D et 2D respectivement([FRU04]). A droite, modèle 3D texturé.

    2.1.2 - La plateforme d’acquisition LARA-3D

    La plateforme d'acquisition LARA-3D est un système de télémétrie laser embarqué sur un véhicule géo-localisé, permettant de numériser des environnements routiers ou urbains. L’une des particularités du

    8/54

  • Mesure de la visibilité géométrique par la 3D

    système est de démontrer la faisabilité d’un traitement temps réel des données capteurs brutes au cours du déplacement, ouvrant la voie à l’acquisition à grand volume et grande vitesse [GOU06]. Il se compose de deux éléments : le premier est un système de géo-localisation, et le second, un système de télémétrie laser.

    Figure 10: Plateforme d'acquisition LARA-3D.

    2.1.2.1 - Localisation du véhicule

    La localisation utilisée par le prototype LARA-3D est un filtre de Kalman étendu, intégrant les données issues d’un GPS et celles d’une centrale inertielle. Les systèmes de positionnement par satellite, tels que GPS, permettent la détermination de la position, de la vitesse ou encore une information de temps absolu (UTC) quel que soit le lieu sur le globe terrestre, pour autant que les signaux des satellites soient disponibles. En effet dans le cas de la navigation terrestre, elle est souvent compromise à de nombreux endroits, notamment en ville, où la réception des signaux satellitaires n'est pas possible. Afin de pallier à cet inconvénient, il est nécessaire d'adjoindre au système satellitaire un autre système de positionnement comme le système de navigation inertiel (INS). Il faut encore mentionner le fait que le propriétaire du système peut en tout temps suspendre l'émission des signaux. Néanmoins, les développements politiques récents montrent une ouverture des systèmes de positionnement satellitaire à tous les utilisateurs. On peut également citer les trajets multiples, la faible résolution fréquentielle et la nécessité d'une configuration satellitaire correcte comme autres désavantages. Inversement, les avantages de ce dispositif résident dans sa précision à long terme (pas de divergence) et dans le fait qu'il fournit un positionnement absolu. Une Centrale inertielle (CI) de six degrés de liberté peut fournir des informations sur la position et la vitesse en 3D.

    Figure 11: Plateforme inertielle.

    Une CI typique se compose de trois accéléromètres et de trois gyroscopes montés dans un système de trois axes orthogonaux (cf. Figure 11). La CI mesure l'accélération et la vitesse angulaire du véhicule dans chacune des trois dimensions à une fréquence d'échantillonnage assez élevée. Grâce à ces informations, l'attitude, la vitesse et par conséquent la position du véhicule peuvent être obtenues par intégration. Les unités inertielles ont toujours été présentées comme des capteurs valables dans beaucoup d'applications. Les avantages de la navigation inertielle sont bien connus : fréquence d'échantillonnage élevée, position et vitesse en trois dimensions avec l'information d'orientation. Cependant, jusqu'à récemment, le coût élevé

    9/54

  • Mesure de la visibilité géométrique par la 3D

    de ces unités a toujours empêché la mise en application dans des applications civiles. Le facteur principal ayant entraîné la baisse des prix a été le développement des gyroscopes de meilleur marché, généralement dans une version en céramique et récemment des modèles de silicium. Ils restent néanmoins très sensibles à la gravité et divergent à long terme. Les avantages de l'intégration GPS/INS sont plus qu'une amélioration de la précision de la localisation. Par exemple, les solutions d'INS peuvent être utilisées pour identifier et corriger le saut des cycles GPS. L'utilisation de l'INS pour établir des liens entre les données GPS en cas de perte dans un système de positionnement robuste cinématique en temps réel étroitement couplé de GPS/INS (RTK) apporte une amélioration significative des capacités d'anti-brouillage du récepteur de GPS en utilisant une technique d'intégration basée sur traitement des signaux. Le filtrage de Kalman fournit un outil puissant pour créer la synergie entre deux capteurs de navigation - GPS et INS - puisqu'il peut tirer profit des avantages et des caractéristiques des deux systèmes pour fournir un système intégré de navigation présentant une performance supérieure à celle de l'un ou de l'autre des sous-ensembles de capteur pris séparément. Il donne l'estimation optimale par minimisation d'une erreur quadratique moyenne (MMSE). Cependant, il est optimal seulement si les bruits respectifs du système et des mesures sont exactement modélisés. De plus, l'état de transition de l'estimation pour un filtre de Kalman est un processus de convergence séquentiel, qui dépend du « degré d'observabilité des variables d'état ». Les états faiblement observés ont besoin de plus longtemps pour converger et ainsi l'estimation pendant cette période rend des résultats plus faibles. Les résultats de filtrage fiables de Kalman sont fondés sur la définition correcte des modèles mathématiques et stochastiques utilisés dans le procédé de filtrage. À l'état d'équilibre, la précision d'estimation est limitée par le bruit d'entrée.

    La localisation utilisée par le prototype Lara 3D est un filtre étendu de Kalman pour intégrer un GPS avec une CI de faible coût, pour le positionnement des véhicules terrestres avec l'emphase sur des précisions au niveau d'un mètre. Une approche de type « couplage faible » (loosely coupled) d'intégration a été développée [ABU03] elle utilise des positions et des vitesses issues du GPS pour corriger les données issues de la centrale. Nous réduisons encore les erreurs de position obtenues à partir de la centrale en utilisant un modèle de véhicule avec contraintes. C'est en particulier appréciable quand l'information externe, par exemple celle du GPS, n'est pas disponible pendant de longues périodes. Cela rend le système inertiel moins dépendant de l'information externe.

    2.1.2.2 - Obtention du nuage de points

    Un télémètre laser à balayage a été installé de manière à numériser un plan perpendiculaire à la direction de conduite (Figure 10). Connaissant la géo-localisation du véhicule par la fusion GPS/INS décrite ci-dessus, il est possible de géo-référencer et recaler les coupes laser successives obtenues au fil de la progression du véhicule. On obtient ainsi une couverture des routes et de leur environnement proche (bâtiments, végétation) sous la forme d'un nuage de points 3D dense.

    Figure 12: Environnement logiciel RTMaps.

    10/54

  • Mesure de la visibilité géométrique par la 3D

    Tous ces traitements sont effectués en temps réel sur l’ordinateur embarqué sur le véhicule grâce au logiciel RTMaps© [INT06]. Celui-ci permet, en même temps que le traitement, l’horodatage des données enregistrées. Ceci permet de « rejouer » hors ligne les données et d’effectuer éventuellement de nouveaux traitements. La Figure 12 illustre le « rejeu » de données issues d’une campagne menée dans le département des Côtes d’Armor pour les besoins du projet SARI/VIZIR : dans la fenêtre supérieure droite, on visualise la vue embarquée ; dans celle en bas à gauche, on positionne le résultat de notre système de localisation sur les cartes de Google Earth© et enfin, dans la dernière fenêtre, on montre le nuage de points qui se forme au fur et à mesure du « rejeu ».

    2.1.3 - Segmentation du nuage de points et triangulation

    Figure 13 : Un profil de données et son histogramme selon l'axe Z.

    A partir des points 3D, nous reconstruisons un modèle à facettes des différents éléments de la scène : route, végétation, bâtiments. Nous repérons pour cela les plans (horizontaux pour la route et verticaux pour les façades de bâtiments) par une segmentation par histogramme [AMM04]. La structure en profils de données favorise un algorithme de classification sur chaque profil. Cet algorithme doit rassembler les points en des sous-groupes, chaque sous-groupe appartenant à un objet 3D de la scène à modéliser. Comme on l'a déjà vu, un profil de données est un ensemble de points appartenant à une coupe laser. Cet ensemble peut être divisé en « tranches » qui reflètent certaines caractéristiques de l'objet auquel elles appartiennent, par exemple une tranche d'objet horizontal (resp. vertical) est forcément horizontale (resp. verticale), etc. L'algorithme adopté se base sur une analyse par histogramme, outil fréquemment utilisé dans le domaine de l'analyse des données, notamment pour résumer des données (discrètes ou continues) mesurées dans une échelle d'intervalle. C'est une représentation employée pour montrer les caractéristiques principales de la distribution des données de façon pratique. Un histogramme sépare les valeurs possibles des données en classes ou groupes. On effectue tout d'abord un histogramme selon l'altitude des points (selon l'axe z) ce qui nous permet de trouver les points de la route puis un deuxième histogramme dans la largeur (selon axe x) permet de séparer les objets verticaux.

    Nous pouvons distinguer clairement sur cet histogramme un pic P1 correspondant à l’élévation de la route. C’est à dire tous les points qui appartiennent à un certain intervalle autour de ce pic sont des points qui correspondent à l’élévation du sol et par suite peuvent être classés comme une tranche du sol. Nous classons tous les points qui appartiennent au voisinage du pic principal comme une partie du sol. Ce voisinage doit contenir tous les pics voisins de P1 et de grande amplitude. Pour regrouper tous les points du sol autour de ce pic principal et éviter l’ajout des points des autres objets, nous choisissons un voisinage qui ne contient que des pics supérieurs à P1/10. La route est un objet linéaire et qui est en contact avec tous les autres objets de la scène. Ce qui nécessite une analyse fine d’où le choix d’une base de calcul de l’histogramme de 10 cm. Ce petit pas permet d’avoir une résolution suffisante dans la zone de contact pour éviter ainsi une classification grossière entre les différents objets dans ces régions. Cette

    11/54

  • Mesure de la visibilité géométrique par la 3D

    extraction ne se base sur aucune connaissance a priori sur l’élévation de la route mais seulement sur une information géométrique qui décrit le sol comme étant un objet linéaire et horizontal. Un exemple de l’extraction de la route est présenté sur la Figure 14.

    Figure 14 : Exemple de profil de données complet et la partie classée comme sol.

    Figure 15 : L'histogramme suivant Y après extraction de la route.

    Appliquons le même raisonnement sur les points restants non classés, montrés Figure 15. Ces objets restants sont des entités verticales indépendantes et détachées spatialement. Un histogramme suivant la

    12/54

  • Mesure de la visibilité géométrique par la 3D

    dimension latérale du profil (soit Y) permet donc de séparer ces différentes entités. La Figure 15 montre un exemple de cet histogramme, on peut remarquer qu’il s’agit d’un histogramme multimodal où chaque mode ou groupe de pics correspond bien à un objet indépendant dans ce profil. La séparation des pics de cet histogramme aboutit donc à la séparation des tranches d’objets qui existent dans un profil de l’acquisition laser. Mais pour le calcul de l’histogramme et vu la nature dispersée des objets, un grand pas de l’histogramme Y est utilisé (1 mètre). Ce pas important est pourtant nécessaire pour pouvoir regrouper un objet assez dispersé autour d’un seul pic, comme un arbre, et éviter ainsi une sur-segmentation dans un même profil. La séparation des modes ou groupes de pics se fait de la même manière que dans le cas horizontal : chaque groupe est formé d’un pic (ou maximum local) P1 et des pics adjacents de 26 valeurs plus grandes que P1/10. Tous les points appartenant à un mode M1 sont classés comme étant une tranche d’un objet 3D différent. Ce seuil de P1/10 évite la fausse-segmentation lorsqu’on a deux objets assez proches de manière à ce que la distance qui les sépare soit plus petite que le pas de l’histogramme (1 mètre) ce qui produit un chevauchement dans les projections sur l’histogramme et par la suite une fusion de deux objets distincts. L'organigramme suivant (Figure 16) récapitule la méthode dans son intégralité

    Figure 16 : Principe de la segmentation par histogrammes.

    Les points appartenant à la route sont projetés sur le plan (x,y) pour chaque profils et cette projection sert à réaliser un triangulation de Delaunay en 2D, cette triangulation optimale est ensuite reportée aux points 3D correspondants. Il s'agit d'une méthode usuelle dans la modélisation d'élévation de terrains. Il n'existe pas de méthodes optimales pour la triangulation de surfaces 3D, de nombreux algorithmes ont été développés avec chacun leurs avantages et inconvénients, mais dans notre cas, où les points à trianguler sont quasi-plans (ils appartiennent à la route), la méthode par projection s'avère être la plus simple et la plus efficace. Pour les objets aux abord de la route, on calcule la distance entre la nouvelle tranche et tous les objets existant antérieurement dans la scène. Si la plus courte distance est plus petite qu’un seuil donné, on ajoute la tranche à l’objet présentant cette distance minimale, sinon cette nouvelle tranche formera la première tranche d’un objet nouveau. Le seuil d’ajout à un objet déjà existant est une fonction de deux facteurs : de la distance entre les profils consécutifs (c’est à dire de la vitesse de la voiture) et du nombre de profils qui séparent les deux tranches en question (présence de zones d’occlusion). On forme ainsi les ensembles de points 3D appartenant à un même objet que l'on modélise par son enveloppe convexe.

    13/54

  • Mesure de la visibilité géométrique par la 3D

    Figure 17: Plan du secteur étudié (RD 8, Côtes d'Armor) et détail du modèle de route avec les objets du bas-côté.

    2.2 - Mesure de la distance de visibilité

    2.2.1 - Définitions normatives

    Le vocabulaire de la visibilité est très riche [BRR06] et les définitions de la distance de visibilité, nombreuses. Une étude des principaux documents officiels de recommandations pour l’aménagement routier ([SET94][CET90], [SET00], [ISR88]) fait apparaître une bonne douzaine de définitions différentes, ayant pour point commun, cependant, d’être fonctionnelles, c’est-à-dire dépendantes d’un scénario ou d’une situation d’usage de la route. Ainsi, dans l’ARP (Aménagement des Routes Principales, [SET94]), on distingue la visibilité sur virage, sur obstacle localisé sur la voie, en intersection ou pour le dépassement. Parmi ces scénarios, nous avons retenu dans un premier temps la distance de visibilité sur obstacle, qui nous semble la plus adaptée aux analyses d’itinéraires à risque.

    2.2.2 - Calcul de la distance de visibilité requise

    2.2.2.1 - Définition de la distance requise

    La distance de visibilité sur obstacle [SET94] correspond à la distance nécessaire à un usager pour s’arrêter devant un obstacle situé sur la voie où il circule. Elle se compose de la distance de réaction, produit de la vitesse et d’un temps de réaction tr, généralement fixé à 2 secondes [SET06], et de la distance de freinage nécessaire pour arrêter le véhicule, soit :

    ( )pcgVVtd r +××

    +×=2

    2

    (1)

    où g = 9,80665 ms-2, c est le coefficient de frottement longitudinal (ou « CFL », à valeurs sur [0,1]), qui décrit l’adhérence de la chaussée et p est la valeur signée de déclivité locale du profil en long (en m/m). Par convention, on considère le cas des chaussées humides, et on pose c=0,41. Notons que la valeur de p n’est, pour l’instant, pas prise en compte dans notre application, à la fois par souci de simplification et parce que la valeur locale de déclivité n’est pas encore disponible avec une précision suffisante.

    Dans l’ARP, la distance d’arrêt est donnée sous forme de tableau, en fonction des valeurs de vitesse (de 20 à 100 km/h, tous les 10 km/h), pour des alignements droits et des courbes. Cette définition n’est pas utilisable directement, aussi mettons-nous en œuvre l’équation (1), en considérant une vitesse représentative du comportement des usagers. Comme dans [SET94], nous utilisons la vitesse notée V85. Celle-ci représente la vitesse en dessous de laquelle roulent 85% des usagers. Nous ne disposons naturellement pas d’une mesure de la V85 en tout point de l’itinéraire, mais il est possible de l’estimer localement, en fonction d’une valeur conventionnelle (92 km/h pour une route à deux voies) et des caractéristiques du tracé : rayon de courbure et pente [SET86]. Il est également admis que la V85 peut être écrêtée selon la valeur locale de limitation de vitesse applicable [SET06]. Le paragraphe suivant détaille la façon dont est effectuée la détermination du profil de vitesse le long d’un itinéraire.

    Enfin, un freinage ne pouvant être aussi énergique en courbe qu’en ligne droite, il est d’usage de majorer la distance de freinage de 25% dans les courbes de rayon inférieur à 5 fois la vitesse (exprimée en km/h). Cette notion se traduit par un seuil sur le rayon de courbure, susceptible d’introduire des discontinuités dans le profil de distance de visibilité. Afin de pallier cette difficulté, nous remplaçons ce seuillage par

    14/54

  • Mesure de la visibilité géométrique par la 3D

    l’application d’une fonction sigmoïde. L’expression de la distance de visibilité requise s’écrit donc, finalement :

    ( )pcgVKVtd r +××

    ×+×=2

    2

    (2)

    où :

    ⎟⎟⎠

    ⎞⎜⎜⎝

    ⎛⎟⎟⎠

    ⎞⎜⎜⎝

    ⎛−−+

    +=

    kVR

    K

    51exp1

    25,01λ

    (3)

    Dans (3), Vk représente la vitesse exprimée en km/h. La valeur du coefficient λ est arbitrairement fixée à 8 dans notre application.

    0 ,8

    0 ,9

    1

    1 ,1

    1 ,2

    1 ,3

    1 ,4

    0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0

    R a yo n (e n m )

    s e u il (b in a ire )s ig m o ïd e

    Figure 18 : Coefficient de multiplication de la distance de freinage en fonction du rayon de courbure pour V=90 km/h.

    La Figure 18 permet de visualiser la valeur du coefficient K en fonction du rayon de courbure, dans le cas du seuillage et lorsqu’on utilise la sigmoïde proposée. Après calcul du profil de vitesse le long de l’itinéraire selon la procédure détaillée au paragraphe suivant, la distance de visibilité requise est calculée à l’aide de l’équation (2). 2.2.2.2 - Ajustement de la vitesse V85 selon la trajectoire

    La distance de visibilité requise dépend de la vitesse conventionnelle V85 et des caractéristiques du tracé. Ces dernières sont, pour l’instant, déterminées à partir de la trajectoire du véhicule porteur, supposé rouler au centre de la voie lors des acquisitions. L’adaptation d’un système de positionnement latéral par vision [IEN04] permettra prochainement de calculer plus précisément la trajectoire de la voie. Dans un premier temps, la trajectoire en plan est ré-échantillonnée avec un pas régulier (1 m, typiquement) et les altitudes des points ainsi calculés sont déterminées par interpolation linéaire. La procédure que nous avons implantée pour le ré-échantillonnage de trajectoire est décrite en 2.5 -

    Dans un second temps, le rayon de courbure est déterminé en chaque point, comme le rayon du cercle approchant au mieux, au sens des moindres carrés, une portion de la trajectoire centrée sur le point. La longueur de cette portion est réglée de façon à obtenir un niveau de lissage proche de celui de mesures directes. La procédure de détermination du rayon de courbure mise en œuvre dans notre application est détaillée en 2.6 -Le rayon de courbure sert également à segmenter le tracé plan en éléments géométriques simples (arcs de cercle et droites). Enfin, le profil en long est également segmenté de façon à localiser les rampes (montées de plus de 250 m de long) et pentes (cf. 2.7 -

    La vitesse V85 est modulée, d’abord en fonction du rayon de courbure local R, selon la formule issue de la note d’information n°10 du SETRA en 1986 [SET86] et reprise dans l’ARP [SET94] :

    15/54

  • Mesure de la visibilité géométrique par la 3D

    5,1

    85

    3461R

    VVR+

    = (4)

    D’autre part, la présence de rampes (montées) est susceptible de faire baisser les vitesses pratiquées. La relation proposée dans [SET86] et reprise dans [SET94] est :

    (5)

    285 31,0 ppVVP ×−=

    où pp représente la déclivité de la rampe en pourcentage. Pour les courbes en rampe, on prend le minimum des deux valeurs VR et VP [SET86]. Les variations de vitesse selon les lois (4) et (5) sont illustrées Figure 19.

    La vitesse ainsi calculée subit ensuite un écrêtage en fonction des limitations de vitesse [SET06]. Finalement, le résultat est lissé de façon à éviter les accélérations ou décélérations trop fortes.

    0

    20

    40

    60

    80

    100

    120

    0 200 400 600 800 1000rayon (m)

    vite

    sse

    (km

    /h)

    92km/h112km/h120km/h

    0

    20

    40

    60

    80

    100

    120

    0 2 4 6 8 1déclivité (%)

    vite

    sse

    (km

    /h)

    0

    92km/h112km/h120km/h

    Figure 19 : Variations de la vitesse en fonction du rayon de courbure et de la déclivité locale en montée (d'après [SET86]).

    Pour cela, on se base sur la formule proposée dans l’Instruction sur les Conditions Techniques d’Aménagement des Voies Rapides Urbaines (ICTAVRU, [CET90]) pour la détermination des longueurs des sections d’accélération ou de décélération dans l’aménagement des bretelles :

    γ22

    22

    1 VVD −= (6)

    où D est la vitesse entre les points où sont mesurées les vitesses V1 et V2 et γ représente l’accélération. Cette équation est utilisée pour modifier localement les valeurs de vitesse, de façon à assurer que l’accélération (en valeur absolue) demeure inférieure à une accélération maximale autorisée. Les modifications sont effectuées itérativement. Les zones de fortes accélérations ou décélérations correspondent, la plupart du temps, aux modifications des vitesses limites autorisées. Le comportement de l’usager doit être de freiner avant la limitation et d’accélérer après la fin de limitation. Aussi, dans le cas d’une accélération positive, la modification est effectuée en avant, à partir de l’endroit où l’accélération dépasse le seuil. Dans le cas d’une accélération négative (freinage), le lissage est effectué en arrière, en partant du dernier point où l’accélération est supérieure au seuil.

    16/54

  • Mesure de la visibilité géométrique par la 3D

    0

    0,5

    1

    1,5

    2

    2,5

    -10 -5 0 5 10 déclivité (%)

    Acc

    élér

    atio

    n m

    axim

    ale

    AccélérationFreinageValeurs ICTAVRU

    pentes (descentes) rampes (montées)

    Figure 20 : Variation du seuil d’accélération maximal (en valeur absolue) selon la déclivité.

    La valeur du seuil utilisé est de 1m.s-2 pour une accélération positive et de 1,5m.s-2 pour un freinage, sur le plat. Ces valeurs sont modulées en fonction du profil en long, selon les indications données par l’ICTAVRU : le freinage est plus facile et l’accélération plus difficile en rampe (montée) et inversement dans une pente (descente). [CET90] ne fournissant que des valeurs ponctuelles, nous avons implanté un modèle linéaire à partir de ces valeurs (Figure 20).

    2.2.3 - Calcul de la distance de visibilité offerte

    Plusieurs sortes de distances de visibilité offerte ont été considérées, toutes basées sur le scénario d’un arrêt sur obstacle. Dans tous les cas de figure, un point d’observation est déplacé le long de l’itinéraire. Selon les recommandations de l’ARP et de l’ICTAAL, ce point se situe à 1m de hauteur et à 2m du bord droit de la voie de circulation. Nous ne disposons que de la trajectoire du véhicule ayant réalisé les acquisitions, et non de la trajectoire de la voie de circulation : il nous manque l’information de position latérale du véhicule en chaque point. En attendant de disposer d’une telle mesure, accessible grâce à des techniques de traitement d’images par exemple [IEN04], nous supposons que la voie est de largeur constante et connue, et que le véhicule LARA 3D s’est maintenu au centre de la voie lors des acquisitions. Les différents scénarios implantés dépendent du type de cible considéré – ponctuelle comme dans l’ARP [SET94] ou l’ICTAAL [SET00] ou volumique dans l’esprit du système Visuline du LRPC de saint Brieuc [LRP05] – et de la distance, fixe ou variable, entre le point d’observation et la cible.

    2.2.3.1 - Cible ponctuelle, à distance variable

    Dans un premier temps, nous appliquons le scénario de l’ARP [SET94]. Il s’agit de s’assurer que le conducteur est capable de s’arrêter lorsqu’il voit un véhicule léger arrêté sur sa voie. Autrement dit, la cible considérée correspond aux feux arrières du véhicule arrêté, situés à environ 35 cm du sol. Une simplification est généralement proposée, qui assimile les deux feux à un point unique. Celui-ci est considéré situé sur l’axe de la voie dans [SET94]. Dans des documents plus récents [SET00], [SET06], les feux sont supposés se situer respectivement à 1m et 2m50 du bord droit de la voie et il est précisé que l’on ne doit considérer que « le moins contraignant » des deux feux.

    17/54

  • Mesure de la visibilité géométrique par la 3D

    Figure 21 : Distance de visibilité offerte sur cible ponctuelle. La cible est progressivement avancée jusqu’à disparition complète, et le calcul se poursuit en avançant le point d’observation.

    Puisqu’il s’agit de vérifier que le véhicule arrêté peut être vu de suffisamment loin, nous calculons la distance maximale à laquelle l’un, au moins, des deux feux est visible, en avançant progressivement la cible. Pour cela, on utilise la technique, classique, du lancer de rayon. Afin de limiter les calculs, une structure d’arbre octal (ou « octree ») est mise en œuvre pour structurer l’espace de recherche. Les triangles constituant le modèle 3D de la route et de son environnement sont rangés dans les feuilles de l’arbre. L’algorithme met à profit cette structure pour rechercher le plus efficacement possible d’éventuelles intersections entre les rayons reliant le point d’observation et les deux points de la cible, et les triangles. L’algorithme demeure cependant relativement coûteux en temps de calcul. Il est possible de l’accélérer en utilisant un découpage plus fin de l’arbre, mais cela se fait au détriment de la mémoire utilisée et de la vitesse d’affichage. En pratique, un compromis entre temps de calcul et mémoire occupée est réalisé.

    La cartographie ainsi obtenue fournit la distance de visibilité maximale sur cible ponctuelle le long de l’itinéraire.

    2.2.3.2 - Cible volumique, à distance fixe

    Ce scénario implante de manière informatique le test pratiqué sur le terrain par le LRPC de saint Brieuc à l’aide de son système Visuline. Ce dispositif est constitué de deux véhicules équipés de topomètres, permettant un repérage en abscisse curviligne, et d’un système de communication radio. Les véhicules sont maintenus à une distance fixe l’un de l’autre lorsqu’ils parcourent l’itinéraire étudié. Un observateur, situé dans le second véhicule, enregistre directement la position des pertes de visibilité. On obtient ainsi une cartographie de la visibilité de la cible, selon qu’elle est « vue » ou « non vue ». Il s’agit en fait d’un test de vérification de distance de visibilité et non d’une mesure de distance à proprement parler.

    Figure 22 : Calcul du pourcentage de visibilité d'une cible volumique maintenue à distance fixe du point d'observation. L'objet est d'abord tracé (en vert) et la scène lui est alors superposée (en gris). Cas d’une entrée de virage (RD11, Yvelines).

    L’implantation de ce scénario consiste, dans un premier temps, à dessiner dans la mémoire de la carte graphique (GPU) de l’ordinateur un objet parallélépipédique représentant la cible et à calculer sa surface visible. La cible est située dans l’axe de la voie et ses dimensions sont configurables, ce qui permet de considérer le cas du véhicule léger comme dans le test sur le terrain, mais aussi celui d’un poids lourd, voire d’un deux-roues ou d’un piéton. Dans un second temps, la scène est dessinée en superposition, sans aucun effet d’ombrage, et la surface visible de l’objet est, à nouveau, déterminée. Le rapport des deux surfaces calculées fournit le pourcentage de visibilité. La cible et le point d’observation sont alors avancés simultanément et le calcul se poursuit de la même façon pour le reste de l’itinéraire. Notons que l’objet

    18/54

  • Mesure de la visibilité géométrique par la 3D

    n’est jamais dessiné à l’écran (contrairement à ce que pourrait suggérer l’exemple de la Figure 22), tous les calculs étant effectués en mémoire. Les performances de l’algorithme dépendent des caractéristiques de la GPU et, notamment, de la résolution utilisée.

    La cartographie ainsi obtenue fournit le pourcentage de visibilité de la cible le long de l’itinéraire. Elle peut être binarisée par seuillage, de façon à se ramener à une représentation « vue »/ « non vue ».

    2.2.3.3 - Cible volumique, à distance variable

    Le dernier scénario consiste également à considérer une cible volumique. Par contre, il s’agit d’en calculer non plus le pourcentage de visibilité à distance fixe, mais la distance de visibilité maximale. Pour cela, à chaque position du point d’observation le long de l’itinéraire, on avance progressivement la cible. Pour chaque position de la cible, on calcule son pourcentage de visibilité selon la technique expliquée au paragraphe précédent et on le compare à un seuil de détection prédéfini. On enregistre la dernière position à laquelle la surface de la cible est supérieure au seuil, qui correspond à la distance maximale de détection de la cible. Cette procédure est répétée à la position suivante du point d’observation, et ainsi de suite le long de l’itinéraire.

    Il est évident que le résultat obtenu dépend du seuil de détection utilisé. Plus celui-ci sera faible, plus la distance de visibilité obtenue sera grande. La question du choix du seuil reste un problème ouvert. Il pourrait être intéressant d’effectuer des études en simulation avec opérateurs pour le fixer. Par contre, l’intérêt de ce scénario est qu’il implante une version « réaliste » du test proposé dans l’ARP, puisque le véhicule est considéré en tant qu’objet volumique, et non modélisé par ses deux feux arrières. D’autre part, il apporte également une amélioration par rapport au test décrit au paragraphe précédent, puisqu’il fournit une mesure de la distance de visibilité offerte le long de l’itinéraire. Notons que cette mesure n’est pas réalisable à grand rendement sur le terrain, puisqu’il faut faire varier la position de la cible pour chaque point d’observation.

    2.2.4 - Comparaison des distances de visibilité

    La dernière étape consiste à comparer la distance de visibilité offerte, calculée le long de la trajectoire à partir du modèle 3D, à celle requise, calculée d’après les documents normatifs.

    0 50 100 150 200 250

    0

    20

    40

    60

    80

    100

    120

    140

    Abscisse curviligne

    Dis

    tanc

    e de

    vis

    ibili

    OfferteRequise

    -150 -100 -50 0

    -150

    -100

    -50

    0

    50

    Visibilité suffisanteVisibilité insuffisanteVisibilité non calculée

    Figure 23 : A gauche, vue aérienne de l’itinéraire étudié (secteur RD11, Yvelines). Au centre, comparaison des distances requises (en rouge) et offertes (en bleu). A droite, cartographie de la visibilité. En vert : visibilité suffisante, en rouge : visibilité insuffisante, en noir : visibilité supérieure aux limites du modèle 3D.

    Sur l’exemple montré, on constate que la distance requise décroît, ce qui correspond à la diminution de la vitesse supposée en virage (ajustement du V85 selon le rayon de courbure), puis augmente à nouveau dans la ligne droite. La distance de visibilité offerte est insuffisante en entrée de courbe, comme le montre le second graphique (Figure 23, droite). Dans cette expérience, la distance de visibilité offerte est calculée selon le troisième scénario : distance de visibilité maximale d’un objet 3D sur la voie. Notons que dans cette expérience, le seuil de visibilité d’un objet était fixé à 50 %, ce qui représente une valeur sans doute plus forte que nécessaire.

    19/54

  • Mesure de la visibilité géométrique par la 3D

    2.2.5 - Réalisation informatique : le logiciel Qt-Ballad

    Un logiciel de calcul des distances de visibilité offerte et requise a été implanté par le LRPC de Strasbourg. Il se nomme « Qt-Ballad ». L’interface se compose d’un panel de visualisation d’itinéraire et de panels optionnels : réglage des paramètres de visualisation, affichage d’une vue de dessus de l’itinéraire, affichage d’images de l’itinéraire, affichage des messages du logiciel. Le panel de visualisation permet d’afficher le modèle 3D de la scène. Lorsqu’un fichier de trajectoire est chargé, deux onglets supplémentaires sont disponibles : affichage de la vue en plan de la trajectoire et affichage du profil en long. La présentation de l’interface est configurable dynamiquement par l’utilisateur.

    Figure 24 : Le logiciel Qt-Ballad est multi-plateforme. A gauche, interface sous Windows, à droite, interface sous MacOS.

    Le logiciel, écrit en C++, se base sur les librairies graphiques de « Qt », ce qui le rend compatible avec la plupart des systèmes d’exploitations actuels : Window, Linux, MacOS (Figure 24). Il permet la navigation interactive dans le modèle 3D (Figure 25), la segmentation de trajectoire (Figure 26) et le calcul de la visibilité requise, ainsi que le calcul de la visibilité offerte selon les 3 scénarios définis précédemment.

    Figure 25 : Interface du logiciel Qt-Ballad en mode « visualisation d’itinéraire ». Tous les panels optionnels sont affichés.

    20/54

  • Mesure de la visibilité géométrique par la 3D

    Figure 26 : Interface du logiciel Qt-Ballad en mode « segmentation de trajectoire ». Tous les panels optionnels sont fermés afin de faciliter la visualisation de la trajectoire segmentée. Nuances de vert : virages, nuances de rouge : lignes droites.

    2.3 - Conclusion

    Nous avons présenté dans ce document un système de numérisation et modélisation 3D de la route et de ses abords, fournissant un modèle numérique. Celui-ci est ensuite exploité hors-ligne à l’aide du logiciel Qt-Ballad, pour estimer la distance de visibilité disponible pour un conducteur circulant sur la section courante. L’estimation de la distance de visibilité que nous effectuons sur le modèle utilise des techniques classiques de visualisation 3D et les capacités du processeur graphique. Les résultats peuvent être comparés à la distance requise, préconisée dans les documents officiels, puis représentés sous forme de cartes. Si la méthode est, naturellement, tributaire de la qualité du modèle numérique acquis, elle offre l’avantage de permettre une reproduction illimitée des expériences, en faisant varier les paramètres des scénarios considérés, voire les définitions de la distance de visibilité.

    Un certain nombre d’améliorations demeurent possibles. Par exemple, la trajectoire utilisée actuellement est celle du véhicule de mesure, et non celles des voies de circulation. L’utilisation de techniques d’analyse d’images pourrait fournir à court terme un positionnement latéral du véhicule dans sa voie. D’autre part, le modèle actuel est purement géométrique. Il ne tient pas compte du champ de vision réel de l’opérateur, ni de sa diminution en fonction de la vitesse, par exemple. Pour le calcul de visibilité, nous avons utilisé la définition fonctionnelle de l’arrêt sur obstacle. On pourrait enrichir le logiciel des autres définitions fonctionnelles existantes, de visibilité en virage, en intersection, et pour le dépassement par exemple. Enfin, il demeure important de qualifier les performances du système développé et de les comparer aux attentes des gestionnaires d’infrastructure, en termes de précision, notamment.

    21/54

  • Mesure de la visibilité géométrique par la 3D

    2.4 - Références bibliographiques

    [ABU03] I. Abuhadrous, F. Nashashibi, C. Laurgeau, F. Goulette. (2003) «Onboard Real-time system for Digitizing and Geo-referencing of 3D Urban Environments». Proc. of the 11th International Conference on Advanced Robotics, pp. 479-483, University of Coimbra, Portugal.

    [AMM04] S. Ammoun, I. Abuhadrous, F. Nashashibi, F. Goulette, C. Laurgeau, « Modélisation 3D d’environnement urbains et routiers numérisées par télémétrie laser embarquée ». Actes du congrès Numérisation3D-Scanning, Paris.

    [ASA05] T. Asai - M. Kanbara - N. Yokoya, “3D Modeling of Outdoor Environments by Integrating Omnidirectional Range and Color Images”, The 5th International Conference on 3-D Digital Imaging and Modeling June 13-16, Ottawa, Otario,Canada, 2005.

    [BRE06] F. Bretar, « Couplage de Données Laser Aéroporté et Photogrammétriques pour l'Analyse de Scènes Tridimensionnelles », Thèse de Doctorat de l'Ecole Nationale Supérieure de Télécommunication de Paris, 2006.

    [BRR06] R. Brémond, « Vocabulaire de la visibilité routière », Livrable 1.1.1, Consortium VIZIR, projet PREDI SARI, 2006.

    [CET90] ICTAVRU : Instruction sur les Conditions Techniques d’Aménagement des Voies Rapides Urbaines, CETUR, Ministère de l’équipement, des transports et du logement, 01/1990. Titre II, Partie 1.

    [CHA96] P. Charbonnier et O. Cuisenaire. Une étude des contours actifs : modèles classique, géométrique et géodésique. Rapport technique 163, Université Catholique de Louvain, Laboratoire TELE, Place du Levant 2, 1348 LOUVAIN-LA-NEUVE (Belgique), juillet 1996.

    [DEL05] Delaval E., Charbonnier P., Kerdudo K. (2005), Mesure de la visibilité –Les différents systèmes disponibles, Axe 3 – Amélioration de la pertinence des études de sécurités, Opération Sécurité des Itinéraires.

    [FRU03] C. Frueh and A. Zakhor, “3D Model Generation for Cities Using Aerial Photographs and Ground Level Laser Scans”, Computer Vision and Pattern Recognition, Vol 2, pages 562-569, June, 2003.

    [FRU04] C. Frueh - R. Sammon - A. Zakhor1, “Automated Texture Mapping of 3D cities models using oblique aerial images”, 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT), Thessalonikki, Greece 2004.

    [GOU06] F. Goulette, F. Nashashibi, I. Abuhadrous , S. Ammoun, C. Laurgeau , «An Integrated On-Board Laser Range Sensing System forOn-The-Way City and Road Modelling». Int Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol 34, Part A.

    [HOR95] R. Horaud, O. Monga, Vision par ordinateur – Outils fondamentaux – 2ème édition revue et augmentée, Traité des Nouvelles Technologies, Série informatique, ISBN : 2-86601-481-2, Hermes, Paris, 1995.

    [IEN04] S.S. Ieng, Méthodes robustes pour la détection et le suivi des marquages, Thèse de doctorat, Université Paris VI, 2004.

    [INT06] Intempora, RT MAPS User’s Manual. Intempora SA. http://www.intempora.com

    [ISR88] Instruction Interministérielle sur la Signalisation Routière, septième partie : marques sur chaussées, pages 19 à 21, arrêté du 16/02/1988.

    [LAF06] F.Lafarge, X. Descombes, J. Zerubia, M. Pierrot-Deseilligny, « An Automatic 3D City Model : a Bayesian Approach using Satellite Images », In Proc. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) , Toulouse, France, mai 2006.

    22/54

  • Mesure de la visibilité géométrique par la 3D

    [LOE87] D. G. Loewe, « Three-dimensional object recognition from single two-dimensional images », Artificial Intelligence, vol. 31, n°3, pp. 355-395, 1987.

    [LRP05] LRPC de Saint-Brieuc, Présentation de Visuline, Séminaire Caractéristique routière et Sécurité, 2005.

    [MAN01] D. Manandhar- R. Shibasaki, “Vehicle-borne Laser Mapping System (VLMS) - A New Observation System for 3-D Mapping of Urban Areas”, Remote Sensing and Data Fusion over Urban Areas, IEEE/ISPRS, 2001.

    [PAP04] N. Paparoditis, O. Bentrah, M. Deveau, L. Pénard, Modélisation 3D terrestre d'environnements urbains à très grande échelle. Bulletin d’information de l’IGN, Journées de la recherche IGN, Saint-Mandé, France, mars 2004.

    [PRE92] W. H. Press, S.A. Teulosky, W. T. Vetterling, B. P. Flannery, Numerical Recipes in C, The Art of Scientific Computing, 2nd edition, Cambridge University Press, 1992.

    [ROB97] A. Robert, S. Agard. Rapport de stage ingénieur, Application du GPS à la trajectographie routière, CETE du Sud-Ouest, Laboratoire de Bordeaux, 1997.

    [SET00] SETRA, « ICTAAL : Instruction sur les Conditions Techniques d’Aménagement des Autoroutes de Liaison », circulaire du 12/12/2000.

    [SET06] SETRA, « Comprendre les principaux paramètres de conception géométrique des routes », Note d’information, Collection « les rapports », janvier 2006.

    [SET86] SETRA, Mission Sécurité Routière, « Vitesses pratiquées et géométrie de la route », Note d’information, B.C. 10, avril 1986.

    [SET94] SETRA, « ARP : Aménagement de Routes Principales (sauf les autoroutes et routes express à deux chaussées) », 08/1994. Chapitre 4 et Annexe 3.

    [TAS00] T. Tasdizen, J.-P. Tarel et D.B. Cooper, « Improving the Stability of Algebraic Curves for Applications”, IEEE Transactions on Image Processing, vol. 9, n°3, pp. 405-416, mars 2000.

    23/54

  • Mesure de la visibilité géométrique par la 3D

    2.5 - Annexe A : Ré-échantillonnage de la trajectoire

    • Description de la procédure de ré-échantillonnage

    Cette procédure a été initialement proposée dans [CHA96]. Dans un premier temps, voyons comment il est possible, connaissant la courbe originale {ai,bi} et la trajectoire rééchantillonée jusqu'au point (xi,yi), de trouver le point suivant de cette nouvelle courbe, soit (xi+1, yi+1). Il suffit pour cela de calculer l'intersection du cercle de rayon R centré en (xi,yi) et du premier segment [(aj,bj):(aj+1,bj+1)] qui intersecte ce cercle. Pour simplifier, nous appellerons ce segment [(a1,b1):(a2,b2)), comme à la Figure 27. Deux cas se présentent, selon que (xi,yi) , (a1,b1) et (a2,b2) sont alignés ou non.

    xi,yi

    xi+1,yi+1

    xi+2,yi+2

    R

    a1,b1

    a2,b2a3,b3

    Figure 27 : Ré-échantillonage du contour (ai,bi) en un nouveau contour (xi,yi) de pas constant R. Dans le cas où les points ne sont pas alignés, le point (xi+1,yi+1) que nous cherchons - et abrégeons (x,y) - est la solution du système d'équation :

    ⎪⎪⎩

    ⎪⎪⎨

    +=+=

    +==−+−

    BxAyBxAy

    BxAyRyyxx ii

    22

    11

    222

    .

    .

    .)()(

    qui se résout aisément en calculant A puis B à partir des deux dernières équations, puis en injectant ces valeurs dans la deuxième. Enfin, en remplaçant dans la première équation y par son expression donnée par la deuxième, on obtient une équation du second degré. On choisit alors parmi les deux solutions celle fournissant un point situé entre (a1,b1) et (a2,b2). On traite par ailleurs aisément le cas particulier où a1 = a2, soit A infini. Si les trois points sont alignés, on résout le problème simplifié :

    ⎪⎪⎪

    ⎪⎪⎪

    −+−=

    −+=

    −+=

    212

    212

    12

    12

    )()(

    ).(

    ).(

    bbaaDDRbbyyDRaaxx

    i

    i

    Afin d’éviter les problèmes numériques, on traite séparément le cas des segments plutôt horizontaux et celui des segments plutôt verticaux.

    • Détails d’implantation

    La méthode décrite ci-dessus a été, dans un premier temps, implantée sous Matlab selon le code donné ci-dessous. Ce code a ensuite été traduit en C afin d’être intégré au logiciel développé.

    24/54

  • Mesure de la visibilité géométrique par la 3D

    • Code source Matlab function [resx,resy]=intersect(X,Y,R,x1,y1,x2,y2) % intersection d’un cercle et d’un segment de droite epsilon=1e-6; if abs(y2-y1) < abs(x2-x1) % segments plutôt horizontaux if (x2==x1) x1=x1+eps; end; A=(y2-y1)/(x2-x1); B=y1-A*x1; if (abs(A*X+B-Y) > 1e-6) C0=X*X+(B-Y)*(B-Y)-R*R; C1=2*(A*(B-Y)-X);C2=A*A+1; resx = (-C1+sqrt(C1*C1-4*C0*C2))/(2*C2); if((resx-x1)*(resx-x2)>=0) resx = (-C1-sqrt(C1*C1-4*C0*C2))/(2*C2); end; resy = resx*A+B; else D = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); resx = X+(x2-x1)*(R/D); resy = Y+(y2-y1)*(R/D); end; else % segments plutôt verticaux if (y2==y1) y1=y1+eps; end; A=(x2-x1)/(y2-y1); B=x1-A*y1; if (abs(A*Y+B-X) > 1e-6) C0=Y*Y+(B-X)*(B-X)-R*R; C1=2*(A*(B-X)-Y);C2=A*A+1; resy = (-C1+sqrt(C1*C1-4*C0*C2))/(2*C2); if((resy-y1)*(resy-y2)>=0) resy = (-C1-sqrt(C1*C1-4*C0*C2))/(2*C2); end; resx = resy*A+B; else D = sqrt((y1-y2)*(y1-y2)+(x1-x2)*(x1-x2)); resy = Y+(y2-y1)*(R/D); resx = X+(x2-x1)*(R/D); end; end; % Fin de la procédure intersect %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [N,rx,ry,rz]=rechantillonne2(X,Y,Z,dist) % ré-échantillonnage de la trajectoire, où X et Y sont des vecteurs colonne rx(1)=X(1); ry(1)=Y(1); rz(1)=Z(1); npt=size(X,1); newnpt=1; cnt=2; while (cnt

  • Mesure de la visibilité géométrique par la 3D

    2.6 - Annexe B : Évaluation des rayons de courbure

    • Détermination du rayon de courbure au sens des moindres carrés

    L’équation d’un cercle de centre (x0,y0) et de rayon R est de la forme : ( ) ( ) 22020 RyyXx =−+−

    soit, en posant cbaRetbyax −+=−=−=42

    02

    022

    ,, :

    ( ) 022 =++++ cbyaxyx Cette équation se met également sous la forme :

    ( )22 yxcbyax +−=++ Elle est, en principe, vérifiée par tous les points appartenant au cercle. Soit, sous forme matricielle, en notant p le vecteur de paramètres p=(a,b,c)T : Ap=b avec, pour la matrice A et le vecteur b :

    L’équation peut être résolue directement lorsque A est carrée, donc à partir de 3 points, et non singulière. Nous la résolvons cependant au sens des moindres carrés :

    ( ) bAAAp TT 1−= . Procéder ainsi permet de traiter avec la même routine le cas où on a plus de 3 points, A devenant alors rectangulaire. Notons que, si les points sont parfaitement alignés (rayon de courbure infini ou courbure nulle), alors les colonnes de A sont liées linéairement et la matrice devient singulière. Ce cas particulier peut être détecté grâce à la valeur du déterminant de A, qui s’annule quand la matrice est singulière.

    L’algorithme est le suivant :

    - recueillir les coordonnées de 3 points (au moins)

    - former la matrice A et le vecteur b

    - résoudre l’équation des moindres carrés pour obtenir a,b et c

    - en déduire la valeur de R (« infinie », si det(A) est inférieur à un certain seuil)

    Ce modèle a un défaut : il ne prend pas en compte le cas où les points sont alignés. En fait, il est plus commode de ré-écrire l’équation du cercle sous la forme suivante :

    ( ) 022 =++++ dyc

    bdxc

    adyxcd

    ou encore, plus généralement :

    ( ) 0432221 =++++ pypxpyxp Ainsi, on obtient un modèle capable de gérer à la fois le cas des cercles et le cas des droites, ce dernier correspondant à p1=0. On n’a plus à tester l’alignement des points. Pour trouver un meilleur cercle au sens des moindres carrés, on écrit cette équation pour chaque point de données, sous la forme matricielle : Bp=0, avec p=(p1,p2,p3,p4)T et pour la matrice B :

    ⎥⎥⎥

    ⎢⎢⎢

    ⎡+=

    MMM

    MMM

    122 iiii yxyxB

    Il est alors classique de minimiser la distance algébrique

    ( )[ ]∑ ++++i

    iiii pypxpyxp2

    43222

    1

    Cela revient à minimiser :

    ( ) ppBpBpBppJ TTT Σ=== 2

    26/54

  • Mesure de la visibilité géométrique par la 3D

    Afin d’éviter d’éventuels problèmes numériques, on minimisera une forme régularisée de ce critère, ce qui reviendra à considérer la matrice Σ =BTB+ε.I4x4 en lieu et place de Σ =BTB, avec ε petit (de l’ordre de 10-12, par exemple). Naturellement, le vecteur p est défini à une constante près et ce problème admet une infinité de solution. On ajoute une contrainte imposant que p soit unitaire :

    12 =p

    En formant le Lagrangien L=pT Σ p+λ(1-pTp), on doit donc résoudre :

    pppL λ220 −Σ==

    ∂∂

    où λ est le multiplicateur de Lagrange. On voit donc que p est un vecteur propre de Σ, puisqu’il doit vérifier :

    pp λ=Σ D’autre part, on a alors :

    ( ) λλ ==Σ= pppppJ TT

    Comme l’on souhaite minimiser J, on choisira comme solution le vecteur propre associé à la plus petite valeur propre.

    • Détails d’implantation

    La méthode décrite ci-dessus a été, dans un premier temps, implantée sous Matlab selon le code donné ci-après. Ce code a ensuite été traduit en C afin d’être intégré au logiciel développé. Dans ce cas, la matrice Σ n’est évidemment pas formée par multiplication matricielle, ce qui serait trop coûteux, mais d’après sa formulation analytique :

    ∑=

    ⎥⎥⎥⎥⎥

    ⎢⎢⎢⎢⎢

    =M

    p

    ppp

    pppppp

    pppppp

    pppppp

    T

    yxKyyyxyKxyxxxKKyKxKK

    AA1

    2

    2

    2

    1

    où M est le nombre de points considérés et 22ppp yxK += . On n’a en fait que 9 coefficients à calculer, ce

    qui s’opère en une seule boucle. Dans l’implantation en C, la décomposition en valeurs propres et vecteurs propres est effectuée par la méthode de Jacobi [PRE92].

    L’ajustement de cercles est un problème numériquement sensible [TAS00]. De ce fait il est primordial de mettre en place une normalisation préalable des données. Les coordonnées des M points utilisés pour le calcul d’un rayon de courbure sont centrées sur la moyenne de l’échantillon et divisées par un facteur d’échelle s proportionnel à l’étendue des données. Plus précisément :

    ( )yx sss ,max= où ( ) ( )[ ] 2minmax xxsx −= et ( ) ( )[ ] 2minmax yysy −= . D’autres normalisations sont envisageables, mais celle-ci est la seule qui nous ait fourni des résultats cohérents dans toutes les situations que nous avons rencontrées.

    27/54

  • Mesure de la visibilité géométrique par la 3D

    • Code source Matlab % constantes nbvois=30; % demi-taille de l’intervalle considéré epsilon=1e-12; % constante % Lecture des données M = dlmread('MonFichier.txt','\t'); nbpts=size(M,1); % Pour les résultats r=zeros(nbpts-2*nbvois+1,1); cr=zeros(nbpts-2*nbvois+1,1); x0=zeros(nbpts-2*nbvois+1,1); y0=zeros(nbpts-2*nbvois+1,1); % Calcul du rayon de courbure en chaque point for i=1:nbpts % Données sur intervalle considéré imin=max(1,i-nbvois); imax=min(nbpts,i+nbvois); x=M(imin:imax,1); y=M(imin:imax,2); % Normalisation mx = mean(x); my = mean(y); sx = (max(x)-min(x))/2; sy = (max(y)-min(y))/2; s = max(sx,sy); x = (x-mx)/s; y = (y-my)/s; % Forme la matrice aa=[x.^2+y.^2 x y ones(length(x),1)]; ata=aa'*aa; atar=ata+epsilon.*eye(4,4); %eye=identité 4x4 % Calcule les paramètres p [vectp,valp]=eig(atar); [valmin(i),index]=min(diag(valp)); p=vectp(:,index); % "De-normalisation" d4(i)=p(1); a4(i)=p(2)*s-2*p(1)*mx; b4(i)=p(3)*s-2*p(1)*my; c4(i)=p(4)*s*s-p(3)*s*my-p(2)*s*mx+p(1)*(mx*mx+my*my); % Attributs du cercle cr(i)=(2.0*abs(d4(i)))/(sqrt(a4(i)^2+b4(i)^2-4.0*c4(i)*d4(i))); r(i)=1/cr(i); x0(i)=-a4(i)/(2.0*d4(i)); y0(i)=-b4(i)/(2.0*d4(i)); end

    28/54

  • Mesure de la visibilité géométrique par la 3D

    • Influence du nombre de points considéré

    La Figure 28 montre un exemple de détermination de rayon de courbure par la méthode décrite ci-dessus, pour deux tailles différentes de voisinage. La trajectoire utilisée a été relevée sur un secteur d’environ 4200 m, dénommé « RD8 » (cf. Figure 17) et ré-échantillonnée de manière régulière, au pas de 1 m. On constate clairement l’effet d’échelle associé au paramètre M (nombre de points considérés pour l’ajustement du cercle). Une valeur faible fournit de bons résultats pour les virages très prononcés mais s’avère inadaptée pour les grands rayons de courbure (et inversement pour les fortes valeurs de M).

    Figure 28 : Rayon de courbure avec 21 points (à gauche) et avec 101 points (à droite) sur le secteur RD8.

    Cette expérience indique qu’il est nécessaire, soit de trouver une valeur réalisant un compromis, soit d’effectuer deux passes, en adaptant M lors de la seconde passe en fonction des rayons déterminés lors de la première et de la longueur du bassin de virage. Nous avons choisi la première solution dans notre application, par souci de simplicité.

    Figure 29 : Comparaison des rayons de courbure entre l’estimation aux moindres carrés (« Segmenteur ») avec 61 points et la mesure directe par le véhicule VANI.

    Afin de vérifier le bien-fondé de cette solution, nous avons comparé le résultat obtenu par estimation avec 61 points et les mesures réalisées par le Véhicule d’Analyse d’Itinéraire (VANI) du LRPC de Lyon, équipé d’un gyromètre limité à 600 m de rayon (Figure 29). Malgré un recalage approximatif en abscisse curviligne, on peut constater que les courbes sont relativement proches. Les premiers points ne sont pas à considérer pour cause de problèmes de bords. Quelques différences demeurent dans des successions de virages de faible développement. Dans ce cas, la procédure à deux passes serait certainement mieux indiquée. Nous considérons cependant que la solution de compromis que nous avons adoptée fournit une précision suffisante pour notre application.

    29/54

  • Mesure de la visibilité géométrique par la 3D

    2.7 - Annexe C : Segmentation de la trajectoire

    Les tracés routiers sont, en général, composés de trois types d’éléments géométriques simples : les segments de droite, les arcs de cercle pour les virages et les clothoïdes1 permettant une jonction confortable entre les lignes droites et les virages. Le but de la segmentation est de décomposer une trajectoire donnée en ces trois types d’éléments simples. Dans cette étude, notre but est surtout de distinguer les lignes droites des virages. Aussi, nous simplifierons le problème en ne considérant pas les clothoïdes de jonction.

    Deux approches peuvent être envisagées pour effectuer la segmentation. Comme dans le cas du suivi de contours en vision par ordinateur, on peut envisager de découper récursivement la trajectoire [HOR95][LOE87]. On modélise d’abord la trajectoire grossièrement par un élément géométrique en choisissant le type de primitive qui décrit le mieux la trajectoire. On recherche alors le point le plus écarté de cette courbe. On obtient ainsi deux portions de trajectoire, sur lesquelles on peut appliquer la même procédure. Le découpage est arrêté sur des critères de longueur de primitive ou d’écart moyen à la trajectoire. Ce type de segmentation est, en général, limité à deux sortes de primitives géométriques.

    La seconde approche est, au contraire, séquentielle. On parcourt la trajectoire en recherchant un type de primitive (segment ou arc). Les points de la trajectoire affectés à cette primitive n’entrent plus en jeu dans la suite de la recherche. Lorsque la trajectoire a entièrement été parcourue, on recommence avec le second type de primitive, etc. Cette approche, utilisée dans [ROB97], est celle que nous adopterons ici, même si elle a le défaut de ne pas assurer une affectation de tous les points à une primitive.

    • Méthode de segmentation de la trajectoire en plan

    L’algorithme mis en œuvre se compose de 3 étapes :

    - recherche des virages,

    - recherche des lignes droites,

    - traitement des points restants.

    L’étape de recherche des virages consiste dans un premier temps à repérer les bassins de virage (zones où le rayon de courbure devient inférieur à une limite fixée à 600m, ce qui correspond aux limites actuelles des appareils utilisés au sein du RST et notamment, VANI). On identifie alors le centre du virage comme étant le point où le rayon de courbure est minimal dans le bassin. La recherche des limites du virage est effectuée en parcourant la trajectoire dans chaque sens à partir du centre du virage, jusqu’à ce qu’au moins deux points successifs soient plus éloignés de la trajectoire qu’une certaine distance. Lorsque les limites sont connues, on calcule le développement angulaire du virage et sa longueur. Si ces valeurs sont suffisantes, le virage est accepté et les points qui le composent lui sont affectés, disparaissant de la liste des points à traiter.

    Lorsque tous les virages ont été détectés, la procédure de recherche des lignes droites est lancée sur l’ensemble des points non affectés. Cette recherche consiste, à partir d’un point donné, à effectuer une régression linéaire sur un nombre de points correspondant à la longueur minimale supposée d’une ligne droite. Si la distance orthogonale entre la droite de régression et tous les points concernés est inférieure à un seuil de tolérance, le segment est validé et les points lui sont affectés. Une procédure itérative consistant à rallonger le segment et à tester à nouveau sa validité, est alors lancée. A noter que cette procédure fonctionne à l’inverse de celle proposée dans [ROB97], qui nous semblait plus coûteuse en temps de calcul.

    1 Si on trace le rayon de courbure en fonction de l’abscisse curviligne, les segments de droite correspondent à des segments de courbure nulle, les clothoïdes apparaissent comme des segments de courbure linéairement croissante ou décroissante, et les arcs de cercle, comme des segments de courbure constante, non nulle.

    30/54

  • Mesure de la visibilité géométrique par la 3D

    Après ces deux étapes, la plupart des points de la trajectoire sont affectés, soit à la partie centrale d’un virage, soit à une ligne droite. Pour traiter les points restants, la procédure de recherche des cercles est relancée une seconde fois à l’intérieur des bassins de virage de façon à approcher les entrées et sorties de courbes. Notons qu’en toute rigueur, il faudrait plutôt rechercher des clothoïdes dans ces portions de trajectoire. Finalement, une recherche de virages est lancée sur l’ensemble des points restants (appartenant ou non à des bassins de virage).

    • Segmentation du profil en long

    Dans notre application, le but de cette segmentation est essentiellement d’identifier les pentes (descentes) et rampes (montées) de plus de 250 m de long. Pour cela, on utilise la même méthode que pour la recherche de lignes droites dans le tracé en plan.

    31/54

  • Mesure de la visibilité géométrique par la 3D

    3 - APPROCHE AVEC UNE OU DEUX CAMERAS

    Nous traitons dans cette partie de l’estimation de la visibilité géométrique, abordé par une approche basée sur l’analyse des images. Un intérêt d’une telle approche réside dans le moindre coût du capteur caméra.

    Toujours pour des raisons économiques, nous avons fait une première étude sur la possibilité d’estimer la distance de visibilité géométrique de la route à partir d’une seule caméra. Cette approche, ses avantages et ses limites sont décrits dans une première partie. La seconde partie traite d’une approche complémentaire, qui nécessite deux caméras.

    3.1 - Approche monoculaire

    Lorsqu’on emploie une seule caméra pour l’acquisition des données, le fait d’estimer l’information de profondeur perdue par projection constitue un problème sous-contraint. Il est alors nécessaire d’introduire des hypothèses standards afin d’inférer une solution unique. Deux types de contraintes sont généralement utilisés : l’hypothèse de monde plan fixe [KUA88] par laquelle la route est entièrement contenue dans le plan constant qui supporte le véhicule, l’hypothèse de monde plan avec une inclinaison variable [TUR88]. Ces deux premières hypothèses permettent l’estimation de la transformation homographique qui associe de manière unique chaque pixel de l’image avec un point du plan contenant la route. Une phase de calibrage doit être réalisée lors des acquisitions pour permettre de remonter à des mesures métriques. La plupart des algorithmes, des plus anciens aux plus récents, se fondent sur l’une ou l’autre de ces hypothèses, mais diffèrent quant au modèle de route retenu.

    L’un des premiers modèles utilisé considère une route limitée par deux lignes droites sur de courtes étendues [LIO98][CRI88]. Des modèles plus souples furent ensuite introduits afin de produire des estimations plus précises, en utilisant soit un paramètre de courbure locale [KLU94], soit des polynômes du deuxième ou troisième ordre (ou les splines qui leurs sont associés) [DIC98][SOU01][WAN00]. Pour toutes ces approches basées sur une hypothèse de monde plan, une détection précise de la ligne d’horizon, c’est à dire de l’inclinaison de la route, est cruciale à cause du tangage du véhicule.

    Un dernier groupe d’algorithmes s’écarte de l’hypothèse de monde plan afin d’estimer une courbure verticale variable de la route. Dans ce modèle [DEM88][DIC92][CHA99] la contrainte supplémentaire est de supposer une largeur de chaussée constante et une route sans torsion longitudinale. Mais cette hypothèse est en pratique peu réaliste hors des autoroutes.

    De manière générale il faut bien noter que les différents systèmes cités, dont l’objet essentiel est la détection et/ou la poursuite de voie, travaillent avant tout sur une portion de la chaussée visible relativement proche du véhicule, et s’appuient principalement sur une extraction des marquages. Dans le cadre de VIZIR, la visibilité géométrique doit être évaluée tout au long d’un itinéraire inter-urbain. Pour ce faire, les deux modules du système, celui de détection et celui d’estimation, doivent pouvoir travailler sur l’extrémité visible de la route. Au loin, les marquages ne peuvent plus être détectés[TAR07], c’est pourquoi une segmentation « région » de la chaussée est ainsi apparue plus adaptée.

    La segmentation de l’image routière est présentée dans une première partie. L’algorithme proposé opère une classification adaptative supervisée de chaque pixel en deux classes : Chaussée (C) et Autre (A). Cet algorithme est rendu robuste en exploitant les possibilités offertes d’un traitement hors ligne des données. Dans une seconde partie, un algorithme d’estimation « région » est présenté, il travaille directement sur les cartes de probabilité calculées lors de la segmentation. L’algorithme proposé suit un schéma itératif alterné permettant d’estimer à la fois la position de la ligne d’horizon et la forme des bords de la route.

    32/54

  • Mesure de la visibilité géométrique par la 3D

    3.1.1 - Segmentation par classification probabiliste adaptative

    Figure 30 : Exemple de scène routière à segmenter. Présence d’ombres et changement de revêtement.

    Bien que la des travaux récents sur la poursuite de voie proposent des algorithmes basés sur les contours[SOU01][WAN00][JUN05][TAR07][TAR02][TAR03], des travaux antérieurs ont portés sur la détection dense de la route en la considérant comme un problème de classification des pixels en deux classes, ceci de manière supervisée [THO88][TUR88][SAN92], ou non [CRI91][CNG98]. Toutes ces études font face à la même difficulté : la détection doit être réalisée sur un itinéraire au long duquel l’apparence de la chaussée est susceptible de varier fortement à cause soit d’un changement dans le revêtement utilisé, soit d’une hétérogénéité locale de l’état de la surface (sèche, humide ou mouillée) soit encore à cause des conditions d’éclairement, voir la Figure 30 :

    • En extérieur, les ombres modifient l’intensité et les composantes chromatiques du signal (décalage vers le bleu)

    • Le soleil, dans le cas d’une incidence rasante et/ou en présence d’eau sur la chaussée, entraîne des réflexions spéculaires.

    Du fait de l’absence d’un modèle de transformation bien identifié du signal couleur qui s’oppose à l’emploi de caractéristiques invariantes suffisamment discriminantes, nous avons opté pour un schéma de classification à même de gérer des distributions caractéristiques possiblement complexes.

    Dans l’ensemble des tests réalisés, aucune primitive caractéristique de la texture, ou structuration spatiale du signal (énergie de Gabor, entropie locale, moments des matrices de co-occurrence) n’est apparue suffisamment discriminante, contrairement au cas de la segmentation de chemin[RAS04], et leur emploi s’est avéré trop dépendant de la structure du « fond ».

    Concernant le choix de l’espace couleur, nous avons retenu l’espace L,a*,b* qui a pour avantage d’être quasi-décorrélé. Il est ainsi facile d’adapter la granularité de l’espace caractéristique et si besoin, une métrique psycho-perceptive peut être associée aux résultats de classification.

    3.1.1.1 - Les fenêtres de Parzen

    La classification dense des pixels de l’image en deux classes, Chaussée (C) et Autre (A), est basée sur les règles de décision bayésienne : étant donné un vecteur caractéristique x, la probabilité a posteriori d’observer un pixel Chaussée s’écrit :

    )()()()()()(

    )(APCPCPCP

    CPCPCP

    xxx

    x+

    = (7)

    Considérant les multiples variations possibles de l’aspect de la route, le fait d’utiliser le signal couleur complet comme vecteur caractéristique (x = [L,a*,b*]) implique que les classes Chaussée et Autre ne peuvent être réduites à des fonctions de densité de probabilités (f.d.p.) de forme analytique simple ou centrées sur un nombre connu a priori de vecteurs prototypes. Nous avons donc utilisé les fenêtres de

    33/54

  • Mesure de la visibilité géométrique par la 3D

    Parzen afin d’approcher les f.d.p. de chaque classe. En choisissant pour noyau de Parzen des fonctions gaussiennes de moyenne nulle et de matrice de covariance diagonale Σd, la f.d.p. p(x C ) est donnée par :

    ∑=

    −−Σ−−=N

    i

    idieN

    Cp1

    2/)(1)(

    211)( xxxxx

    πσ

    où { xi, i = 1… N } est l’ensemble des vecteurs caractéristiques d’un échantillon de pixels Chaussée. La f.d.p de la classe Autre peut être modélisée de façon similaire.

    Dans le cas d’une classification L,a*,b*, l’implantation pratique de l’estimateur de f.d.p par la méthode des fenêtres de Parzen met en œuvre deux matrices 3D notées PC et PA. Les dimensions de ces matrices dépendent de la dynamique du signal. En pratique, une adéquation est faite entre les dimensions effectives de ces matrices et la bande passante de Σd afin de réduire le coût de la phase d’apprentissage. Pour un signal couleur 24-bits, on utilise typiquement deux matrices de dimensions 64 3 (une dégradation sensible des résultats de classification ne se fait sentir que pour des tailles inférieures à 32 3). Afin de mieux gérer les forts changement d’aspects dus notamment aux