0% ont trouvé ce document utile (0 vote)
111 vues68 pages

Automatisation de plans intérieurs LIDAR

Ce document décrit l'état de l'art des solutions existantes pour le dessin automatisé de plans d'intérieurs à partir de nuages de points LIDAR. Il présente différents logiciels et scanners commerciaux, ainsi que des travaux de recherche universitaires sur le sujet. L'objectif est de développer une nouvelle solution automatisée pour répondre aux besoins du cabinet de géomètre-expert.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
111 vues68 pages

Automatisation de plans intérieurs LIDAR

Ce document décrit l'état de l'art des solutions existantes pour le dessin automatisé de plans d'intérieurs à partir de nuages de points LIDAR. Il présente différents logiciels et scanners commerciaux, ainsi que des travaux de recherche universitaires sur le sujet. L'objectif est de développer une nouvelle solution automatisée pour répondre aux besoins du cabinet de géomètre-expert.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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�

HAL Id: dumas-01836372


https://dumas.ccsd.cnrs.fr/dumas-01836372
Submitted on 12 Jul 2018

HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est


archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents
entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non,
lished or not. The documents may come from émanant des établissements d’enseignement et de
teaching and research institutions in France or recherche français ou étrangers, des laboratoires
abroad, or from public or private research centers. publics ou privés.
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
Monsieur Romain EZANNIC
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.

Enfin, je remercie ma famille et mes amis pour leur soutien permanent.


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

CAO : Création Assistée par Ordinateur


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.
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
II.2.4 Détection des contours........................................................................................................ 33

5
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
Liste des tableaux ................................................................................................................ 66

6
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

7
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.

8
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.

1
Loi Carrez : article 46 de la loi n°65-557 du 10 juillet 1965

9
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

10
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.

11
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.

12
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.

13
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.

14
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.

15
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éé.

16
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

17
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.

18
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, ….

19
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.

20
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.

21
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.

Figure 12: Possibilité de coupes et de plans à partir d'un nuage sous Pointcab (source: )

22
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.

23
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.

24
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.

25
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.

Sous Revit, il suffit ensuite d’ajuster les segments puis de créer les murs en 3D.

26
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.

27
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
permet de montrer les avantages et inconvénients de chacune.

28
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.

29
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.

Figure 20: Les différentes étapes de la transformée de Hough (Cours PPMD - ENSG, Bruno VALLET)

30
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.

31
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.

32
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).

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

Tant que n<N


N nombre d’itérations

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.

34
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.

35
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

Après l’application des contraintes, nous devons lier les lignes entre elles et donc créer les
intersections. Pour cela nous avons procédé de deux manières différentes

36
• 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

37
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.

38
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.

39
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.

40
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

41
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.

42
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.

43
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.

44
Plus la distance de validation est élevée, plus les résultats seront imprécis. Puisque ce critère
est aussi utilisé dans la détermination des limites de lignes par histogramme, les erreurs de la
détection ne seront pas corrigées mais presque même confirmées.
Ce critère est aussi utilisé lors de l’imposition des contraintes, lorsqu’il s’agit de comparer les
différentes ordonnées à l’origine des segments.

III.1.2.2 Seuil de fin de détection

Le seuil de fin de détection est très important. En effet, cela va déterminer à quel moment la
détection des lignes par l’algorithme de Ransac va s’arrêter. Il n’est pas nécessaire, voire
même contre-productif, de vouloir avoir une ligne pour chaque point. Certaines lignes ne
représenteront alors aucune direction existante dans le bâtiment mais juste la meilleure
proposition pour détecter le maximum de points restants et (puisqu’il existera forcément des
résidus) cela peut amener à un dessin faux.
Nous avons déterminé que l’algorithme de RANSAC devait s’arrêter quand le pourcentage de
points restants par rapport au nombre de points traités atteignait 10%. Ce seuil, exprimé sous
forme de pourcentage, peut alors varier en fonction du fichier d’entrée, c’est-à-dire en
fonction du nombre de points de départ.

III.1.2.3 Nombre d’itérations

Le nombre d’itérations est un critère délicat. En effet, plus le nombre d’itérations est
important, plus la probabilité que le mur détecté soit correct est forte. Un nombre trop faible
d’itération peut apporter des résultats incorrects. Au contraire un nombre trop important
d’itérations induira un temps de calcul plus important sans forcément améliorer les résultats.
Il s’agit donc de trouver le bon intervalle qui nous permettra la meilleure détection et le
temps de calcul le plus réduit.
Le nombre d’itérations sera peut-être à revoir avec le nuage utilisé lors de la détection. En
effet, plus celui-ci est important, plus il semble logique d’augmenter le nombre d’itérations
pour que la ligne détectée soit représentative de la réalité.

