Stockage et diffusion des données 3D

A l'intérieur d'un datacenter de Google
A l'intérieur d'un datacenter de Google.

La numérisation 3D par lasergrammétrie et photogrammétrie permet d’accroître considérablement la vélocité de relevé des existants. L’amélioration de la précision des relevés permet de fiabiliser les études liées à l’aménagement des sites ou ouvrages existants, comme par exemple la rénovation de bâtiments.

Mais la contrepartie est bien réelle : un nuage de points ou un mesh est une donnée informatique très volumineuse.

Poids des données de numérisation 3D

Il est banal qu’un modèle issu de la numérisation 3D d’une scène existante dépasse le téraoctet (soit 1 000 gigaoctets).

Nous avons vu que certaines méthodes permettent de sous-échantillonner les données pour en alléger le poids. Bien que cette étape d’optimisation des données présente un intérêt réel, les données 3D demeurent quoi qu’il arrive massives et complexes à partager.

Il est utile de confondre cette notion au monde de la construction.

La maquette numérique 3D d’un ouvrage est devenue la pièce centrale des échanges entre intervenants depuis que le BIM s’est démocratisé. Ce processus présente en effet de nombreux avantages :

  • les données 3D sont au centre des intervenants et non l’inverse : moins de perte de temps dans le recueil et l’assemblage des données de manière isolée par chaque acteur de la construction.
  • le travail gagne en collaborativité : échanger autour d’une même maquette permet de capitaliser les évolutions d’un projet tout en offrant un socle 3D aux discussions.
Le processus BIM place une maquette numérique 3D au centre des échanges - Source : bimbtp.com
Le processus BIM place une maquette numérique 3D au centre des échanges – Source : bimbtp.com

Les professionnels du bâtiment sont désormais habitués à cette méthode de travail collaborative autour des données 3D.

[qodef_blockquote text= »Or, la capture de la réalité produit des jeux de données tellement massives que les limites technologiques actuelles rendent la collaboration autour de ces dernières très complexe. » title_tag= »p » width= » »]

Où stocker ces données volumineuses ? Comment permettre à tous les acteurs d’un projet de construction d’en tirer partie quelque soit leur emplacement géographique ? Comment utiliser ces données comme vecteur de communication tout en s’adaptant aux limites technologiques actuelles ?

Ressources matérielles nécessaires à l’utilisation des nuages de points

Le simple fait d’utiliser un nuage de points pour modéliser une maquette numérique BIM dans Revit par exemple, requiert que les données de numérisation 3D soit stockées sur le PC du modeleur BIM, lequel devra posséder des ressources matérielles suffisantes pour être capable de garder en mémoire et d’afficher plusieurs millions de points à chaque instant.

Scan to BIM : modéliser une maquette numérique BIM sur la base d'un nuage de points
Scan to BIM : modéliser une maquette numérique BIM sur la base d’un nuage de points.

De manière très concrète cela impose que la station de travail soit équipée :

  • de disques durs SSD (et non de disques durs traditionnels, car la vitesse de lecture et d’écriture seraient trop faibles) d’un volume de stockage suffisant pour accueillir les données 3D,
  • de suffisamment de RAM (mémoire vive) pour permettre aux logiciels d’exploiter les nuages de points dans leurs traitements sans avoir besoin d’accéder au disque dur à chaque étape des calculs,
  • d’une carte graphique suffisamment performante pour afficher les données 3D à l’écran, et parfois contribuer aux traitements,
  • d’un processeur ayant au minimum 8 coeurs d’une fréquence nominale de l’ordre de 4GHz.

Ces composants sont onéreux.

[qodef_blockquote text= »C’est une réalité : numériser en 3D coûte cher, et utiliser les données qui en découlent représente un investissement tout aussi important. » title_tag= »p » width= » »]

Et encore, nous n’avons parlé pour le moment que des données “vivantes” sur lesquelles une action doit être réalisée. Un autre coût informatique est à anticiper : l’archivage des données.

Stockage local des données 3D

Un nuage de points 3D d’une scène permet de garder un double numérique d’un ouvrage. Nous avons vu que les avantages et les attentes en la matière sont bien réels. Ces données 3D sont un outil formidable pour documenter l’existant et conserver un “jumeau numérique” des ouvrages permettant à la fois d’en faciliter la gestion et la maintenance. Le stockage des données 3D de manière pérenne s’impose donc. Or, à raison de plusieurs centaines de gigaoctets par affaire, traduire ce besoin de stockage en équipement informatique réel et pertinent n’est pas chose aisée.

Ainsi, le premier niveau d’investissement à anticiper sera l’acquisition d’un serveur de stockage en réseau (NAS). Ce type d’équipement présente l’avantage d’être accessible par plusieurs collaborateurs dans le cadre d’un réseau d’entreprise tout en offrant certaines garanties indispensables dans le cadre d’un archivage de données informatiques, telles que la technologie RAID, autorisant la défaillance d’un des disques dur du NAS, sans perte de données. Evidemment, comme pour tout parc informatique, les outils employés varient selon la configuration de l’entreprise et les process employés.

