• Aucun résultat trouvé

Mise en place d’un processus de dessin automatisé de plans d’intérieurs à partir de nuages de points acquis par LIDAR

N/A
N/A
Protected

Academic year: 2021

Partager "Mise en place d’un processus de dessin automatisé de plans d’intérieurs à partir de nuages de points acquis par LIDAR"

Copied!
68
0
0

Texte intégral

(1)

HAL Id: dumas-01836372

https://dumas.ccsd.cnrs.fr/dumas-01836372

Submitted on 12 Jul 2018

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Mise en place d’un processus de dessin automatisé de

plans d’intérieurs à partir de nuages de points acquis par

LIDAR

Léa Talec

To cite this version:

Léa Talec. Mise en place d’un processus de dessin automatisé de plans d’intérieurs à partir de nuages de points acquis par LIDAR. Sciences de l’ingénieur [physics]. 2017. �dumas-01836372�

(2)

CONSERVATOIRE NATIONAL DES ARTS ET METIERS ECOLE SUPERIEURE DES GEOMETRES ET TOPOGRAPHES

___________________

MEMOIRE

présenté en vue d'obtenir le DIPLOME D'INGENIEUR CNAM

SPECIALITE : Géomètre et Topographe

par

Léa TALEC

___________________

Mise en place d’un processus de dessin automatisé de plans

d’intérieurs à partir de nuages de points acquis par LIDAR

Soutenu le 06 juillet 2017 _________________

JURY PRESIDENT : Monsieur Jean-Marie SEÏTE

MEMBRES : Monsieur Gwenaël SAGNE Maitre de stage Monsieur Jeremie ROBERT Professeur référent Monsieur Jordi ATTENCIA

(3)

Remerciements

Tout d’abord, je souhaite remercier profondément tous les membres de GEOMAT Fougères pour m’avoir si bien accueilli au sein la société et plus particulièrement à tous ceux du service topographie, pour leur enthousiasme, leur gentillesse et leurs encouragements.

Je remercie également M. Gwenaël SAGNE, mon maître de stage pour son encadrement et ses conseils qui ont été des atouts précieux pour mener le projet à bien.

Je remercie M. Jordi ATTENCIA et M. Romain EZANNIC pour toute l’aide qu’ils m’ont apportée au cours de ses cinq mois, qu’elle ait été méthodologique ou technique.

Je tiens à exprimer ma reconnaissance à M. Jeremie ROBERT, mon professeur référant, pour sa disponibilité, pour ses conseils dans la rédaction de ce mémoire et pour son soutien tout au long de ce stage.

(4)

Liste des abréviations

BIM : Building Information Modeling IMMS : Indoor Mobile Mapping System LIDAR : LIght Detection And Ranging

SLAM : Simultaneous Localisation And Mapping RANSAC : RANdom SAmple Concensus

(5)

Glossaire

LIDAR : technique de mesure à distance fondée sur l'analyse des propriétés d'un faisceau de lumière renvoyé vers son émetteur

SLAM : algorithmes intégrés à un robot qui lui permettent de créer une carte de son environnement et de s’y repérer simultanément.

Masques : objets présents dans l’environnement du scanner qui vont dissimuler en partie ce qui se trouve derrière eux et empêcher le laser de pouvoir y prendre des points. Cela crée des zones de vide dans le nuage de points.

(6)

Table des matières

Remerciements ... 2

Liste des abréviations ... 3

Glossaire ... 4

Table des matières ... 5

Introduction ... 7

I ÉTAT DE L’ART... 9

I.1 SOLUTIONS COMMERCIALES... 9

I.1.1 « Méthodes manuelles »... 10

I.1.1.1 Tachéomètre ... 10

I.1.1.2 Distancemètre et croquis ... 10

I.1.2 Solution automatisée et semi-automatisée ... 10

I.1.2.1 Logiciel PIC ... 10

I.1.2.2 Logiciel Build2Map ... 11

I.1.3 Scanner ... 12

I.1.3.1 Scanner statique... 12

I.1.3.1.1 Faro ... 13

I.1.3.1.2 Leica... 13

I.1.3.1.3 Trimble... 14

I.1.3.1.4 Récapitulatif des scanners statiques ... 14

I.1.3.2 Scanner mobile... 15

I.1.3.2.1 Faro Freestyle 3D ... 15

I.1.3.2.2 IMMS... 16

I.1.3.3 Logiciel de traitement de données 3D ... 17

I.1.3.3.1 3DReshaper... 17

I.1.3.3.2 Cyclone ... 18

I.1.3.3.3 RealWorks... 19

I.1.3.3.4 Scene ... 20

I.1.3.4 Logiciels de modélisation... 21

I.1.3.4.1 CloudWorks ... 21

I.1.3.4.2 PointCab... 22

I.1.3.4.3 Virtusurv ... 23

I.1.3.4.4 Point Sense... 23

I.2 SOLUTIONS UNIVERSITAIRES... 24

I.2.1 Thèse de Hakim BOULAASSAL (INSA 2010) : Segmentation et modélisation géométrique de façades de bâtiments à partir de relevés laser terrestres... 24

I.2.2 PFE de Selma BIDINO (INSA 2013) : Extraction automatique de coupe à partir de nuage de points ... 25

I.2.3 TFE de Maxime RENAUD (ESGT 2016) : Création automatique d’une maquette numérique 3D d’un bâtiment à partir d’un relevé scanner laser 3D... 26

II DEVELOPPEMENT D’UNE SOLUTION D’AUTOMATISATION... 28

II.1 DIFFERENTES METHODES DE DETECTION DE CONTOURS... 28

II.1.1 La méthode des Moindres Carrés... 29

II.1.2 La transformée de Hough... 29

II.1.3 L’algorithme de RANSAC ... 31

II.2 LES DIFFERENTES ETAPES DE L’ALGORITHME... 32

II.2.1 La coupe du nuage ... 32

II.2.2 Le format de points en entrée... 32

II.2.3 Suppression des doublons ... 33

(7)

II.2.5 Segmentation par histogrammes ... 35

II.2.6 Application des contraintes... 35

II.2.7 Détermination des liaisons manquantes ... 36

II.2.8 Assemblage des lignes ... 37

II.2.9 Comparaison avec le nuage ... 38

II.2.10 Exportation... 38

II.2.11 Affichage des résultats ... 38

II.2.12 Développement d’une interface ... 39

II.3 POSSIBILITES DE DEVELOPPEMENT... 41

II.3.1 Détection de la structure sur les étages supérieurs... 41

II.3.2 Détection des ouvertures... 42

III RESULTATS... 43

III.1 RESULTATS GENERAUX... 44

III.1.1 Influence des données d’entrée ... 44

III.1.1.1 Importation... 44

III.1.1.2 Suppression des doublons ... 44

III.1.2 Influence des paramètres... 44

III.1.2.1 Échelle du plan ... 44

III.1.2.2 Seuil de fin de détection ... 45

III.1.2.3 Nombre d’itérations... 45

III.1.2.4 Seuils de l’histogramme ... 46

III.1.2.5 Utilisation des moindres carrés ... 47

III.1.3 Temps de traitement... 47

III.2 QUALITE DES RESULTATS... 48

III.2.1 Erreurs observées ... 48

III.2.2 Comparaison avec AutoCAD... 49

III.2.2.1 Comparaison avec le plan automatique ... 49

III.2.2.2 Comparaison avec le plan automatique modifié... 52

III.3 OBSERVATIONS QUALITATIVES SUR L’ENSEMBLE DU TRAVAIL... 53

Conclusion... 55

Bibliographie ... 57

Table des annexes... 59

Annexe 1 Présentation de la société ... 60

Annexe 2 Tableau comparatif des distances entre points... 61

Annexe 3 Tableau comparatif des distances entre points (suite)... 62

Annexe 4 Tableau comparatif des points ... 63

Annexe 5 Tableau comparatif des points (suite) ... 64

Liste des figures... 65

(8)

Introduction

Pour un géomètre, la création de plans est une partie très importante du métier. Il s’agit de la référence sur lesquels peuvent se baser différents travaux. Le dessin de plans d’intérieur est et restera donc toujours d’actualité.