45
Pour un nuage de 3046393 points à l’origine et une précision de 0.04m.

46
III.1.2.5 Utilisation des moindres carrés

Les moindres carrés sont utilisés afin d’améliorer la qualité des murs détectés. La Figure 34 ci-
dessous montre que les différences ne sont pas négligeables. Cependant, cela dépendra aussi
de la qualité du nuage d’origine, puisque plus il sera bruité, plus l’intérêt des moindres carrés
sera pertinent.

Figure 34: Correction effectuée par les moindres carrés

L’algorithme de RANSAC est un bon outil pour la détection de murs à partir de points.
Cependant, il est sujet à des imperfections. Celles-ci pourraient entrainer des décalages et
erreurs dans la suite du programme. Il nous faut une base solide pour pouvoir appliquer les
contraintes que nous souhaitons sur la structure. En cela, l’utilisation des moindres carrés est
adaptée puisqu’elle permet de manière simple d’avoir le résultat souhaité à la fin de
l’algorithme.

III.1.3 Temps de traitement

Le nuage complet a été traité en environ 2h50. L’ordinateur utilisé n’est pas le plus
performant (Intel Core, 3.10 GHz, 5 cœurs, 12.0 Go de RAM, Windows 7 version 64 bits). Les
temps de traitement peuvent être améliorés si le programme est utilisé sur un ordinateur
plus performant.

47
III.2 Qualité des résultats
III.2.1 Erreurs observées

Outre les rectifications faites précédemment par les moindres carrés à la suite de l’algorithme
de RANSAC, il est possible d’observer sur les différents tests des erreurs récurrentes.
• le dessin des courbes : il est possible de deviner leur présence mais elles sont
décomposées en plusieurs segments souvent raccordés avec des angles droits. Leur
forme est donc altérée, parfois de manière très importante jusqu’à ce que nous ne
puissions plus retrouver la géométrie d’origine.
Une solution envisageable pour avoir les courbes correctes serait d’utiliser un algorithme
de RANSAC modifié pour permettre de détecter les différentes formes de cercles
présentes dans un nuage. Cette solution n’a pas été testée mais suggère néanmoins un
temps de calcul supplémentaire qui serait à comparer avec les résultats obtenus pour
s’assurer de la viabilité de cette proposition.

• La longueur des parois : elles sont considérées


parfois comme « trop petites » et ne sont pas
détectées comme le montre la Figure 35. Ce
problème n’a pas de solution évidente.
Cependant augmenter le nombre d’itérations
accroît également la probabilité que ces murs
soient détectés.
Figure 35: Détection insuffisante des murs

Les deux précédents manques dans la détection peuvent


amener des imperfections lors des raccordements des
différentes lignes comme illustré sur la Figure 36.

Figure 36: Erreur de liaison entre une cloison et un mur

• Les masques : ils sont souvent source de problème puisque les lignes détectées s’arrêtent
à un endroit alors qu’elles devraient se prolonger. Cet arrêt induit souvent des erreurs
lors des liaisons entre les différents segments.

48
III.2.2 Comparaison avec AutoCAD

III.2.2.1 Comparaison avec le plan automatique

Le résultat brut du programme est comparé avec le plan effectué manuellement dans le
cadre du dossier sur le lycée Victor et Hélène Basch.
La coupe horizontale ayant été effectuée à 1m du sol, il convient d’être prudent sur les points
de comparaison utilisés. En effet, il existe beaucoup de murs vitrés et d’ouvertures. Nous ne
pouvons pas utiliser leurs contours comme référence puisqu’ils ont une épaisseur moins
importante que la structure qui les entoure.

Figure 37 : Superposition du plan automatique (rouge) et du plan manuel (noir)

Pour effectuer une analyse quantitative intéressante, plusieurs comparaisons ont été faites.
La première est effectuée sur un seul test. Nous comparons la position de points sur le dessin
automatiques avec leur position sur celui manuel. Cent points ont été pris, répartis de
manière équilibrée et pour qu’ils couvrent tout le dessin. Toutes les distances ont été
mesurées positivement. Le graphique suivant est obtenu.

49
Figure 38: Répartition des écarts mesurés entre le plan automatique et le plan manuel