Au delà de ces considérations techniques, il est important de distinguer ce qui pourra être qualifié de “stockage local” des solutions d’un  “stockage distant”. La notion de “local” sous-entend que la donnée est uniquement stockée sur son lieu de production et d’exploitation, contrairement à un stockage distant qui désigne typiquement un serveur hébergé dans un datacenter (Amazon S3, Google Drive, hébergeur traditionnel…).

A l'intérieur d'un datacenter de Google
A l’intérieur d’un datacenter de Google.

Stockage distant des données 3D

La question n’est pas d’opter pour un espace de stockage distant plutôt qu’une solution locale, ou l’inverse. Comprenez bien que la pérennité des données est un enjeu de taille.

[qodef_blockquote text= »Le “double numérique” d’un bâtiment doit être stocké aussi longtemps que vivra le bâtiment, c’est-à-dire en moyenne entre 5 et 10 décennies. » title_tag= »p » width= » »]

Le risque que représente la perte de données est à prendre pleinement en considération. Répliquer les données à plusieurs emplacements permet de réduire cet aléa. Stocker un nuage de points de manière locale, mais également sur un serveur ou un “service Cloud”, est réellement une nécessité.

Mais poursuivons, et revenons sur le côté collaboratif attendu par les utilisateurs des données 3D. Stocker les données de manière locale revient à reproduire le schéma décrié par les promoteurs de BIM : des données stockées à plusieurs emplacements, réduisant les interactions entre acteurs de la construction et conduisant à une perte d’efficience. Or, la capture 3D de la réalité trouve évidemment une complémentarité totale avec un processus BIM. Préserver cette synergie tout au long de la chaîne de travail sonne comme une évidence.

Les étapes d'évolution vers un processus BIM de niveau 3
Les étapes d’évolution vers un processus BIM de niveau 3 (source)

Une collaboration “BIM Level 2” ou “BIM Level 3” impose le stockage des données 3D sur un serveur de travail hébergé et accessible par chaque intervenant en temps réel.

[qodef_blockquote text= »De la même manière, les nuages de points et meshs 3D issus de la numérisation 3D ne sauraient prétendre offrir des capacités collaboratives sans être stockées et mises à disposition sur un serveur Web. » title_tag= »p » width= » »]

Les éditeurs de logiciels ont pleinement mesuré l’ampleur de l’enjeu et du potentiel économique des applications de streaming de nuages de points et meshs 3D.

Vers le streaming des données 3D

Nous ne le dirons jamais assez : les données de numérisation 3D sont extrêmement lourdes. Parfois, il sera envisageable de les expédier via un service Web d’envoi de gros fichiers (Google Drive, serveur FTP…). Mais le destinataire devra alors télécharger l’intégralité des données avant de pouvoir les lire, ce qui peut prendre plusieurs longues heures.

Vous le constatez : nous sommes loin d’une collaboration efficiente et instantanée. Il est indéniable que les difficultés à faire transiter des modèles numériques à grande échelle constitue un réel point de blocage.

Regardons dans le rétroviseur pour nous inspirer des solutions trouvées par le passé face à des problématiques analogues. Pour cela, penchons nous sur la digitalisation du marché de la musique et de la vidéo.

Chronologiquement les données ont été stockées de différentes manières :

  1. locale et analogique (VHS/cassettes audio),
  2. locale, mais numérique (CD, DVD),
  3. dématérialisée, numérique, compressée et téléchargeable pour une utilisation locale (Peer-to-peer, iTunes, MP3, DivX)
  4. dématérialisée, numérique, compressée et utilisable en temps réel sans téléchargement préalable (streaming, Deezer, Netflix, Youtube…)

L’analogie avec l’évolution des méthodes de communication dans la construction est assez claire :

  1. Cassettes et VHS = plans papiers tracés sans informatique,
  2. CD et DVD = Dessin Assisté par Ordinateur : conception numérique stockée localement,
  3. Peer-to-peer = BIM de niveau 0 à 1 : données numériques partagées de manière asynchrone,
  4. Netflix et Youtube = BIM de Niveau 2 à 3 : données numériques partagées en temps réel.
Evolution des méthodes de communication numérique
Evolution des méthodes de communication numérique
[qodef_blockquote text= »Le “streaming” est une technique de diffusion et de lecture en ligne et en continu de données multimédias, qui évite le téléchargement des données et permet un affichage progressif en temps réel. » title_tag= »p » width= » »]

C’est cette méthode qui permet de rendre les échanges de musique (Deezer, Spotify) et de vidéo (Youtube, Netflix) instantanés et collaboratifs. Les données 3D nuages de points et meshs ne sont ni plus ni moins que des fichiers informatiques, qui peuvent donc suivre le même chemin. L’intégralité des services “Web 3D” repose sur une méthode de streaming.