Il s’agit pour les clients d‘obtenir un plan du levé de la structure et les installations des bâtiments sur le terrain. Il existe une multiplicité de méthodes qui permettent de représenter toutes ses informations.

Cependant sa méthode de réalisation a subi des évolutions majeures depuis ses débuts. Si les plans se faisaient par le report de cotes prises à la chaine sur un croquis au début, il existe à présent des logiciels de dessin automatique et contraint.

Le cabinet GEOMAT à Fougères est le siège principal de la SELAS du même nom. Les quatorze autres sites sont répartis sur le Grand Ouest. Elle possède également une filiale, TECAM, bureau d’étude VRD

Pratiquant des activités variées, la société occupe une partie du travail dans des activités foncières telles que le bornage, la copropriété, …

Le cabinet de Fougères est divisé en plusieurs services, chacun dirigé par un Géomètre – Expert. L’un d’eux est le service topographie dirigé par Gwenael SAGNE. Ce service est composé de 7 personnes : 3 géomètres et quatre techniciens. Il s’occupe des marchés publics et intervient pour les communes et les départements d’Ille-et-Vilaine, de Mayenne, de Sarthe.

La plupart des activités incluent des chantiers topographiques et fonciers mais également tout ce qui attrait à l’acquisition de données 3D. En effet il existe un marché pour le relevé de l’existant qui est en pleine expansion que ce soit avec le développement du BIM mais également par la multiplication des chantiers de réhabilitation.

La Région Bretagne a confié à plusieurs cabinets, dont celui de GEOMAT, un contrat pour le levé d’intérieur de lycées dans le cadre d’un programme de rénovation des établissements scolaires. Projet de grande envergure, important surtout par la surface des établissements (entre 20 000m² et 60 000m²), non seulement à lever mais aussi à dessiner.

Afin d’être efficace, il faut que le levé et le dessin soient rapide et précis. La méthode de levé décidée a été celle par scanner 3D, statique et mobile, suivant la configuration des lieux. Ce genre d’acquisition est maitrisé et ne peut pas être réellement amélioré. Il en est de même pour ce qui est du traitement et de l’assemblage des nuages. Cependant, ce ne sont pas ces parties qui prennent du temps, contrairement à la création du dessin. Il s’agit, dans la plupart des cas, de dessiner l’enveloppe extérieure qui a été levée au scanner P30, ensuite de dessiner l’intérieur, la structure avant de faire l’habillage des portes, des fenêtres et des objets selon la charte du client. Ces objets désirés ne sont souvent visibles que sur les photos du scanner et non sur une coupe du nuage. Dans ce cas, l’intervention d’une personne

(9)

semble indispensable. Cependant tout ce qui concerne la structure et la menuiserie est toujours visible sur le nuage de points. De plus, sur les grands bâtiments tels les usines ou les établissements scolaires, une partie de la structure (poteaux, murs porteurs) se répètera sur les étages supérieurs.

Le cabinet cherche donc à automatiser le dessin de la structure des bâtiments levés, ainsi qu’à y mettre les contraintes simples qu’il est possible de retrouver sur les bâtiments récents (perpendicularité, parallélisme, alignements) dans un premier temps. Ensuite, dans un deuxième temps et dans la mesure du possible, continuer le travail en vérifiant si la structure des étages supérieurs à partir du premier dessin ou en faisant une détection des ouvertures présentes.

Ce rapport se divise en deux grands chapitres. En premier lieu, il explorera l’état présent des manières de traiter le plan d’intérieur, ainsi que des solutions déjà existantes dans ce domaine pour améliorer le temps de travail. Dans une seconde partie, il sera présenté une solution d’automatisation. Dans une seconde partie, il sera présenté une solution d’automatisation. Nous conclurons par une analyse de la qualité des résultats.

(10)

I

État de l’Art

Le plan d’intérieur est un outil utilisé depuis longtemps. Il permet d’avoir un état des lieux du bâtiment, qui peut être utilisé pour des projets futurs ou simplement pour pouvoir connaître sa disposition actuelle.

Il existe principalement deux catégories de plans d’intérieur : les plans au 1/100e et ceux au 1/50e.

Les plans établis au 1/100e sont souvent utilisés dans le cadre de ventes ou de locations. Ils permettent de visualiser de manière claire l’intérieur du bâtiment dessiné pour les potentiels acquéreurs ou locataires. Ils comportent le plus souvent au moins deux cotes, la hauteur sous plafond, l’indication de la destination et de la surface pour chaque pièce dessinée. Ils peuvent accompagner une certification de surface selon la loi Carrez1, obligatoire pour toute

transaction portant sur un appartement ou une maison en copropriété.

Les plans d’intérieur établis au 1/50e comportent, du fait de leur échelle plus précise, plus de détails qu’un plan au 1/100e. Les cotes sont plus détaillées au niveau des pièces, des murs ainsi que des ouvertures. Les installations sanitaires, de plomberie, de chauffage sont indiquées avec plus de précisions.

Nous verrons dans un premier temps les solutions commerciales pouvant s’approcher de notre projet, puis les outils développés lors de travaux universitaires.

I.1

Solutions commerciales

En ce qui concerne la réalisation de plan d’intérieur, il existe déjà différentes solutions utilisables en cabinet qui ont été développées, que ce soit des solutions plus « manuelles » ou semi-automatisées crées par des éditeurs de logiciel.

Puisque l’objectif de ce TFE est de développer une automatisation du procédé de dessin de plan d’intérieur, il est important de voir les solutions existantes ainsi que les possibilités d’évolution.

(11)

I.1.1 « Méthodes manuelles » I.1.1.1 Tachéomètre

Les plans d’intérieur peuvent être réalisés à l’aide d’un tachéomètre. Il suffit pour cela de se mettre en station dans chacune des pièces et de prendre les points souhaités et nécessaires à la réalisation du plan. Le dessin final peut s’effectuer au bureau ou, grâce à une codification, il est possible de dessiner les bâtiments directement sur le terrain. Néanmoins, ce levé brut peut ne pas répondre aux contraintes de parallélisme et de perpendicularité pouvant exister sur les murs. De plus, la durée des mises en station et du levé d’un grand bâtiment cumulée avec la durée de post-traitement peut être très importante. Ce n’est donc pas une méthode privilégiée par les géomètres.

I.1.1.2 Distancemètre et croquis

La méthode manuelle la plus classique pour concevoir les plans d’intérieur est de faire des croquis des différentes pièces du bâtiment à représenter et d’indiquer sur ceux-ci les cotes prises au distancemètre. À partir de ces informations, le dessin final est réalisé au bureau.

Figure 1: Croquis d'un étage Figure 2: Plan reporté sur ordinateur

Cette solution, bien que très efficace, oblige à prendre du temps sur le terrain et à travailler avec rigueur pour n’oublier aucune mesure (les compléments sont possibles mais à éviter).

I.1.2 Solution automatisée et semi-automatisée I.1.2.1 Logiciel PIC

La société TopStation a développé le logiciel PIC (Plan d’intérieur Compensé). Ce logiciel fonctionne sur une tablette et avec un distancemètre relié par bluetooth ou une station. Les mesures effectuées sur le terrain sont directement transmises au logiciel qui dessine le plan. Il est également possible de compenser les mesures et d’appliquer des contraintes. De plus, il

(12)

existe des possibilités pour l’habillage qui permettent de mettre en forme le plan directement.

Figure 3: Exemple de plan généré sou PIC

Cette méthode, évolution du levé au distancemètre classique, réduit le temps de traitement, cependant elle impose tout de même un certain délai sur le terrain. De plus, si elle semble tout à fait réalisable pour des bâtiments d’envergure raisonnable, le levé de 20 000m² semble certes techniquement envisageable mais sans pertinence économique.

I.1.2.2 Logiciel Build2Map

La société Atlog a produit un logiciel nommé Build2Map. Le distancemètre ou la station peuvent être utilisés avec ce logiciel. En plus de la possibilité de dessiner en 2D, Build2Map permet de créer des volumes 3D.

(13)

Figure 4: Espace de travail du logiciel Build2Map

I.1.3 Scanner

Les méthodes manuelles, bien qu’elles se soient développées durant les dernières années, présentent le désavantage de devoir passer un temps non négligeable sur le terrain notamment dans le cas de bâtiments de dimensions importantes. L’arrivée du scanner et ses progrès très rapides sont venus bouleverser les différentes pratiques.

Beaucoup de constructeurs ont développés leurs propres appareils avec des caractéristiques techniques différentes. Ces caractéristiques définissent souvent l’utilisation qui va en être faite.

Il existe néanmoins deux grandes catégories de scanners : les scanners statiques et les scanners dynamiques ou mobiles.

I.1.3.1 Scanner statique

Le scanner statique consiste à mettre en station l’appareil et de le laisser prendre ses mesures depuis cette position fixe. Nous obtenons ainsi différents petits nuages pour toutes les positions qui ont été faites. Pour pouvoir effectuer un traitement correct par la suite, la pose de cibles est souvent indispensable. Elles permettront d’assembler les différents nuages obtenus. Il existe un grand nombre de scanners, la liste énoncée ci-après est non exhaustive.

(14)

I.1.3.1.1 Faro

La gamme Faro propose différents modèles de scanner. Nous nous proposons d’étudier 3 d’entre eux, les modèles S150, 3D X30, 3D X130, seraient utilisables pour notre projet.

Caractéristiques FocusS 150 FocusX 30 Focus3D X 130

Portée 0.6m - 150m 0.6m - 30m 0.6m - 130m

Précision en distance 1mm à 25m 2mm à 25m 2mm à 25m

Fréquence de mesure 976 000 pts/s 976 000 pts/s 976 000 pts/s

Poids 4.2 kg 5.2 kg 5.2 kg

Tableau 1: Comparaison des appareils Faro

En général, les caractéristiques techniques sont proches sauf pour la portée de l’appareil. Le scanner FARO Laser Scanner FocusS 150 semble le plus adapté pour notre travail. Il présente le double avantage, grâce à sa portée, d’être utilisable à l’intérieur et à l’extérieur (ce qui est intéressant pour le cabinet).

I.1.3.1.2 Leica

Leica propose également différents scanners dont nous avons décidé d’observer rapidement les caractéristiques techniques : C10, P16, P30/P40. Le p30 et P40 possèdent des propriétés très similaires ce qui les rend difficile à différencier, ce pourquoi ils seront présentés ensemble. Caractéristiques C10 P16 P30/P40 Portée 0.1m - 300m 0.4m - 40m 0.4m - 120m ou 270m Précision en distance 6mm à 50m 1.2mm à 40m 1.2mm à 120m Fréquence de mesure 50 000 pts/s 1 000 000 pts/s 1 000 000 pts/s Poids 13 kg 12.25 kg 12.25 kg

Tableau 2: Comparaison des appareils Leica

Le C10, le scanner le plus ancien proposé dans cette partie, a été dépassé par la génération suivante.

Selon les caractéristiques présentées, le P16 est suffisant pour le levé d’intérieur. Cependant si nous souhaitons pouvoir utiliser le scanner dans d’autres cas, les P30 et P40 possèdent des paramètres plus intéressants.

(15)

I.1.3.1.3 Trimble

Nous nous intéresserons ici à trois autres modèles : TX6, TX8 et SX10

Caractéristiques TX6 TX8 SX10

Portée 0.6m – 80m/120m 0.6m - 120m/340m 0.9m – 350m/600m

Précision en distance 2mm à 100m 2mm à 100m 2mm à 100m

Fréquence de mesure 500 000 pts/s 1 000 000 pts/s 1 000 000 pts/s

Poids 11.2 kg 11.2 kg 8.55 kg

Tableau 3: Comparaison des appareils Trimble

L’appareil SX10 possède des caractéristiques intéressantes et l’avantage de combiner une station et un scanner. Cependant, dans le cas où la station n’est pas indispensable, la TX6 semble remplir les conditions pour du levé d’intérieur. La TX8 pourrait être utilisée en intérieur ou en extérieur.

I.1.3.1.4 Récapitulatif des scanners statiques

Caractéristiques FocusS 150 P30/P40 SX10

Portée 0.6m - 150m 0.4m - 120m/270m 0.9m – 350m/600m

Précision en distance 2mm à 10m 3mm à 40m 2mm à 100m

Fréquence de mesure 976 000 pts/s 1 000 000 pts/s 1 000 000 pts/s

Poids 4.2 kg 12.25 kg 8.55 kg

Tableau 4: Comparaison des appareils adaptés pour le levé d’intérieur de chaque marque étudiée

Le scan SX10 possède une fréquence d’acquisition et une précision intéressantes pour nos travaux. Sa portée est à l’inverse moins utile mais pourrait l’être pour d’autres usages.

Le scanner P30/P40 a également des caractéristiques intéressantes en ce qui concerne la fréquence de mesure en plus de la portée même si son poids est le plus important.

Le cabinet possédait déjà un scanner P30, c’est donc avec cet appareil que sera effectuée une partie des relevés.

Le scanner statique, bien que précis, peut tout de même prendre un temps conséquent, en fonction de la durée du scan et des différentes positions qui peuvent être nombreuses.

(16)

I.1.3.2 Scanner mobile

Afin d’améliorer la durée d’acquisition, des scanners mobiles ont été développés. Nous pouvons, par exemple, les retrouver sur les toits de voitures, permettant alors de faire des plans de rues ou de façades. Dans le cas des levés au sein de bâtiments, ils ont été améliorés de manière à être utilisables en intérieur. Cela leur confère une maniabilité qui est inexistante sur les scanners statiques.

Les scanners destinés à créer un modèle 3D d’objets de dimensions réduites pour diverses utilisations ne sont pas le but de cette partie. Nous nous concentrerons sur la présentation de ceux qui peuvent réaliser l’acquisition de pièces complètes. Deux ont particulièrement retenu notre attention.

I.1.3.2.1 Faro Freestyle 3D

Le scanner à main Freestyle 3D, de la société Faro, permet de créer un nuage de manière simple des objets ou des pièces. Il est relié à une tablette sur lequel est installé le logiciel Scene (voir le paragraphe I.1.3.3.4), ce qui permet d’apprécier en direct le développement du nuage.

Il dispose d’un seul Lidar ainsi que de deux caméras infra-rouge et d’une caméra couleur. Accompagné d’une LED, il scanne la surface éclairée.

Du fait de sa petite taille et de sa maniabilité, il est possible de prendre le maximum de détails et d’éviter les masques. Cela peut être très intéressant pour le dessin en post-traitement. Dans le cas où il y a plusieurs scans pour un levé, leur assemblage peut se faire par l’utilisation de cibles. Caractéristiques Freestyle 3D Portée 0.5m - 3m Précision 3D <1.5mm à 0.5m Fréquence de mesure 88 000 pts/s Poids 0.98 kg (sans la tablette)

Tableau 5: Caractéristiques techniques du Faro Freestyle 3D

La densité de points est plus faible, lors d’un passage, que celle des scans statiques, mais du fait qu’il soit portable, l’utilisateur peut repasser comme il le souhaite sur les endroits de son choix.

(17)

Figure 5: Faro Freestyle 3D

Cependant nous retrouvons le même problème qu’avec les levés plus classiques : si ce scanner semble très performant sur espaces réduits, il n’est sans doute pas adapté pour des levés de plus grande envergure. De plus dans le cas de notre étude, certains lycées sont des lycées techniques et possèdent des ateliers dont la structure peut monter jusqu’à 6m, ce qui n’est pas dans les caractéristiques de portée de l’appareil.

Son utilisation en tant que complément pour des levés plus précis, ou des levés de structures trop complexes ou trop étroites pour avoir un scan statique, semble néanmoins possible et très intéressante.

I.1.3.2.2 IMMS

Cette solution a été développée par la société Viametris. IMMS signifie Indoor Mobile

Mapping System. Il s’agit d’un chariot supportant trois profilers accompagnés d’une centrale

inertielle et d’une caméra 360°. Au contraire de l’outil précédent, l’IMMS ne possède pas de lumière intégrée ce qui peut rendre les photos inutilisables en cas de local sombre ou mal éclairé.

L’avantage non négligeable est de pouvoir scanner en continu tout en se déplaçant. Cela permet un temps d’acquisition plus rapide qu’avec l’utilisation d’un scanner statique et de la pose de cibles.

Afin de pouvoir créer le nuage, les points doivent avoir des coordonnées ; il faut donc que l’appareil se repère dans l’espace. Pour cela, sa position est déterminée par la méthode SLAM (Simultaneous Localization And Mapping). Celle-ci, peut amener des déformations dans le nuage créé.

(18)

Caractéristiques IMMS

Portée 0.1m - 30m

Précision 3D <1.5mm à 0.5m

Fréquence de mesure 85 000 pts/s

Poids 34 kg

Tableau 6 : Caractéristiques techniques de l’IMMS

Du fait de la technologie SLAM, le calcul de trajectoire est moins précis et les scans souvent plus bruités compte tenu de l’utilisation de profilers. Ainsi les résultats obtenus par l’IMMS sont de moins bonne qualité que ceux pris par un scan statique. De ce fait, il peut exister des erreurs dans le nuage. Le dessinateur aura alors des difficultés dans la réalisation de son plan.

Figure 6 : scanner d’intérieur IMMS

Le fait de pouvoir se déplacer permet d’éliminer un certain nombre de masques et d’économiser du temps puisque la question de l’emplacement du scanner ne se pose pas et que l’IMMS passe dans toute la pièce (si cela est possible). Il reste néanmoins les masques créés par le mobilier.

I.1.3.3 Logiciel de traitement de données 3D

Après avoir scanné le bâtiment voulu, il est indispensable de traiter les données 3D avant de dessiner, que ce soit en scanner statique ou mobile. Cela permet de géoréférencer le nuage et dans le cas où il y en aurait plusieurs de les assembler. Il existe également dans ce domaine plusieurs solutions développées pour améliorer l’efficacité des géomètres. La liste présentée ci-après est non exhaustive.

I.1.3.3.1 3DReshaper

3DReshaper est une solution de la société Technodigit.

Du fait qu’il ne s’agisse pas d’un logiciel conçu par une société créant également des scanners, il possède une grande diversité de formats de fichiers d’entrée

(19)

Figure 7: Vue de projet sur 3DReshaper (source: http://www.3dreshaper.com/en/Table/news-software-en/topicality/ )

Il permet le traitement de nuage de points mais également la création d’un maillage, la reconstruction des surfaces ou le calcul des formes géométriques.

Cependant, si l’idée de faire un maillage pour ensuite faire une coupe horizontale et donc obtenir le plan d’intérieur a du mérite, nous pouvons imaginer le travail que cela demanderait. En ce qui concerne les extérieurs, il est certainement plus simple de déterminer les différents plans qui composent le bâtiment. Pour ce qui est des intérieurs, nous pouvons difficilement imaginer faire le même travail. En effet, le nombre de plans est beaucoup plus important et le nuage n’est pas forcément assez propre pour faire une détection de plans.

I.1.3.3.2 Cyclone

Cyclone est un logiciel autonome développé par Leica. Il permet d’effectuer des traitements relatifs au nuage de points. Pour cela le logiciel se décompose en plusieurs modules, qui permettent d’effectuer différentes actions en fonction des résultats voulus.

Dans notre cas, le module REGISTER est adapté pour l’enregistrement et le géoréférencement des nuages traités. Il permet également leur assemblage, avec ou sans cibles.

Visuellement, Cyclone se constitue sous forme d’arborescence. Nous pouvons y voir dans le projet voulu, les différents scans pris ainsi que les photos et le nuage assemblé après traitement.

L’interface est peu conviviale et pas forcément intuitive, mais Cyclone propose une suite possible sur les logiciels de CAO avec CloudWorks, ce qui est un élément intéressant.

(20)

Figure 8: Interface Cyclone

(source: http://gmv.cast.uark.edu/scanning-2/software/leica-cyclone/ )

I.1.3.3.3 RealWorks

Ce logiciel a été développé par la société Trimble et permet l’importation, le traitement et l’exportation des nuages 3D. L’une des forces de ce logiciel est de pouvoir traiter des données conséquentes. Il permet également d’assembler des nuages (assemblage nuage-nuage), par le procédé de détection de points commun.

Le logiciel dispose également des outils de traitement de nuage (segmentation, échantillonnage, …) ainsi que d’outils 2D et 3D permettant de créer des coupes, des orthophotos, des volumes, ….

(21)

Figure 9: Interface de travail RealWorks (source:)

I.1.3.3.4 Scene

Il s’agit du logiciel de traitement de nuages de points 3D de Faro, en complément de la gamme de scanner que la société propose. Bien que proposé en priorité aux utilisateurs de d’appareil de la marque, le logiciel permet également d’importer des fichiers de différentes origines.

Scene possède un système d’assemblage simplifié grâce à la reconnaissance automatique d’objets, il peut de fonctionner avec ou sans cibles sur le terrain.

(22)

Figure 10: Vue de travail sur le logiciel scene (source : http://www.faro.com/fr-fr/produits/logiciels-faro/scene/apercu )

Ce logiciel possède une interface attrayante et intuitive. L’exportation vers des logiciels de CAO est également possible.

Une fois traitées et importées, les données 3D doivent être modélisées. Pour cela il existe également plusieurs solutions développées.

I.1.3.4 Logiciels de modélisation

Afin de continuer dans le processus qui permettrait la création de plan d’intérieur de manière automatique, il existe des logiciels qui permettent de modéliser des coupes et plans 2D à partir d’un traitement de nuage 3D. Il s’agit souvent d’une possibilité de traitement dans le logiciel mais ils ne sont pas destinés uniquement à faire de la 2D.

I.1.3.4.1 CloudWorks

Il s’agit d’un plug-in d’AutoCAD, développé par Leica pour compléter le travail effectué par le logiciel Cyclone. Il permet d’effectuer des coupes sur les nuages assemblés préalablement. Ainsi, il devient facile de dessiner des plans 2D sur ces coupes. Ce plug-in est répandu et maîtrisé par les personnes du service, cependant le besoin d’une licence limite le nombre de personnes à pouvoir l’utiliser en même temps.

(23)

Figure 11: Cloudworks sous AutoCAD (source: )

I.1.3.4.2 PointCab

Il s’agit d’un logiciel possédant plusieurs modules. Le module standard permet l’importation de scans et d’utiliser ces nuages de points pour en faire des plans et des coupes 2D. Il est adapté pour faire des travaux d’architecte. Cependant pour avoir un plan de bonne qualité, il faut que le levé fait en amont soit lui-même très bon, ce qui n’est pas toujours le cas.

(24)

Ce logiciel offre donc la possibilité facile et rapide de créer des plans d’intérieurs à partir de scans de bâtiments. L’un des inconvénients est que le plan se fait à la hauteur décidée par l’opérateur. Ainsi pour avoir les ouvertures, il est possible de se retrouver avec une partie du mobilier également.

Ce logiciel est compatible avec un large éventail de format d’entrée, que ce soit celui de Leica, Faro, Trimble, … PointCab est également utilisable avec un certain nombre de système de CAO comme AutoCAD, Revit, Microstation, DraftSight, ARCHICAD, Sketchup, ….

Il existe plusieurs formats possibles pour l’importation sur PointCab, un peu moins à l’export mais DWG et DXF en fait partie.

I.1.3.4.3 Virtusurv

Développé par Kubit (racheté par Faro). Ce plug-in est installable sur Revit ou AutoCAD. Dans le premier cas, il permettra de créer une maquette 3D du bâtiment et dans le deuxième de créer des plans 2D.

Figure 13: Virtusurv utilisé en parllèle d'AutoCAD (source: )

Le dessin des différentes parties du plan se fait par la visualisation des photos 360° prises par le scan et le clic sur les positions intéressantes sur ces photos.

I.1.3.4.4 Point Sense

Développé par Kubit également, il dispose également de plusieurs modules. Points Sense Building est un module qui permet d’extraire des plans 2D de scans 3D. Il est intégré dans l’environnement AutoCAD. Il permet de dessiner des coupes 2D à l’aide d’un nuage de points et des photos du scan. Il est utilisable en parallèle sur Revit ou avec Virtusurv. C’est une aide au dessin très performante avec tous les outils nécessaires pour effectuer un plan d’intérieur complet.

(25)

Figure 14: Interface du logiciel PointSense Building (source :

http://fr.faro3dsoftware.com/CAD/Products/PointSense/3D_Laser_Scanner_Building.php)

I.2

Solutions universitaires

Bien que l’automatisation du dessin à partir de nuage de points ne soit pas encore tout à fait développée dans les différents logiciels commercialisés, la question a beaucoup été abordée dans le cadre de la recherche, notamment par l’intermédiaire de travaux universitaires. Bien que ces travaux aient souvent été effectués dans l’objectif du BIM, les méthodes et raisonnement utilisés sont adaptés pour le TFE.

I.2.1 Thèse de Hakim BOULAASSAL (INSA 2010) : Segmentation et modélisation géométrique de façades de bâtiments à partir de relevés laser terrestres

Dans une première partie, l’auteur nous propose une segmentation de nuage basée sur l’algorithme de RANSAC

Dans sa thèse, Hakim BOULAASSAL nous propose une modélisation géométrique des façades de bâtiments. Cela nous apporte des idées pour le traitement de notre propre nuage. Cependant, une grande partie des traitements consiste à déterminer les plans définis par un ensemble de points : l’utilisation de la triangulation de Delaunay, puis l’extraction des contours se fait grâce à la détermination des arrêtes de triangle longues. Les points qui composent ces triangles sont désignés comme faisant partie d’un contour. Puis il effectue une classification (pour séparer les segments droits des arcs) et une autre classification sur les segments droits afin de déterminer les différentes directions. Cela lui permet de déterminer les intersections entre les différents segments. Les nœuds trouvés sont conservés pour la vectorisation. Il existe également à la suite un traitement des arcs.

(26)

La méthode décrite ci-dessus fonctionne très bien pour dessiner des plans dont les différentes parties sont représentées par une surface de points sur le nuage.

Dans notre cas, il n’y a en théorie pas de surface, la détection des différents segments droits ne peut donc pas se faire de cette manière. Cependant la méthode de vectorisation en passant par une classification était intéressante et aurait pu être explorée avec plus de temps. Cette thèse a néanmoins pu nous conforter dans l’intérêt de l’algorithme de RANSAC pour notre travail.

Figure 15: Classification et vectorisation d’un plan de façade (source: Thèse INSA 2010 Hakim BOULAASSAL)

I.2.2 PFE de Selma BIDINO (INSA 2013) : Extraction automatique de coupe à partir de nuage de points

Ce projet de fin d’étude avait pour objectif de dessiner la coupe architecturale d’une abbaye sur la commune d’Ottmarsheim, près de Strasbourg de manière automatique à partir du nuage de points scanné du bâtiment.

Ce projet se trouvait dans la continuité de la thèse d’Hakim BOULAASSAL et proposait une suite adaptée dans le cas de la problématique. Selma BIDINO a poussé la détection de contours qu’avait exposé la thèse pour l’amener en 3D et ainsi traiter les éléments cylindriques et coniques existants dans son nuage de points. Puis elle a utilisé la vectorisation afin d’obtenir des polylignes 3D qui seraient exportables.

(27)

Bien que le résultat souhaité par Selma BIDINO soit un plan 2D, les traitements effectués au préalable le sont sur le nuage complet 3D. En effet son travail ne se limite pas à la 2D simple (il faut une profondeur sur les coupes d’architecte).

Ce PFE offre des bases très intéressantes en terme de détection de contours pour notre travail bien que celui-ci ne sera que de la 2D.

Figure 16: Superposition de la coupe automatique (rouge) et de la coupe de référence (noir) (Source PFE INSA 2013 Selma BIDINO)

I.2.3 TFE de Maxime RENAUD (ESGT 2016) : Création automatique d’une maquette numérique 3D d’un bâtiment à partir d’un relevé scanner laser 3D

Lors de ce travail de fin d’étude, Maxime RENAUD a développé un plug-in python sous Revit pour la détection de mur sur un nuage de points 3D afin de créer une maquette numérique. Sa méthode commence, après traitement du nuage de points par l’utilisation de l’algorithme de RANSAC afin de détecter les points faisant partie de plans verticaux. Il obtient ainsi des droites représentant ses plans. Ensuite il utilise un histogramme de densité afin de réduire les droites à des segments représentatif des murs définit par les points.

(28)

Figure 17: Passage du plan 2D à la vue 3D par un programme sous Revit (Source TFE ESGT 2016 Maxime RENAUD)

Les solutions automatiques ou semi-automatiques développées lors de travaux universitaires sont assez abondants et de très bonne qualité. Bien que le sujet principal des détections de contours concerne des applicatifs pour le BIM, les idées fournies peuvent être utilisées pour des travaux en 2D.

Hélène MACHER effectuait une thèse à l’INSA en partenariat avec l’Ordre des Géomètres-Experts. Son sujet, « Du nuage de points à la maquette numérique de bâtiment : reconstruction 3D semi-automatique de bâtiments existants » (INSA 2017), montre que, outre le développement du BIM, l’automatisation des travaux est un sujet tout aussi intéressant.

Le cabinet GEOMAT Fougères a fait l’acquisition d’un IMMS afin de réduire le temps passé sur le terrain et d’être plus efficace. Les personnes du service savent donc s’en servir et le post-traitement avant dessin s’en trouve donc facilité.

Le logiciel Cyclone a été retenu pour le traitement des données. En plus d’être déjà utilisé par le service, il permet de faire la passerelle entre les fichiers de sortie du scanner et le logiciel de dessin. De plus, les options et fonctions proposées correspondent aux besoins du cabinet Ainsi le recalage et l’assemblage pourront être effectués ainsi que la création d’une coupe et son importation.

Le dessin dans le service se fait pour le moment sous AutoCAD. Grâce à la création d’orthophotos et l’importation en référence de nuage de points (sans forcément utiliser CloudWorx). Les dessinateurs créent les lignes de chaque mur. Ce travail est long, surtout dans le cas de bâtiment de grande importance tels que les lycées levés.

(29)

II

Développement d’une solution d’automatisation

Il a été vu précédemment que des solutions pour le dessin 2D de plans d’intérieur existaient. Les solutions commerciales privilégient en majorité le développement d’un logiciel d’aide au dessin et non une automatisation de celui-ci. Au contraire, les possibilités envisagées dans les travaux universitaires nous montrent qu’une automatisation est possible. Néanmoins, les développements sont toujours en cours. Si les solutions proposées sont performantes dans leur utilisation, nous proposons d’étudier une solution qui permettrait d’automatiser le processus de dessin de la structure ainsi que d’intégrer dans le processus la mise en place de contraintes qui sont propres à un bâtiment (alignement de la structure, parallélisme des.deux côtés d’un mur, …). Cela permettrait d’effectuer une partie du dessin par la machine et à l’opérateur de n’avoir qu’à vérifier.

Le développement d’une solution personnelle peut se faire de manières bien différentes. Il a d’abord été important d’étudier les solutions déjà existantes ainsi que les demandes du cabinet en termes de résultats pour se diriger vers la solution la plus efficace et efficiente.

Ayant appris de langage python durant ma scolarité, c’est donc vers ce langage que je me suis tournée pour tester les différentes possibilités.

Puisque le cabinet utilise AutoCAD, il a donc été demandé que le fichier de sortie du programme développé puisse être traité par le logiciel. Dans un premier temps il doit permettre la représentation de la structure contrainte d’un bâtiment.

La condensation de la détection de la structure et des portes et fenêtres a été envisagé, cependant au vu des nuages traités et de l’utilisation qui sera faite à postériori du programme, une coupe à plus basse hauteur (1m pour une coupe standard) nous montrerait une grande partie du mobilier toujours présent dans le bâtiment, ce qui perturberait la détection des murs. De plus, les lignes qui composent une ouverture peuvent être trop petites pour être reconnues et donc induire des erreurs dans le dessin final.

II.1

Différentes méthodes de détection de contours

Il existe plusieurs supports pour le développement d’une solution personnelle : les nuages de points ou les orthophotos. Différentes méthodes de détection existent pour ces deux supports. Celles-ci sont développées dans un cours pour master PPMD de l’ENSG intitulé Extraction de

structure donné par Bruno VALLET.

Ce document explique de manière théorique mais détaillée trois méthodes pour extraire les structures dans un nuage de points ou dans une image : les moindres carrés, la transformée de Hough et l’algorithme de RANSAC. Ces méthodes sont proposées avec une comparaison qui

(30)

La comparaison est très explicite mais ne privilégie pas une méthode par rapport à une autre. Celle utilisée dépendra des données d’entrée ainsi que du résultat souhaité.

II.1.1 La méthode des Moindres Carrés

Dans les données 3D étudiées, les points déterminent les surfaces présentes autour du scanner. Ainsi leur agglomération nous permet d’obtenir la structure d’une pièce, le mobilier présent, etc.

Figure 18: Principe de la régression linéaire (Moindres carrés)

Sur un exemple simple, comme celui exposé que la Figure 18, si nous souhaitons utiliser les moindres carrés, il s’agit donc de déterminer la « meilleure droite » de manière à minimiser la somme des distances entre les points et cette droite (ce qui revient à minimiser Σ(axi+b-yi)²). C’est donc une régression linéaire de la forme y = ax+b.

Cependant les moindres carrés permettent de ne trouver qu’une seule régression dans un nuage complet. Ainsi, dans le cas de nuages plus complexes, (comme ceux d’un bâtiment), il faudrait scinder le nuage en différentes parties qui doivent correspondre aux différents murs. Il faudrait ensuite les traiter séparément par la méthode des moindres carrés.

En l’état, la méthode des moindres carrés ne peut être utilisée sur un nuage complet.

II.1.2 La transformée de Hough

La transformée de Hough s’applique sur des images. Elle consiste, à partir de pixels déterminant le contour d’un objet, d’en extraire les lignes. Ces pixels de contour peuvent être définis à partir d’un calcul de gradient, par exemple.

Pour un point, il faut déterminer toutes les droites qui peuvent y passer. Celles-ci sont différenciables par leurs coordonnées polaires : θ, l’angle de la droite et r la distance de la droite à l’origine du repère. L’espace de Hough est la représentation du rayon en fonction de l’angle. Ainsi un point dans l’espace euclidien se représentera par une courbe sinusoïdale dans l’espace de Hough.

(31)

La figure ci-contre illustre que, si plusieurs courbes se croisent en un même point dans l’espace de Hough alors il existe une droite passant par les points transformés dans l’espace euclidien.

Figure 19 : Transformée de Hough sur trois points

Il est donc possible d’utiliser cette transformée sur une image. Une fois les pixels de contours déterminés, la représentation de l’espace de Hough, appelée nappe d’accumulation ou accumulateur nous permet de visualiser les courbes. À l’aide d’un seuillage, il est possible de trouver les meilleures droites, passant par le plus grand nombre de pixels. La Figure 20 montre le protocole utilisé pour la détection de contours par la transformée de Hough sur une image.

(32)

II.1.3 L’algorithme de RANSAC

L’algorithme de RANSAC suit la démarche suivante : dans le cas d’une recherche de lignes dans un nuage de points, le choix de deux points au hasard permet de créer une première droite qui sert de test. Un seuil de distance est fixé. Les points dont la distance à la droite-test est inférieure au seuil sont des points inliers. Les autres points sont considérés comme outliers (voir figure ci-après).

Figure 21: Exemple de détection de ligne avec l'algorithme de RANSAC

Nous recommençons le processus jusqu’à un nombre d’itérations maximal et ne gardons à la fin que la meilleure droite, c’est-à-dire celle qui possède le plus grand nombre d’inliers.

Ce processus peut être répété pour détecter plusieurs lignes. Pour cela il suffit de supprimer les points inliers de la précédente détection pour en effectuer une nouvelle sur les points restants.

Cet algorithme a aussi été présenté dans la thèse d’Hakim BOULAASSAL et utilisé dans le Travail de Fin d’étude de Maxime RENAUD. Dans ces deux mémoires, la qualité de cette méthode est mise en avant.

Après avoir fait des essais, il s’est rapidement révélé que cet algorithme avait une approche simple et facilement programmable. C’est donc cette méthode qui a été retenue pour la détection de contours sur un nuage de points.

(33)

II.2

Les différentes étapes de l’algorithme

Dans cette partie seront développés les différents points qui ont permis la mise en place de la méthode et l’écriture de l’algorithme.

II.2.1 La coupe du nuage

La coupe du nuage se fait sous le logiciel « Cyclone ». Les nuages ont été assemblés préalablement sous le même logiciel. Puisqu’il s’agit de détecter la structure, il faut éviter la présence d’objets parasites tels que les étagères, les portes, les fenêtres, … De plus traiter le nuage entier ne présente ici pas d’intérêt : en effet traiter un trop grand nombre de points ralentirait de manière considérable le temps de calcul. Nous pouvons donc effectuer une coupe à la hauteur désirée, proche du plafond pour éviter les différents objets et ouverture ainsi que d’une épaisseur assez fine pour limiter le nombre de points.

Cependant, sur des nuages de très bonne qualité, le nombre de points peut être encore trop important et peut être réduit par un processus de ré-échantillonnage. Dans les tests suivants, nous utiliserons un échantillonnage spatial à 1 cm.

Afin d’obtenir de meilleurs résultats, il est préférable de nettoyer le nuage. C’est-à-dire d’enlever les points aberrants, ceux qui ne font pas partie de la structure du bâtiment. Il peut s’agir de reflets de vitres ou encore d’objets présents dans la pièce, comme des étagères ou des plantes vertes. Cette opération ne prend pas beaucoup de temps et permettra d’améliorer de manière significative les résultats du programme.

II.2.2 Le format de points en entrée

Nous pouvons ainsi l’exporter facilement sous le format voulu (reshaper, txt, …) Le format choisi au départ est le format XYZ sous txt, puisqu’il est simple à décomposer dans un programme python. Il transmet moins d’informations que d’autres formats mais dans notre cas, qui ne sont pas indispensables.

Par la suite, des améliorations sur la possibilité de l’importation pourront être développées, notamment celle de fichiers sous format compressé, ce qui permettrait une plus rapide prise en charge. De plus, la multiplication des formats permettrait de ne pas limiter l’utilisateur, s’il dispose déjà des fichiers autres que des .txt.

Le format .pts est également un format de fichier utilisé dans le cabinet. Il serait donc intéressant d’insérer la possibilité d’utiliser des fichiers de ce format dans le programme.

(34)

II.2.3 Suppression des doublons

Puisque le but du travail est d’obtenir un plan 2D, la composante verticale a peu d’importance ici. Ainsi, il existe un certain nombre de points dans notre fichier ayant les mêmes coordonnées planimétriques mais un Z différent comme le montre la Figure 22.

Figure 22: Exemple de points dans le fichier d'entrée. En rouge et bleu, exemples de points doublons en planimétrie

Ces points sont donc des doublons en planimétrie, points qui ne nous sont pas utiles et qui vont allonger le temps de calcul s’ils devaient aussi être traités. Nous supprimons donc ces doublons pour ne conserver que des points avec un couple de coordonnées (x,y) unique.

Cette étape n’est pas obligatoire, l’algorithme pourra fonctionner sans l’avoir effectuée. Cependant cela permet de supprimer des points redondants et ainsi d’avoir un nombre de points moins important de points à traiter. C’est la durée totale d’exécution du programme qui s’en trouvera améliorée.

II.2.4 Détection des contours

Les contours seront traités avec l’algorithme de RANSAC, qui a été choisi précédemment. Pour effectuer ce traitement, il nous a fallu définir les paramètres de fonctionnement : cela consiste tout d’abord à choisir la distance de validation, de manière à ce que les dessins obtenus soient conformes aux tolérances attendues.

Ces distances sont relatives à l’échelle à laquelle le plan final sera rendu. Aucune donnée chiffrée n’est précisée dans le guide des prestations, nous avons donc choisi une tolérance de 0,04m pour un plan au 1/100e et de 0,02m pour un plan au 1/50e. La manière dont ces chiffres sont insérés dans le programme est détaillée dans la partie Interface (voir ci-après).

(35)

Le principe de l’algorithme est détaillé dans l’organigramme suivant :

Figure 23: Algorithme de RANSAC

Afin d’obtenir un résultat plus cohérent avec la réalité, nous effectuons une régression linéaire sur les points inliers enregistrés.

Quand la boucle s’arrête, les derniers paramètres de la droite de régression sont enregistrés dans une autre variable ainsi que les points inliers. Ces derniers sont ensuite enlever de la liste de points et nous réappliquons l’algorithme sur les points restants. Cette opération est répétée jusqu’à ce que le seuil de fin soit atteint.

Tant que n<N

(36)

II.2.5 Segmentation par histogrammes

Les lignes trouvées peuvent s’avérer être en partie incorrectes, c’est-à-dire que les points détectés pour tracer la ligne ne représentent qu’une partie presque négligeable de celle-ci. Il nous faut donc pourvoir supprimer ces lignes ou parties de lignes qui ne représentent pas la structure du bâtiment.

Pour cela, nous procédons par un calcul de densité. Nous avançons le long de chaque ligne créée selon un pas (ici celui de 0,005 m a été choisi) et nous observons la présence ou non de points inliers ainsi que la densité. Si la ligne créée ne passe pas sur les points du nuage alors la densité sera nulle. Dans ce cas il faudra limiter les abscisses des nouvelles lignes créées à celles des intervalles de présence de points inliers.

Les seuils qui limitent les longueurs des lignes et les largeurs des espaces intermédiaires ont été fixés à 6 cm chacuns. La détermination de ces seuils est expliquée dans la partie III.1.2.4.

Il est possible de voir sur la Figure 24 que les lignes dessinées s’arrêtent au bon endroit.

Figure 24 : Ligne après seuillage par histogramme

Une autre méthode utilisée dans un premier temps a été de regarder chaque partie de ligne créée à partir de l’intersection de toutes les autres. Nous en déterminions les milieux et si ce dernier possédait dans ses « environs » (déterminés à partir de coordonnées du milieu et de la distance de validation), alors ce milieu était validé. Cette méthode fonctionne bien en cas de nombre réduit de lignes et donc de nuages de dimensions également assez petites. Cependant dès que celui-ci devient trop important, la quantité de calcul ralentit considérablement l’exécution du programme.

II.2.6 Application des contraintes

Pour l’application des contraintes, nous appliquons d’abord celles qui concernent le parallélisme et la perpendicularité. Ces particularités sont directement reliées aux coefficients directeurs et aux ordonnées à l’origine de chaque ligne détectée.

(37)

Pour débuter, nous déterminons la plus grande ligne existante ainsi que ses paramètres. Si plusieurs lignes possèdent le même coefficient directeur ou approchant alors elles sont considérées comme parallèles à cette plus grande ligne.

Nous les redressons alors en leur appliquant le coefficient directeur de la plus grande ligne en gardant leurs milieux fixes. Le reste des segments est séparé en différents groupes dont les coefficients sont proches. Nous calculons ensuite la valeur du coefficient que devrait avoir une ligne perpendiculaire. Cette valeur devrait se rapprocher de l’une des valeurs d’un des groupes de segments et nous l’appliquons à tous les membres du groupe trouvé.

S’il existe d’autres groupes de coefficients, nous calculons leurs moyennes et l’appliquons à chaque ligne de ce groupe. Ainsi les lignes de chaque groupe sont parallèles entre elles.

En ce qui concerne la contrainte d’alignement, il s’agit de jouer sur les ordonnées à l’origine. En effet, si elles possèdent la même ordonnée à l’origine ainsi que le même coefficient directeur, cela signifie qu’elles sont alignées. De la même manière que précédemment, nous déterminons différents groupes qui possèdent des ordonnées à l’origine proches Pour chaque groupe, les valeurs sont moyennées puis réappliquées à chaque ligne membre du groupe. Le résultat obtenu est illustré Figure 25.

Figure 25 : Exemple de lignes contraintes (en rouge) par rapport aux lignes d'origine (en noir)

II.2.7 Détermination des liaisons manquantes

(38)

• Les liaisons par prolongement

• Les liaisons où la création d’une nouvelle ligne est nécessaire

En effet, dans le premier cas, il s’agira juste de prolonger (ou raccourcir) deux lignes existantes dans le but de créer l’intersection. Au contraire, dans le deuxième cas, cela s’applique à deux lignes parallèles ayant une liaison perpendiculaire (ou non). Nous sommes obligés dans ce cas de créer une ligne supplémentaire et d’y rattacher les deux lignes origine. Les deux cas sont illustrés par la Figure 26.

Figure 26: Différentes liaisons possibles

Dans les deux cas, l’intersection se fait avec le plus proche voisin. Il faut que ce critère soit respecté pour les deux points à relier : que chacun soit le plus proche voisin de l’autre. Une fois ce critère validé, nous calculons les paramètres de la liaison, notamment le coefficient directeur. Si celui-ci est proche d’un des coefficients redressés, alors nous le lui imposons. Sinon, le coefficient est laissé mais la ligne sera indiquée comme à vérifier.

II.2.8 Assemblage des lignes

Le dessin pour un même mur peut être décomposé en plusieurs segments. Il s’agit alors de pouvoir les rassembler pour n’avoir qu’une seule et même ligne représentant le mur. Cela se fait par l’étude des coefficients à partir d’un point de départ. Ce point est choisi comme étant la jointure entre deux segments de cœfficient directeur différent. Ensuite, on progresse le long de la chaine de segments. Si les coefficients sont identiques entre deux lignes consécutives, nous

(39)

continuons la progression. Dans le cas contraire, nous enregistrons les coordonnées du points de départ et de fin avant de reprendre le même processus

II.2.9 Comparaison avec le nuage

Afin de pouvoir avoir une visualisation des potentielles lignes qui ne respectent pas le nuage, une nouvelle étude de densité est effectuée sur les lignes assemblées. Si cette densité est inférieure à un seuil décidé arbitrairement alors cette ligne sera enregistrée

II.2.10 Exportation

Le format d’exportation décidé est le fichier txt. En effet ce format est simple et facilement utilisable pour des utilisations ultérieures. Par exemple, il est simple d’importer un fichier .txt sur AutoCAD par le module Covadis et ainsi avoir le travail de manière directe sur lequel il sera simple d’effectuer des modifications si besoin et de continuer le travail.

Ce fichier de sortie, outre lister les coordonnées des points, doit permettre aussi à l’utilisateur savoir où sont les erreurs détectées par le programme (erreurs, qu’il n’a pas su résoudre).

II.2.11 Affichage des résultats

Afin d’avoir un résultat visuel, nous nous proposons d’afficher le dessin sous AutoCAD. Pour cela, nous utilisons le module Covadis qui va nous permettre de créer tout d’abord une géobase à partir du fichier texte de sortie. Pour que celui-ci soit compréhensible par le logiciel, nous avons besoin d’une codification.

La création de la codification se fait en premier lieu par la création d’un gabarit de calques. Nous avons choisi de ne créer que trois calques : le premier, le calque 0, sera le calque qui recevra les lignes « bien dessinées », le calque « à vérifier » regroupera les lignes et points qui présentent des caractéristiques qui peuvent inciter à la prudence sur leur véracité (par exemple leur longueur ou les lignes avec un coefficient redressé très différent du coefficient d’origine). Le dernier calque sera celui « erreur » qui regroupera les lignes et points sur lesquels le programme a détecté des erreurs (par exemple des lignes qui ne sont pas raccordées)

Grâce à différents codes créés, cela permet de répartir nos objets dans les différents calques et avec la symbologie adaptée comme illustré Figure 27.

(40)

Figure 27: Les différents calques créés par le programme

II.2.12 Développement d’une interface

Nous créons une interface afin d’avoir une meilleure ergonomie pour notre programme. Pour cela Python possède la bibliothèque Tkinter. Celle-ci nous permet de présenter une fenêtre d’affichage à l’utilisateur avec les boutons (parcourir, validation ...) et les zones de saisie voulues. Cela nous permettra d’entrer les paramètres de manière simple et de faire fonctionner le programme de manière optimisée.

Ainsi il sera plus simple pour l’utilisateur d’utiliser le programme et de saisir ses informations plutôt que de chercher à modifier les lignes nécessaires et de risquer de modifier les mauvais paramètres.

Par cette interface, visible Figure 28, l’utilisateur peut parcourir ses fichiers et choisir celui qu’il veut traiter. Également, il a le choix pour l’échelle du plan entre 1/50e et 1/100e. De ce choix découlera une précision que l’utilisateur pourra modifier s’il le souhaite. Enfin, il faut renseigner s’il existe des directions verticales dans le nuage, c’est-à-dire s’il existe des directions qui suivraient l’axe Y de notre dessin.

(41)

Figure 28: Première interface

Après validation une deuxième fenêtre (Figure 29) apparaît. La précision découlant de l’échelle. Il est possible de la modifier en cochant le paramètre « Modifier la précision » et en y inscrivant la valeur voulue. Également le nombre d’itération qui sera utilisé est inscrit par défaut et il est également modifiable.

Figure 29: Deuxième interface

Il est important de renseigner dans la première interface s’il existe des murs qui suivent l’axe Y dans le nuage car cela peut générer des problèmes dans les calculs. En effet dans le cas de droites orientées selon l’axe Y, le coefficient directeur est infini (Figure 30) et n’est donc pas utilisable dans les calculs. Dans le cas où l’utilisateur renseigne une direction verticale, le nuage subit une rotation de 10° comme le montre la Figure 31, pour déjouer ce problème. En fin de programme, le dessin subit une rotation inverse pour retrouver son orientation d’origine.

(42)

Figure 30 : Exemple de coefficients de droites Figure 31: Rotation des points de 10°

II.3

Possibilités de développement

La détection de la structure d’un bâtiment avec l’application de contraintes était l’un des objectifs principaux du TFE. Deux autres possibilités ont été envisagées mais du fait de la durée du stage, celles-ci n’ont pas pu être finalisées. Nous proposons néanmoins les pistes pour poursuivre le travail.

II.3.1 Détection de la structure sur les étages supérieurs

Puisque nous avons détecté la structure sur le rez-de-chaussée, nous voulons la réutiliser pour les étages suivants. En effet une partie de la structure du rez-de-chaussée est porteuse (certains murs, piliers) et donc va se retrouver sur les étages supérieurs.

Pour cela, soit nous chargeons le fichier de sortie du premier programme et ne sélectionnons que les points avec un code 1001 ou 1003. Cependant, puisque des modifications ont certainement été faites sur AutoCAD, mieux vaux refaire un export de ces points pour utiliser une structure nette et vérifiée.

Ensuite, nous utilisons ces nouvelles lignes dans une détection du type histogramme de découpage du premier programme. Cela permet de faire un premier état des lieux. Si les lignes précédentes sont retrouvées, nous supprimons les points se trouvant dans l’intervalle de validation. Au contraire, si aucun point ne se trouve dans l’intervalle de validation de la ligne

(43)

alors c’est cette dernière qui est supprimée. Ensuite nous pouvons faire tourner à nouveau l’algorithme de RANSAC sur le nuage de points restants.

II.3.2 Détection des ouvertures

Il nous faut comme données d’entrée l’export corrigé du rez-de-chaussée ainsi qu’une nouvelle coupe du nuage effectuée à 1m du sol.

Dans le cas des portes, celles intérieures ont des dimensions « standard », c’est-à-dire ayant une largeur se terminant par 3 (63 cm, 73 cm…). Nous pouvons donc créer une liste avec les différentes valeurs entre 0.63 m et 2.53m pour que l’algorithme puisse « piocher » dans ces différentes possibilités.

Il s’agit ensuite de refaire un seuillage sur les lignes de l’étage précédent. C’est-à-dire que pour une certaine longueur (un pas de 5 mm par exemple), il doit y avoir des points inliers dans une zone de validation. Si ce critère n’est pas respecté alors il peut exister une ouverture. Si la longueur de la zone de « vide » est proche d’une valeur de la liste des valeurs d’ouverture (à 0.5 cm près par exemple) alors c’est qu’il y en a une, sinon il peut s’agir d’un mur inexistant par rapport à l’étage précédent.

Ainsi qu’une porte soit détectée,il faut qu’elle soit ouverte.

Puis il s’agit de refaire une détection avec l’algorithme de RANSAC en ayant enlevé précédemment les points qui, lors du seuillage, correspondaient à des murs.

(44)

III

Résultats

Un exemple de résultat obtenu se trouve Figure 32. Il est possible de voir facilement les endroits posant problème avec la signalisation orange (calque « à vérifier ») et rouge (calque « Erreur »)

Figure 32:Résultat obtenu par le programme

Il s’agit d’analyser l’influence des différents paramètres utilisés dans le programme sur les résultats ainsi que de faire des analyses qualitatives et quantitatives de nos résultats.

(45)

III.1

Résultats généraux

Le résultat obtenu par le programme n’est pas optimal. Il nécessite une intervention humaine afin d’effectuer les reprises. Celles–ci ont néanmoins bien été signalées et finalement sont assez limitées.

III.1.1 Influence des données d’entrée III.1.1.1 Importation

Le temps de chargement des fichiers .txt est proportionnel au nombre de points importés. Ainsi, l’intérêt de prendre la couche la plus fine du nuage pour le programme prend du sens. Non seulement il y aura beaucoup de points en doublons et de plus cela rallongera la durée d’exécution du programme, temps qui ne sera pas utilisé pour du traitement mais simplement pour le chargement même des données.

III.1.1.2 Suppression des doublons

Le but étant de garder les points de manière à ce que leur coordonnées (x, y) soit unique, la réduction du nuage dépend de la donnée d’entrée. En effet, si la coupe faite sous Cyclone est épaisse alors la probabilité que des points aient des coordonnées (x, y) identiques est élevée. Évidemment plus l’emprise du nuage de départ sera grande, plus le nombre de points à traiter sera important et donc plus la durée de cette étape sera longue.

III.1.2 Influence des paramètres

Le résultat obtenu est dépendant de beaucoup de paramètres. Il y a ceux, modifiables, entrés dans les interfaces mais également des paramètres arbitraires inscrits dans le programme.

III.1.2.1 Échelle du plan

L’échelle du plan, choisie depuis l’interface, est très importante puisqu’elle induit d’autres critères essentiels dans l’algorithme de RANSAC. Tout d’abord, elle détermine la distance de validation que doit avoir un point avec la droite testée pour être considérée comme un point inlier. Nous avons déterminé qu’un plan au 1/100e possédait une distance de validation de 0.04m et un plan au 1/50e avait une de 0.02m. Ainsi les distances de validation seront égales à la moitié de ces précisions demandées pour les plans respectifs.

Non seulement, la distance de validation choisie doit être assez faible pour détecter de manière correcte les différents murs mais en plus elle doit être adaptée à l’échelle du plan, c’est-à-dire qu’elle nous permette de détecter les détails visibles sur un plan au 1/50e et pas sur un au 1/100e.

Figure

Tableau 1: Comparaison des appareils Faro
Tableau 3: Comparaison des appareils Trimble
Tableau 6 : Caractéristiques techniques de l’IMMS
Figure 7: Vue de projet sur 3DReshaper (source: http://www.3dreshaper.com/en/Table/news-software-en/topicality/ )
+7

Références

Documents relatifs

Contrairement à toutes les distances vues jusqu'à maintenant , cette méthode donne des résultats différents quand il y a indépendance des processus marginaux selon la

Cabe señalar también que la iniciación de los procesos de regularización por parte del gobierno español entre los años 2000 y 2005 tuvo una repercusión notable sobre la progresión

Cet article présente une nouvelle méthodologie pour l’estimation de la visibilité de chaque point d’un nuage de points LiDAR depuis une position de prise de vue donnée,

(a) nuage de points initial (les points blancs sont à reconstruire), (b) désoccultation Gaussienne, (c) désoccultation avec notre méthodea.

La scène initiale contient 10 millions de points acquis par LI- DAR terrestre, mais pour des raisons de complexité de cal- cul nous nous sommes restreints à un sous-échantillon

DESSIN AU POCHOIR Dessin au pochoir. Dessin

Sur le premier le segment [P R]. Sur le deuxième la

Relie les points au fur et à mesure à la règle pour découvrir le dessin