Les écarts se trouvent entre 0 et 9 cm avec une moyenne de 2.6 cm. Nous observons que 81%
d’entre eux sont inférieurs à la précision demandée pour le test qui est de 4cm pour un plan
au 1/100e. De plus, 10% des écarts n’ont pas pu être mesurés puisque le point n’existait pas
sur le dessin automatique.
Globalement, la qualité du dessin est bonne. Il reste néanmoins des écarts importants, bien
qu’ils soient ponctuels. Un écart de 9 cm n’est pas tolérable. Il s’agira donc de recommencer
la comparaison après avoir fait les modifications d’effectueraient un opérateur non averti.
Ces écarts importants peuvent venir d’erreur de tracé visible ou non.

Pour effectuer la deuxième comparaison, nous choisissons cinq points, équirépartis sur le
dessin. Nous avons effectué plusieurs tests avec les mêmes paramètres d’entrée. Il s’agit
donc de comparer pour chacun des tests et chacun des points les écarts avec le plan manuel.
Dans le tableau ci-après se trouvent les différences calculées sur les six tests effectués :
Points D max D min D moy Nombre de distances
supérieures à la précision
1 0.036 0.008 0.022 0
2 0.042 0.006 0.020 1
3 0.031 0.005 0.016 0
4 0.075 0.025 0.048 3
5 0.043 0.020 0.032 1
Tableau 7 : Comparatif des distances pour chaque point sur des tests bruts

50
Nous observons que quelques mesures sont au-dessus de la tolérance de 4 cm demandée sur
un test. Dans la majorité des cas, le dessin automatique est bien dans les tolérances sauf pour
quelques exceptions. Le point 4, par exemple, présentent des écarts parfois très importants.

En premier lieu et au vu des autres résultats, une


vérification sur le dessin fait manuellement a été
effectuée pour être sûr de l’origine de l’erreur. Il a
finalement été observé que le point 4 se situe à
l’intersection de deux murs dont l’un possède une
porte qui donne un petit décroché sur le nuage (voir
figure ci-contre). Ce décroché ne semble pas pris en
compte et le mur se prolonge créant ainsi une
erreur de 1cm environ.
Point 4

Figure 39: Erreur sur le point 4

Ce problème semble néanmoins être très particulier et localisé. Les autres valeurs trouvées ici
dépassant la tolérance ne sont pas de la même envergure et ne sont que de quelques
millimètres. Néanmoins pour éviter ce problème, il est possible de modifier la distance de
validation lors de l’entrée des paramètres. Ainsi nous pouvons la diminuer pour être sûr
d’entrer dans les tolérances.

Enfin nous procédons à une dernière comparaison, toujours avec le dessin déjà effectué
automatiquement mais cette fois-ci sur les distances dans le nuage entre les différents points.

Distances manuelles Distances automatiques Différences


Points
(m) (m) (m)
1->2 53,067 53.061 0.006
2->3 27,721 27.711 0.010
3->4 48,935 48.920 0.015
4->5 28,429 28.432 0.003
5->1 65,717 65.697 0.020
Tableau 8 : Comparatif des longueurs créées manuellement et automatiquement

51
Bien que le point 4 ne soit pas forcément juste, la moyenne des distances est très
satisfaisante et en dessous des tolérances.
Cette analyse quantitative nous montre que le plan tracé à l’aide du programme est de bonne
qualité. Sur plusieurs tests, le tracé se trouve dans les tolérances. Les tableaux récapitulatifs
des valeurs précédentes se trouvent en annexes 2 à 5

III.2.2.2 Comparaison avec le plan automatique modifié

La plupart des modifications à effectuer restent sommaires et sont des prolongements et


intersections de lignes qui ne se sont pas effectués.
Cependant il existe des cas, notamment au niveau des masques dans le nuage où le résultat
de l’automatisation peut amener à des erreurs. En effet puisque le programme a arrêté son
trait sur un point faux, la liaison réalisée est souvent de mauvaise qualité. Cela se remarque
surtout au niveau des piliers et se traduit par une erreur assez visible puisque leurs tailles ne
sont pas identiques.
Nous devons alors reprendre le dessin pour modifier ces problèmes, avec néanmoins le nuage
derrière pour obtenir les distances exactes.

Les mêmes analyses que précédemment ont été faites. Puisque le dessin a été modifié, la
répartition des écarts a subi des changements comme le montre la Figure 40.

Figure 40: Répartition des écarts après modification du dessin

52
Nous retrouvons des écarts entre 0 et 9 cm. La moyenne est de 2.5 cm, elle a donc très
légèrement baissée. 91% des écarts sont inférieurs à la tolérance et 9% sont au-dessus. Tous
les points non dessinés précédemment ont été modifiés et n’existent plus.

Les deux autres comparaisons sur les différents tests ne subissent que des modifications
extrêmement faibles. Ainsi donc les écarts importants relevés sur le dessin automatique ne
sont pas dus à des erreurs de tracé visibles et modifiable facilement par l’opérateur. Une des
raisons pour laquelle les écarts sont plus importants est que les murs n’ont pas de la même
épaisseur sur les deux plans, manuel et automatique.
Par exemple, sur les figures Figure 41 et Figure 42, pour le point 68, un écart de 8.3 cm est
mesuré entre les deux positions. Le mur dessiné sur le plan manuel est de 15.0 cm alors que
celui dessiné par le programme est de 25.1 cm. En mesurant directement sur le nuage, nous
trouvons une distance approximative de 24.1 cm.

Figure 41 : Localisation du point 68 Figure 42: Mesure de la distance sous CloudCompare


En noir, le plan manuel et en rouge celui fait automatiquement

Sur les six écarts les plus importants mesurés, c’est-à-dire entre 5 et 9 cm, trois sont dus à ce
problème d’épaisseur de murs et trois sont des erreurs de tracé à la suite du programme.

III.3 Observations qualitatives sur l’ensemble du travail

Le dessin automatisé fournit des résultats exploitables. Il semble néanmoins nécessaire de


faire une vérification par un opérateur et d’utiliser le nuage d’origine pour contrôler le dessin.
Le temps de traitement sur un ordinateur processeur 3.10 GHz, 12.0 Go de RAM est presque
de 2 heures alors qu’avec un ordinateur processeur 3.40 GHz, 16.0 Go de RAM, la durée
tombe à un peu plus d’une heure. Le choix de l’ordinateur sur lequel va être lancé le

53
programme a donc une importance si nous cherchons à minimiser au maximum les temps de
calculs.
La durée va aussi dépendre de l’interface sur laquelle le programme est lancé. Le langage
utilisé durant tout le temps de ce TFE a été Python mais différentes interfaces ont été
utilisées telles Spyder du package Anaconda ou PyCharm développé par JetBrain. L’utilisation
de Spyder provoquait souvent des ralentissements importants de l’ordinateur mais il a été
utile par sa possibilité d’interroger directement les objets à partir de la fenêtre de sortie, ce
qui n’était pas possible sous PyCharm. C’est cependant ce dernier qui a été retenu pour les
derniers essais car il présentait les temps de calcul les plus réduits sans ralentir la machine.
Au final, si le tracé manuel peut avoir pris une journée, le dessin automatisé en plus de la
vérification peut avoir pris 3h30 – 4h00. Nous avons ainsi un gain de temps d’environ 50%. Ce
gain est non négligeable puisqu’en plus, une partie du traitement est effectué par la machine
seule sans perturber le travail de l’opérateur.

Une autre observation a été faite concernant la qualité du dessin. Elle semble dépendre de
l’étendue couverte par les points du nuage. Plus le nuage sera étendu, plus la qualité des
détails diminue. Dans le cas de nuages plus réduits (ne couvrant que quelques pièces) le
rendu est très bon. Nous pourrions alors envisager de décomposer le nuage global en
plusieurs parties afin de les avoir chacune de manière détaillée. Il faudra alors « recoller » les
différentes parties afin d’avoir un dessin final. Cependant chaque partie risque de ne pas être
cohérentes avec les autres. En effet les paramètres trouvés ne sont jamais identiques selon
les tests bien qu’ils soient très proches. Nous aurions donc des problèmes sur les contraintes
dans le dessin.

Un dernier problème remarqué est que sur AutoCAD, quelques lignes qui devraient être
alignées ne le sont pas. Elles possèdent un écart très faible, inférieur à 0.01mm. Ces décalages
apparaissent lors de la lecture des fichiers .txt par Covadis. En effet, pour être exact, les
coordonnés des points ont été exportés avec 8 décimales. C’est beaucoup trop important
mais cela permet d’être précis. Lors de l’importation, le nombre maximal de décimales
accepté est de 6, sachant que cette sixième décimale est tronquée par 0. Les coordonnées
importées sont donc légèrement différentes de celles calculées par le programme. Il est donc
possible de voir des décalages lors de zoom sur le dessin.
L’une des possibilités pour régler ce problème serait de créer un plug-in AutoCAD avec les
paramètres nécessaires pour que l’affichage se fasse parfaitement. Cependant le manque de
temps pour effectuer cette tâche ne nous a pas permis de le faire.

54
Conclusion
Le but de ce Travail de Fin d’Etude était de proposer une solution pour le dessin de la
structure contrainte de bâtiments à partir de levés scanner. Nous avons pu voir que cette
problématique n’est pas nouvelle et que plusieurs propositions ont déjà été développées. En
effet
Les démarches de plusieurs travaux universitaires ont appuyé le développement de ces
travaux.

Le processus débute par la création d’une coupe dans le nuage à la hauteur désirée, c’est-à-
dire assez proche du plafond pour que les éléments de mobiliers soient minimes et que nous
ayons la majorité des murs visibles. Il faut également nettoyer cette coupe de manière à
enlever les points qui ne font pas partie de la structure. Cela permet d’éviter les problèmes
dans la suite du processus. C’est une étape est très importante qui améliore les résultats de
manière significative.
La deuxième étape du processus consiste à extraire les lignes de contours via le programme
basé sur l’algorithme de RANSAC. Celui-ci permet de chercher la « meilleure droite »
contenant le maximum de points dans son espace de validation. Cette étape est renforcée
par l’utilisation des moindres carrés qui vont affiner les paramètres de la droite trouvée. Afin
de limiter les droites aux segments représentant les murs, une étude de densité est
effectuée.
L’étape suivante consiste à appliquer les contraintes de perpendicularité, parallélisme et
alignement sur les segments avant de générer éventuellement les liaisons manquantes. Afin
d’éviter d’avoir un même mur fragmenté en plusieurs segments, une opération d’assemblage
de ces différentes parties est mise en place.
Certaines imperfections ont pu apparaitre durant l’exécution du programme, celles-ci ont été
gardées en mémoire afin d’être insérées avec un avertissement dans le rendu final. Pour avoir
une meilleure vue des problèmes qui pourraient exister dans le rendu final et pouvoir les
corriger plus facilement, nous effectuons une comparaison de ce rendu avec le nuage
d’origine. Une autre étude de densité est faite, qui permet de localiser les segments
possédant peu ou pas de points à proximité. Ces segments seront signalés comme étant
potentiellement faux. Toutes ces informations sont exportées afin de pouvoir être dessiné
sous AutoCAD par l’intermédiaire de COVADIS.

Une comparaison entre un plan réalisé manuellement et un plan issu du programme a permis
de montrer la fiabilité du programme.
A l’issu de ces 20 semaines, nous avons donc pu mettre en place un programme permettant
de dessiner la structure d’un bâtiment. Les erreurs détectées durant le temps de calcul sont
signalées, ce qui permet d’aider l’utilisateur à faire les corrections finales.

55
Ce travail fut l’occasion de découvrir les attentes en terme de développement client et ainsi
que la satisfaction que peut procurer la mise en place d’une méthode et d’outils associés. Il
m’a permis de mettre en pratique mes connaissances dans un projet concret et prometteur,
pouvant contribuer à l’avancement de dossiers. Le programme n’en est qu’à sa première
version, des améliorations pour obtenir un meilleur rendu de plan sont possibles.

56
Bibliographie
Travaux universitaires
• BOULAASSAL Hakim, Segmentation et modélisation géométriques de façades de
bâtiments à partir de relevés laser terrestres, Mémoire de thèse. Soutenu à
Strasbourg : INSA, 2010, 214p, [En ligne] ; Disponible sur <http://scd-theses.u-
strasbg.fr/1785/01/BOULAASSAL_Hakim_2010.pdf>. (consulté le 03/02/2017)
• BIDNO Selma, Étude de l’extraction automatique de coupe à partir de nuages de
points, Mémoire de PFE, Strasbourg : INSA, 2013, 64p, [en ligne] ; Disponible sur
<http://eprints2.insa-strasbourg.fr/1484/1/Rapport.pdf>. (consulté le 05/02/2017)
• RENAUD Maxime, Création automatique d'une maquette numérique 3D d'un
bâtiment à partir d'un relevé scanner laser 3D, Mémoire de TFE, Le Mans : ESGT,
2016, 64p, (consulté le 05/02/2017)

Sites web
• Openclassrooms. Interfaces graphiques avec Tkinter, [en ligne]. Disponible sur :
<https://openclassrooms.com/courses/apprenez-a-programmer-en-python/des-
interfaces-graphiques-avec-tkinter>. (consulté le 12/03/2017)
• Scipy.org. Index [en ligne]. Disponible sur : <
https://docs.scipy.org/doc/numpy/genindex.html>. (consulté le 17/02/2017)
• Geospatial. Exporter les coordonnées d’entités AutoCAD dans un fichier texte avec
AutoCAD Map 3D [en ligne]. Disponible sur : <
http://geospatialfrance.typepad.com/geospatialfrance/2008/01/exporter-les-
co.html>. (consulté le 16/05/2017)
• LEICA Geosystems. Logiciel de manipulation de nuage de points 3D, [en ligne].
Disponible sur : <http://leica-geosystems.com/fr-fr/products/laser-
scanners/software/leica-cyclone>. (consulté le 06/04/2017)
• Leica Geosystems. Scanners, [en ligne]. Disponible sur : < http://leica-
geosystems.com/products/laser-scanners/scanners/>. (consulté le 06/04/2017)
• FARO. SCENE Logiciel de Documentation 3D, [en ligne]. Disponible sur :
<http://www.faro.com/fr-fr/produits/logiciels-faro/scene/apercu>. (consulté le
06/04/2017)
• FARO. Freestyle, [en ligne]. Disponible sur : < http://pdf.directindustry.fr/pdf/faro-
europe-gmbh-co-kg/fiche-technique-faro-scanner-freestyle-3d-x/21421-633956-
_2.html>. (consulté le 06/04/2017)
• Trimble. Trimble RealWorks, [en ligne]. Disponible sur : <http://www.trimble.com/3d-
laser-scanning/realworks.aspx>. (consulté le 07/04/2017)

57
• Trimble. 3D Scanning Solutions, [en ligne]. Disponible sur : <
http://infogeospatial.trimble.com/3DScanning>. (consulté le 07/04/2017)
• PointCab. Plan et Coupe, [en ligne]. Disponible sur : <http://www.pointcab-
software.com/fr/modules/module-plan/>. (consulté le 06/04/2017)
• Atlog. Buil2Map, [en ligne]. Disponible sur : <http://atlog.net/b2m/index.html>.
(consulté le 06/04/2017)
• FARO Kubit. Vitusurv, [en ligne]. Disponible sur :
<http://us.faro3dsoftware.com/CAD/Products/VirtuSurv/3D_Laserscanning.php>.
(consulté le 06/04/2017)
• Jsinfo. Topstation PIC, [en ligne]. Disponible sur : <
http://www.jsinfo.fr/topstation/applicatifs-metiers/pic-plan-interieur-compense/1>.
(consulté le 06/04/2017)
• Kubit. PointSense Building, [en ligne]. Disponible sur : <
http://www.atamatech.com.my/index.php/software/kubit-softwares/kubit-
pointsense-building>. (consulté le 06/04/2017)
• Viametris. IMS 3D, [en ligne]. Disponible sur : <
http://viametris.info/iMS3D/FR/index.html>. (consulté le 05/04/2017)

Autres documents
• RANSAC – fitting a circle to a set of points [en ligne]. Disponible qur : <
http://users.utcluj.ro/~raluca/prs/prs_lab_02e.pdf>. (consulté le 24/04/2017)
• SLAM la cartographie d’intérieur [en ligne]. Disponible sur
<http://fr.ubergizmo.com/2012/10/02/slam-cartographie-interieur-temps-
reel.html>. (consulté le 02/04/2017)
• Modélisation tridimensionnelle à partir de nuage de points en vue de l’élaboration
de maquette numérique de bâtiment [en ligne]. Disponible sur
<http://gespro.geometre-expert.fr/docs/These/accueil.html>. (consulté le
18/05/2017)
• RANSAC – Python implementation. [en ligne]. Disponible sur
<https://salzis.wordpress.com/2014/06/10/robust-linear-model-estimation-using-
ransac-python-implementation/>. (consulté le 10/02/2017)
• VALLET Bruno. Extraction de structure, Master PPMD, ENSG 55p (consulté le
25/02/2017)

58
Table des annexes
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

59
Annexe 1
Présentation de la société

60
Annexe 2
Tableau comparatif des distances entre points
Nombre de distance distance dessinée écart écart
Numéro Distance de Itération Distance différence écart
durée (s) points mesurée sur le par le programme minimal maximal
des tests validation maximale mesurée (m) moyen (m)
traités plan (m) (m) (m) (m)
1->2 53,067 53,094 0,027
2->3 27,721 27,699 0,022
1 0,02 40 7694 36856698 3->4 48,935 48,934 0,001 0,014 0,001 0,027
4->5 28,429 28,412 0,017
5->1 65,717 65,712 0,005
1->2 53,067 53,072 0,005
2->3 27,721 27,711 0,010
2 0,02 40 7834 36856698 3->4 48,935 48,946 0,011 0,010 0,004 0,019
4->5 28,429 28,410 0,019
5->1 65,717 65,713 0,004
1->2 53,067 53,062 0,005
2->3 27,721 27,708 0,013
3 0,02 40 8181 41902370 3->4 48,935 48,934 0,001 0,012 0,005 0,027
4->5 28,429 28,441 0,012
5->1 65,717 65,690 0,027
1->2 53,067 53,036 0,031
2->3 27,721 27,692 0,029
4 0,02 40 8063 41902370 3->4 48,935 48,918 0,018 0,025 0,003 0,043
4->5 28,429 28,426 0,003
5->1 65,717 65,674 0,043

61
Annexe 3
Tableau comparatif des distances entre points (suite)

Nombre de distance distance dessinée écart écart


Numéro Distance de Itération Distance différence écart
durée (s) points mesurée sur le par le programme minimal maximal
des tests validation maximale mesurée (m) moyen (m)
traités plan (m) (m) (m) (m)
1->2 53,067 53,047 0,031
2->3 27,721 27,751 0,030
5 0,02 40 7756 36856698 3->4 48,935 48,905 0,030 0,020 0,004 0,031
4->5 28,429 28,433 0,004
5->1 65,717 65,712 0,005
1->2 53,067 53,054 0,013
2->3 27,721 27,706 0,015
6 0,02 40 7557 36856698 3->4 48,935 48,883 0,052 0,031 0,013 0,052
4->5 28,429 28,470 0,041
5->1 65,717 65,682 0,035

62
Annexe 4
Tableau comparatif des points
Nombre de écart écart
Numéro des Distance de Itération Numéro de distance écart
durée (s) points dx (m) dy (m) minimal maximal
tests validation maximale point (m) moyen (m)
traités (m) (m)
1 0,006 0,026 0,026
2 0,003 0,015 0,015
1 0,02 40 7694 36856698 3 0,022 0,022 0,031
4 0,027 0,054 0,060
5 0,010 0,030 0,032 0,033 0,015 0,060
1 0,005 0,006 0,008
2 0,004 0,006 0,007
2 0,02 40 7834 36856698 3 0,004 0,002 0,005
4 0,019 0,045 0,049
5 0,020 0,022 0,030 0,020 0,007 0,049
1 0,020 0,006 0,021
2 0,006 0,001 0,006
3 0,02 40 8181 41902370 3 0,005 0,007 0,009
4 0,007 0,039 0,039
5 0,021 0,038 0,043 0,024 0,006 0,043
1 0,017 0,032 0,036
2 0,025 0,020 0,032
4 0,02 40 8063 41902370 3 0,014 0,010 0,018
4 0,001 0,040 0,040
5 0,024 0,010 0,036 0,032 0,018 0,040

63
Annexe 5
Tableau comparatif des points (suite)
Nombre de écart écart
Numéro des Distance de Itération Numéro de distance écart
durée (s) points dx (m) dy (m) minimal maximal
tests validation maximale point (m) moyen (m)
traités (m) (m)
1 0,014 0,013 0,019
2 0,038 0,018 0,042
5 0,02 40 7756 36856698 3 0,014 0,012 0,019
4 0,013 0,021 0,025
5 0,024 0,005 0,020 0,025 0,019 0,042
1 0,005 0,022 0,023
2 0,003 0,011 0,012
6 0,02 40 7557 36856698 3 0,019 0,014 0,023
4 0,027 0,070 0,075
5 0,017 0,003 0,021 0,031 0,012 0,075

64
Liste des figures
Figure 1: Croquis d'un étage ............................................................................................................ 10
Figure 2: Plan reporté sur ordinateur................................................................................................ 10
Figure 3: Exemple de plan généré sou PIC ...................................................................................... 11
Figure 4: Espace de travail du logiciel Build2Map.......................................................................... 12
Figure 5: Faro Freestyle 3D ............................................................................................................. 16
Figure 6 : scanner d’intérieur IMMS................................................................................................ 17
Figure 7: Vue de projet sur 3DReshaper (source: http://www.3dreshaper.com/en/Table/news-
software-en/topicality/ )........................................................................................................... 18
Figure 8: Interface Cyclone.............................................................................................................. 19
Figure 9: Interface de travail RealWorks (source:) .......................................................................... 20
Figure 10: Vue de travail sur le logiciel scene (source : http://www.faro.com/fr-
fr/produits/logiciels-faro/scene/apercu ).................................................................................. 21
Figure 11: Cloudworks sous AutoCAD (source: ) ........................................................................... 22
Figure 12: Possibilité de coupes et de plans à partir d'un nuage sous Pointcab (source: ) ............... 22
Figure 13: Virtusurv utilisé en parllèle d'AutoCAD (source: ) ........................................................ 23
Figure 14: Interface du logiciel PointSense Building (source :
http://fr.faro3dsoftware.com/CAD/Products/PointSense/3D_Laser_Scanner_Building.php). 24
Figure 15: Classification et vectorisation d’un plan de façade (source: Thèse INSA 2010 Hakim
BOULAASSAL) ..................................................................................................................... 25
Figure 16: Superposition de la coupe automatique (rouge) et de la coupe de référence (noir)........ 26
Figure 17: Passage du plan 2D à la vue 3D par un programme sous Revit (Source TFE ESGT 2016
Maxime RENAUD)................................................................................................................. 27
Figure 18: Principe de la régression linéaire (Moindres carrés)....................................................... 29
Figure 19 : Transformée de Hough sur trois points.......................................................................... 30
Figure 20: Les différentes étapes de la transformée de Hough (Cours PPMD - ENSG, Bruno
VALLET) ................................................................................................................................ 30
Figure 21: Exemple de détection de ligne avec l'algorithme de RANSAC...................................... 31
Figure 22: Exemple de points dans le fichier d'entrée...................................................................... 33
Figure 23: Algorithme de RANSAC ................................................................................................ 34
Figure 24 : Ligne après seuillage par histogramme ......................................................................... 35
Figure 25 : Exemple de lignes contraintes (en rouge) par rapport aux lignes d'origine (en noir) .... 36
Figure 26: Différentes liaisons possibles.......................................................................................... 37
Figure 27: Les différents calques créés par le programme............................................................... 39
Figure 28: Première interface........................................................................................................... 40
Figure 29: Deuxième interface......................................................................................................... 40
Figure 30 : Exemple de coefficients de droites ................................................................................ 41
Figure 31: Rotation des points de 10° .............................................................................................. 41
Figure 32:Résultat obtenu par le programme ................................................................................... 43
Figure 33: Variation de la durée de RANSAC et du nombre de lignes détectées en fonction du
nombre d’itérations.................................................................................................................. 46
Figure 34: Correction effectuée par les moindres carrés.................................................................. 47
Figure 35: Détection insuffisante des murs...................................................................................... 48
Figure 36: Erreur de liaison entre une cloison et un mur ................................................................. 48
Figure 37 : Superposition du plan automatique (rouge) et du plan manuel (noir) ........................... 49
Figure 38: Répartition des écarts mesurés entre le plan automatique et le plan manuel.................. 50
Figure 39: Erreur sur le point 4 ........................................................................................................ 51
Figure 40: Répartition des écarts après modification du dessin ....................................................... 52
Figure 41 : Localisation du point 68 ................................................................................................ 53
Figure 42: Mesure de la distance sous CloudCompare .................................................................... 53

65
Liste des tableaux
Tableau 1: Comparaison des appareils Faro..................................................................................... 13
Tableau 2: Comparaison des appareils Leica................................................................................... 13
Tableau 3: Comparaison des appareils Trimble ............................................................................... 14
Tableau 4: Comparaison des appareils adaptés pour le levé d’intérieur de chaque marque étudiée 14
Tableau 5: Caractéristiques techniques du Faro Freestyle 3D ......................................................... 15
Tableau 6 : Caractéristiques techniques de l’IMMS ........................................................................ 17
Tableau 7 : Comparatif des distances pour chaque point sur des tests bruts.................................... 50
Tableau 8 : Comparatif des longueurs créées manuellement et automatiquement........................... 51

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

Mémoire d'Ingénieur C.N.A.M., Le Mans 2017

_________________________________________________________________

RESUME

Afin de pouvoir utiliser les nuages de points, obtenus par scanner dans le but de créer de
plans d’intérieur, de manière plus efficace, un programme sous Python a été développé. Il
permet de détecter la structure sur une coupe du nuage.

Les plans fournis au client, en cas de bâtiments récents, comporte le plus souvent des
contraintes sur la structure tels que la perpendicularité, le parallélisme ou l’alignement de
différents murs, ce pourquoi ces contraintes ont été intégrées dans le programme pour
obtenir un meilleur rendu.

Mots clés : Scanner, nuage de points, programme, Python, plans d’intérieur, contraintes.

_________________________________________________________________

SUMMARY

In order to be able to use point clouds, obtained by scanning, to create interior shots more
efficiently, a program under Python was developed. It allows to detect the structure on a
section of the cloud.

The plans provided to the client in the case of recent buildings usually involve constraints
on the structure such as perpendicularity, parallelism or alignment of different walls, which
is why these constraints have been integrated into the program to obtain the best result.

Key words : Scanner, points cloud, program, Python, interior plans, constraints.

67

Vous aimerez peut-être aussi