Les protocoles et algorithmes diffèrent d’un service à un autre, mais également selon le type de données 3D.

Passer d’un chargement linéaire à un chargement progressif

Une nuage de points 3D peut se définir comme étant une “liste de pixels positionnés dans un système de coordonnées en trois dimensions”. Chaque pixel est défini par un minimum de trois informations :

  1. Coordonnée X,
  2. Coordonnée Y,
  3. Coordonnée Z.

D’autres informations viennent généralement compléter ces données (réflectance, localisation du scan, catégorisation du point, etc…).

Image composite d'un nuage de point en couleurs RGB et en réflectance.
Image composite d’un nuage de point en couleurs RGB et en réflectance.

Plusieurs formats de données peuvent être employés pour stocker des nuages de points (.xyz, .las, …). Conceptuellement, il est préférable de visualiser un tableau Excel comptant une ligne par pixel et une colonne pour chaque type d’information caractérisant les points.

Contenu d'un fichier XYZ de nuage de points
Contenu d’un fichier XYZ de nuage de points (colonnes : X, Y, Z, Rouge, Vert, Bleu)

Afficher les données de manière progressive en temps réel pourrait consister en l’affichage progressif, ligne à ligne, des pixels 3D listés dans le fichier. Mais les lignes étant ordonnées sans considération possible du segment de scène que l’utilisateur souhaite visualiser, ce dernier ne pourrait avoir la certitude de voir le niveau de précision maximal des données qu’après le chargement intégral du jeu de données. Ce qui n’est évidemment pas le but recherché.

La solution doit cette fois-ci être inspirée par les pratiques actuelles du monde de la cartographie et des Systèmes d’Information Géographique (Web SIG) diffusant des données massives.

Vous connaissez déjà ce type de services : Google Maps, Geoportail, Here Maps… Tous ces services reposent sur l’affichage progressif des données en fonction du point de vue de l’utilisateur. Si vous voulez voir un pays en intégralité, vous verrez des images satellites assemblées, puis, en zoomant, des données plus précises seront chargées dans la zone visible à l’écran, mais par ailleurs.

Ce principe de “tuilage pyramidal” consiste en la création de jeux de données multi-échelles.

Pyramides de données

Les pyramides permettent d’améliorer les performances. Il s’agit d’échantillons du jeu de données initial. Les pyramides peuvent contenir de nombreuses couches sous-échantillonnées. Pour des données 2D, chaque couche consécutive de la pyramide est réduite de moitié.

Principe de tuilage des données en SIG (source : ESRI)
Principe de tuilage des données en SIG (source : ESRI)

Concernant  des données 3D, le principe est le même mais avec une dimension supplémentaire. Ce qui donne des cubes imbriqués dans des cubes, avec une division par deux de la longueur de chaque face pour chaque niveau d’échelle.

Ceci conduit donc à la division de chaque cube de données en huit cubes sous-échantillonnés, lesquels seront visibles à un niveau d’échelle supérieur. Cette opération d’imbrication de 8 cubes dans un autre cube peut être répétée sur plusieurs niveaux : un cube parent contient huit cubes “enfant de niveau 1”, chacun de ces cubes enfant contenant huit autres cubes “enfant de niveau 2”, et ainsi de suite.

Ce concept d’imbrication porte le nom de “structure octree”; c’est une déclinaison 3D du principe des arbres binaires.

Structure Octree d'un nuage de points (source : MathWorks)
Structure Octree d’un nuage de points (source : MathWorks)

Amélioration des performances d’affichage

Les tuiles pyramidales permettent d’accélérer l’affichage des données en récupérant uniquement les données à une résolution définie requise pour l’affichage. En clair : si l’utilisateur observe e les données à une grande distance, seul le premier niveau d’échelle est affiché. Les données plus précises seront chargées uniquement s’il décide de zoomer dans une zone.

Avec les pyramides, une copie des données à résolution plus faible s’affiche rapidement lors du dessin du jeu de données dans son intégralité. Au fur et à mesure que vous effectuez un zoom, les niveaux dont la résolution est plus élevée sont affichés.

En suivant ce principe, la performance d’affichage reste constante car le logiciel choisit automatiquement le niveau de pyramide le plus approprié en fonction de l’échelle d’affichage de l’utilisateur. Sans les pyramides, le jeu de données devrait être lu dans son intégralité à partir du disque.

Services de streaming de données 3D

Malgré les évolutions considérables de la technologie, la collaboration en temps réel (BIM Level 3) reste encore souvent une chimère.

[qodef_blockquote text= »Seuls des commerciaux peu confrontés au quotidien réel des entreprises de construction sauraient prétendre actuellement détenir une solution miracle en la matière. » title_tag= »p » width= » »]

L’enjeu technologique est de taille mais les ambitions des clients sont réelles et partagées, ce qui suffit à motiver des investissements en recherche et développement. Des solutions émergent donc depuis plusieurs années.

Par Clément Valente

Expert en construction numérique

1 commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *