Partagez cette page

 Tout Sur La Photogrammétrie, le NeRF, ET Gaussian Splatting (3DGS)

Tout Sur La Photogrammétrie, le NeRF, ET Gaussian Splatting (3DGS)

Ces techniques expliquées et quelques usages.

La photogrammétrie, les NERF (Neural Radiance Fields) et le Gaussian Splatting. Des termes parfois obscurs, des acronymes, des anglicismes

OLO : beuroah !

Oui ça rebute un peu parfois mais ce qu’il y a derrière est passionnant, facile à utiliser, pratique et avec des usages pour tous.

Et avec des perspectives encore plus intéressantes.

C’est quasiment un cours que je vous ai préparé, j’espère qu’il vous plaira.

Et c’est dans CREANEWS !

--

La photogrammétrie, les NERF (Neural Radiance Fields) et le Gaussian Splatting sont trois techniques importantes dans le domaine des « images 3d ».

Elles ont des applications variées, de la modélisation 3D à la réalité augmentée. Je vais vous donner un aperçu de chaque technique, en commençant par leurs définitions, avantages, inconvénients, et usages.

1. La photogrammétrie

Photo (Image) : Grammaire (Mesure) : Métrie (Mesure) :

Cette technique ingénieuse repose sur l'utilisation de photographies pour créer des mesures précises et des modèles 3D réalistes d'objets du monde réel. Alors, comment cela fonctionne-t-il exactement?

Tout commence par la capture d'images photographiques de la scène que nous souhaitons modéliser. Ces images, prises sous différents angles, deviennent les données d'entrée cruciales pour le processus de reconstruction. La variété des perspectives offre une richesse d'informations qui alimentent la « magie » de la photogrammétrie.

Le terme "grammaire" dans "photogrammétrie" n'est pas là par hasard. Il fait référence à la mesure, à la dimension. Une fois les images capturées, des algorithmes spécialisés analysent ces images pour extraire des informations de mesure. Cela inclut des techniques sophistiquées telles que la triangulation, où la position d'un point dans l'espace est déterminée en mesurant les angles formés par les lignes de vue de plusieurs caméras.

Le suffixe "-métrie" dans "photogrammétrie" met en avant l'aspect de mesure de cette technique. C'est ici que la magie opère vraiment. La photogrammétrie permet de mesurer des distances, des angles, des positions, tout en utilisant des images photographiques comme base. C'est comme donner aux images le pouvoir de parler la langue des dimensions.

Et maintenant, la pièce maîtresse : la reconstruction 3D. L'objectif ultime de la photogrammétrie est de donner vie à la scène en créant un modèle 3D à partir des images 2D. Grâce à des techniques avancées de triangulation, la position tridimensionnelle des points caractéristiques de la scène est déterminée, aboutissant à la création d'un modèle 3D réaliste.

Les applications de la photogrammétrie sont vastes et fascinantes. De la cartographie à l'archéologie, en passant par la topographie, cette technique trouve sa place dans de nombreux domaines. Elle est également un outil essentiel pour la modélisation d'environnements 3D utilisés dans les jeux vidéo et la réalité virtuelle, et même dans la reconstruction d'accidents. La photogrammétrie ouvre ainsi une porte vers un monde où les images deviennent les architectes de la troisième dimension.

En résumé, la photogrammétrie est une technique qui utilise des images photographiques pour mesurer et reconstruire des objets ou des scènes en trois dimensions. Elle repose sur des principes mathématiques et géométriques pour déterminer la structure spatiale à partir de données visuelles.

https://3dvf.com/restauration-de-notre-dame-paris-jumeau-virtuel-plongez-dans-les-coulisses-en-vr/

Emmissive par exemple

Avantages

- Accessibilité: Nécessite seulement un appareil photo ou un smartphone.

- Coût-efficacité: Moins cher que d'autres méthodes de modélisation 3D, comme les scanners laser.

- Polyvalence: Applicable à une grande variété d'objets, des petits artefacts aux grands paysages.

 Inconvénients

- Précision: Moins précise que certaines méthodes comme le lidar pour de vastes environnements.

- Complexité des textures: Peut avoir du mal avec les objets très réfléchissants ou transparents.

- Dépendance aux conditions d'éclairage: Les résultats peuvent varier en fonction de l'éclairage lors de la prise des photos.

 Usages

- Archéologie : pour documenter des sites et des objets. C’est le cas avec emissive que j’ai montré en creanews…

- Architecture: pour la rénovation et la restauration.

- Génie civil: pour les relevés de terrain et la planification urbaine.

Données Techniques

- Maillage: La photogrammétrie produit un maillage 3D, qui est une collection de vertices (points), d'arêtes (lignes reliant les points) et de faces (polygones formant la surface de l'objet).

Ce maillage peut être très dense, en fonction de la résolution des images d'origine et de la précision souhaitée pour le modèle 3D.

- Polygones: Les modèles 3D issus de la photogrammétrie sont généralement composés de nombreux petits polygones, souvent des triangles, pour capturer avec précision les détails de la surface de l'objet.

La densité de ces polygones peut affecter à la fois la qualité visuelle du modèle et les exigences en termes de performances pour le rendu et la manipulation.

- Texture: La photogrammétrie permet également de capturer les textures de l'objet, qui sont ensuite mappées sur le maillage 3D pour un rendu réaliste. Cela implique souvent un traitement supplémentaire pour ajuster les textures aux polygones du maillage.

 2. NERF (Neural Radiance Fields)

 Nerf (Neural Radiance Fields) : (Champs de Radiance neural ou neuronal) :

    Nerf, ou Neural Radiance Fields, représente une avancée majeure dans le domaine de la reconstruction 3D. Au lieu de s'appuyer sur des méthodes traditionnelles, Nerf utilise le pouvoir du deep learning en employant des réseaux de neurones pour modéliser la radiance d'une scène. En d'autres termes, il se concentre sur la luminance par unité de surface plutôt que sur la géométrie.

Le terme "Radiance Fields" renvoie à la représentation continue de la radiance dans l'espace 3D. Nerf crée une fonction qui, en prenant des coordonnées 3D en entrée, retourne la radiance à cet emplacement précis. Ainsi, il s'attaque directement à la modélisation des propriétés optiques de la scène plutôt que de travailler avec des modèles de surface.

En résumé, Nerf utilise des réseaux neuronaux pour approximer une fonction qui calcule la radiance en tout point d'une scène 3D, permettant ainsi la génération d'images réalistes à partir de ces informations.

 Avantages

- Réalisme: Produit des images de haute qualité avec un réalisme impressionnant.

- Flexibilité: Peut générer de nouveaux points de vue à partir d'un nombre limité de photos.

- Détaillé: Capable de capturer des détails fins et des effets de lumière complexes.

 Inconvénients

- Puissance de calcul: Nécessite d'importantes ressources informatiques.

- Complexité: Implémente des modèles de réseaux de neurones avancés, ce qui peut être difficile sans une expertise appropriée.

- Temps de traitement: La génération de scènes peut être lente.

 Usages

- Réalité virtuelle et augmentée: pour créer des environnements immersifs.

- Cinématographie: pour les effets spéciaux et la post-production.

- Conception de produits: pour visualiser des produits sous différents angles et dans différents environnements.

Données Techniques

- Représentation Volumétrique:

Contrairement à la photogrammétrie, NERF ne produit pas un maillage 3D traditionnel. Au lieu de cela, il utilise un réseau de neurones pour apprendre une représentation continue de la scène sous forme de champs de radiance. Cela permet de générer des vues synthétiques de la scène sous n'importe quel angle.

- Absence de Polygones:

Puisque NERF travaille avec une représentation volumétrique continue de l'espace, il n'utilise pas de polygones pour modéliser les surfaces. Cela élimine les limitations associées aux maillages polygonaux, comme les artefacts de rendu et la nécessité de gérer des données de maillage complexes.

- Rendu basé sur le Ray Tracing:

NERF utilise des techniques de ray tracing pour générer des images, calculant les interactions de la lumière avec l'environnement 3D appris. Cela permet de capturer des effets complexes comme la diffusion de la lumière et les ombres douces.

 3. Gaussian Splatting

 Définition

Le Gaussian Splatting est une technique de rendu d'images qui utilise des fonctions gaussiennes pour simuler la diffusion de la lumière. Elle est souvent utilisée dans la visualisation de données volumétriques, comme les scans médicaux, pour créer des images à partir de données en 3D.

    Gaussian (Gaussien) :

    Le terme "Gaussian" fait référence à la fonction gaussienne, une distribution mathématique en forme de cloche. Cette fonction est un outil puissant utilisé dans le processus de modélisation 3D, particulièrement pour décrire la diffusion de la lumière et d'autres phénomènes. La fonction gaussienne permet de décrire comment l'influence d'un point ou d'une particule diminue à mesure que l'on s'éloigne de ce point dans l'espace tridimensionnel.

Splatting : Le terme "splatting" est utilisé dans le contexte de la représentation des objets.

Plutôt que de représenter une surface solide, les objets sont souvent décomposés en petits éléments plats appelés "splats". Ces splats sont ensuite projetés sur l'image finale pour créer une représentation 2D de l'objet. Le mot "splatting" évoque l'idée d'éclaboussure ou d'étalage, ce qui correspond à la manière dont les informations des objets sont projetées et étalées sur l'image.

En résumé, Gaussian apporte une précision mathématique essentielle pour modéliser la manière dont la lumière se propage dans une scène 3D, contribuant ainsi à une représentation réaliste des phénomènes lumineux.

    Splatting :

    Le terme "splatting" prend tout son sens dans le contexte de la représentation des objets en 3D. Contrairement à la représentation de surfaces solides, le splatting décompose les objets en petits éléments plats appelés "splats". Ces splats sont ensuite projetés sur l'image finale, créant ainsi une représentation 2D de l'objet. L'idée derrière le terme "splatting" évoque visuellement l'éclaboussure ou l'étalage, reflétant la manière dont les informations des objets sont projetées et étalées sur l'image.

 Avantages

- Visualisation de données volumétriques: Excellente pour afficher des structures internes complexes.

- Rendu doux: Produit des images avec des transitions douces, améliorant la lisibilité.

- Adaptabilité: Peut être ajusté pour améliorer la visibilité de certaines caractéristiques.

 Inconvénients

- Approximation: La qualité de l'image dépend de la précision de l'approximation gaussienne.

- Performance: Peut-être gourmand en ressources pour de grands volumes de données.

- Complexité de réglage: Nécessite une bonne compréhension des paramètres pour un rendu optimal.

 Usages

- Imagerie médicale: pour visualiser des scans CT ou IRM.

- Visualisation scientifique: pour représenter des phénomènes physiques ou chimiques.

- Effets spéciaux: pour créer des effets de brouillard ou de lumière dans les scènes de

Films ou de jeux vidéo.

- Analyse de données spatiales: Utilisé pour analyser et visualiser des données géospatiales ou atmosphériques, permettant de mettre en évidence des patterns ou des structures dans les données.

- Rendu de particules: Dans les simulations de dynamique des fluides, le Gaussian Splatting peut être utilisé pour visualiser des simulations complexes impliquant des particules, comme des écoulements de fluides ou des simulations de gaz.

Données Techniques

- Représentation des Données: Le Gaussian Splatting est utilisé principalement pour la visualisation de données volumétriques, comme dans l'imagerie médicale.

Il représente les données en utilisant des splats (taches), où chaque point de données est rendu comme une distribution gaussienne, contribuant à l'image finale basée sur sa densité et sa position.

- Gestion des Polygones: Dans le contexte du Gaussian Splatting, la notion traditionnelle de polygones n'est pas directement applicable, car la technique se concentre sur le rendu volumétrique plutôt que sur la construction de surfaces à partir de polygones.

- Rendu Volumétrique: Cette méthode permet de visualiser des structures internes dans les données 3D en ajustant la transparence et la couleur des splats en fonction de leurs propriétés, permettant une exploration détaillée des volumes de données.

Chacune de ces techniques offre des avantages uniques dans leurs domaines d'application respectifs, mais elles comportent également des défis spécifiques.

La sélection de la technique appropriée dépendra des objectifs du projet, des ressources disponibles, et du niveau de détail requis.

- Photogrammétrie est souvent le choix pour des projets nécessitant une modélisation 3D précise d'objets réels avec un budget limité ou lorsque la facilité de capture est une priorité.

- NERF est préféré pour des applications nécessitant un haut niveau de réalisme et de flexibilité dans la visualisation 3D, particulièrement utile dans les industries créatives comme le cinéma et la réalité virtuelle.

- Gaussian Splatting excelle dans la visualisation de données volumétriques, rendant cette technique inestimable dans les domaines médicaux et scientifiques pour l'analyse et la présentation des données.

En conclusion, la photogrammétrie, les NERF, et le Gaussian Splatting sont des outils puissants qui, utilisés correctement, peuvent révolutionner la manière dont nous visualisons et interagissons avec les données et le monde réel. Leur développement continu promet de pousser encore plus loin les frontières de la visualisation 3D et de l'imagerie numérique.

Comparaison

Objectif et application :

  • NeRF est principalement axé sur la reconstruction 3D photoréaliste et la génération d'images, en exploitant la puissance des réseaux de neurones pour apprendre une représentation détaillée de la scène.
  • Gaussian Splatting est souvent utilisé pour le rendu volumétrique et la visualisation de données scientifiques, profitant de sa capacité à gérer efficacement les données dispersées.

Performance et qualité :

NeRF peut atteindre une qualité d'image supérieure, notamment en termes de détails et de réalisme, mais au prix de temps de calcul plus élevés. Gaussian Splatting offre une approche potentiellement plus rapide mais peut sacrifier la qualité des détails pour la vitesse.

Chaque technique a ses avantages dans des contextes spécifiques, dépendant des exigences de qualité d'image, de vitesse de traitement et de la nature des données à traiter.

Chacune de ces techniques à sa propre manière de traiter et de représenter les données 3D, offrant des avantages spécifiques pour différents types d'applications.

La photogrammétrie est idéale pour créer des modèles 3D précis d'objets réels avec des maillages et des textures détaillées.

NERF excelle dans la création de représentations 3D réalistes et flexibles sans les contraintes des polygones.

Enfin, le Gaussian Splatting est particulièrement utile pour la visualisation de données volumétriques, permettant une analyse détaillée sans nécessiter de maillage polygonaux traditionnels.

Démonstration et choses utiles

Alors pour la photogrammétrie, je vous en avais parlé une première fois dans CréaNews.

Parce que oui il y a ceux qui parlent et agrègent des liens dans des posts LinkedIn et ceux qui les utilisent et montrent…

Ça demande plus de temps qu’une requête Google …

Olo : petit tacle gratuit à certains ;)

Pensez à vous abonner, liker, partager ce travail s’il vous a plu et vous est utile.

OLO : oui pas les posts LinkedIn ou X de nos chers … « experts » …

Bref, J’avais modélisé une maquette star wars grâce à plusieurs applications directement sur mon smartphone.

J’avais obtenu un modèle 3D de bonne qualité pour m’en resservir dans des projets d’images ou de vidéos.

Mais ici on va parler plutôt des Nerf et Gaussian Splatting.

On vient de le voir ce ne sont pas les mêmes techniques, les mêmes limites et usages.

Si on veut modéliser en 3D une pièce grâce à la photogrammétrie, un appartement ou un environnement complet, ça va etre très long, on va devoir prendre énormément de photos sous des conditions d’éclairages précis ou retoucher chaque photo…

On ne va pas pouvoir obtenir certaines informations comme les endroits réfléchissants, métalliques etc.

Mais avec le Nerf et le GS, ça va etre possible !

On ne va même pas s’embêter avec des photos, on va pouvoir utiliser directement des vidéos et les injecter dans le logiciel ou le site pour créer une image 3D.

Pour cela on peut donc prendre une vidéo d’un endroit précis.

OLO : Ah oui et le bonus sympa c’est que le logiciel est tellement bien pensé qu’on n’a juste à cocher une case pour retirer les personnes indésirables de notre photo 3D !

https://lumalabs.ai/capture/4c15c22e-8655-4423-aeac-b08f017dda22

https://lumalabs.ai/capture/dd0c0abe-5e0e-4218-ad54-14fa6e6c05ad

Et encore une fois c’est disponible via les mêmes applications smartphones que dans la CréaNews photogrammétrie.

Polycam, Kiri, Luma Labs (ou luma ai) …

Et plus des applications ou sites web sur PC, Mac etc.

De plusieurs images ou d’une video on obtient donc un … nuage de points

Attention il n’y a donc pas toutes les informations de texture sur cette image 3d !

Il n’y a pas les informations de matériaux, de réflexion et si je déplace ma source de lumière on voit qu’il n’y a aucune réaction, aucune ombre n’est créée !

Ah oui, comment j’ai fait pour mettre mon Gaussian splatting téléchargé de luma ai vers Blender ?

OLO : oui Gana t’as sauté une étape là tu es trop enthousiaste !

Ok, alors une fois qu’on a un Gaussian Splatting, c’est un fichier. PLY

On peut le mettre dans Blender (fichier/import/Stanford ply)

Il ne se passera rien.

Sauf si vous téléchargez l’add on en lien dans la description

Vous décompressez (Blender 4.0)

Gaussian-splatting-blender-addon-master

Et vous compressez en .zip le dossier « blender-addon »

Là, dans Blender, vous installez cet add on !

Vous pouvez importer le GS (le fichier ply) directement

Et le visualiser.

On observe pas mal de « nuages » des artefacts qui se sont formés.

Ne cherchez pas à prendre les meilleures photos ou vidéos pour les éviter, vous en aurez immanquablement.

Alors passez en mode édit de Blender et supprimez les points qui créent ces artefacts de manière à obtenir une image plus propre.

Ah mais il y a peut-être plus simple :

Le logiciel SuperSplat (lien en description)

Ça vous servira à « clean » nettoyer votre splat avant de l’importer. Il existe aussi dans les moteurs Unity ou Unreal, des plugins pour cette même fonction.

Vous avez donc désormais une image 3d correcte pour vous en resservir dans vos projets.

Comment obtenir un modèle 3D en fichier Obj ou Fbx ?

Et là ça se complique. Je n’ai pas encore trouvé de manière fiable réellement.

A l’export de mon fichier, je n’ai qu’un petit bout de tour Eiffel ! qui provient là de Google Earth

Alors ça tient aussi, un minimum à la qualité de photos ou vidéos d’origine …

Mais …

Les outils s’adaptent vite et par exemple sur luma AI, j'ai réalisé une vidéo autour de la même maquette de Star Wars

Et bingo, j’ai mon Gaussian splatting en ply , mais je peux aussi directement obtenir ce modèle en gltf, usdz et obj

Et je n’ai même pas à tout nettoyer l’environnement

(Je reviendrai sur le format USD dans une autre émission puisqu’il y a beaucoup à dire là encore.)

Et une image 360° (si je veux mon bureau)

J’obtiens donc un modèle 3d pleinement exploitable

J’aurai d’ailleurs passé beaucoup moins de temps (quelques secondes de vidéo) que pour mon test de photogrammétrie (plusieurs minutes voire dizaines de minutes)

Est-ce la fin de la photogrammétrie ?

Non a priori puisque les usages de précision de la photogrammétrie actuelle persistent.

 Mais les avantages du GS sont, on l’a vu, nombreux, et les techniques évoluent très vite.

Au moins ça c’est de l’usage d’IA qu’on veut voir et avoir plus.

Pour les usages, à vous aussi d’extrapoler, que ce soit une image 3d souvenir, modélisation 3d, vous en resservir pour des images, concepts arts, vidéos etc.

Gauzilla ajoute la segmentation et l'annotation

https://radiancefields.com/gauzilla-adds-segmentation-and-annotation/

https://github.com/naver/dust3r

Un tout nouvel article qui indique que l’on peut segmenter chaque objet et de leur fournir des annotations spécifiques.

Je cite l’article traduit en français :

« Cette technologie a le potentiel de révolutionner une multitude d'industries. Josh Sato qui a créé dustr (voir le lien github) a montré l'applicabilité des champs de rayonnement dans le secteur du commerce de détail, une industrie féminine prête à tirer des avantages substantiels de cette technologie. Pour les consommateurs, cela se traduit par une localisation plus efficace des articles, une évaluation de la qualité améliorée et des décisions d'achat bien informées.

D'un point de vue commercial, ces innovations ouvrent la voie à une meilleure gestion des stocks, à la visualisation des produits, à des expériences de réalité virtuelle immersives et à la maintenance de normes élevées dans tous les magasins.

Je vous invite à tester par vous-mêmes via les applications ou sites en lien dans la description.

Ils sont nombreux je n’ai pas tout testé juste Polycam, luma ai et quelques autres et trifouillé un peu dans Blender pour aller au-delà de juste avoir une image 3d.

C’est accessible, facile et rapide. J’espère que cette CréaNews vous permettra d’y voir un peu plus clair sur ces « nouveaux » termes.

A vos GS, Nerf !

Vous pouvez voir directement chez vous mes photogrammétries ; et Gaussian splatting en cliquant sur les liens en description juste en dessous. Et laissez un commentaire si vous avez appris de cette vidéo, si elle vous est utile et partagez là.

Le but de CréaNews, est de démocratiser ces termes et techniques, au moins savoir ce qu’elles sont et a quoi elles servent.

Posez vos questions aussi j’y répondrai avec plaisir.

Et n’oubliez pas … Soyez CURIEUX!

***

Restauration de Notre-Dame : plongez dans les coulisses en VR avec « Notre Dame de Paris 1I1 le jumeau virtuel »  @3dvfMag   @citedelarchitectureetdupat3377  

https://3dvf.com/restauration-de-notre-dame-paris-jumeau-virtuel-plongez-dans-les-coulisses-en-vr/

Castle Holic VR Sunrise  Overhead4D  

https://youtu.be/Ne0xCRTsSHY?si=2YV5rh23zJx3S7Kv

Exemples Luma AI

https://lumalabs.ai/capture/4c15c22e-8655-4423-aeac-b08f017dda22

https://lumalabs.ai/capture/dd0c0abe-5e0e-4218-ad54-14fa6e6c05ad

Luma Unreal Engine Plugin

https://lumaai.notion.site/Luma-Unreal-Engine-Plugin-0-41-8005919d93444c008982346185e933a1

Supersplat  @playcanvas  

https://playcanvas.com/supersplat/editor

Gaussian-splatting-blender-addon-master

https://github.com/ReshotAI/gaussian-splatting-blender-addon

Hugging Face (définition Gaussian Splatting avancée)

https://huggingface.co/blog/gaussian-splatting

Luma ai

@lumalabsai  

https://lumalabs.ai/embed/717d915b-ab99-49f6-a23f-26cf4cc83764?mode=sparkles&background=#ffffff&color=#000000&showTitle=true&loadBg=true&logoPosition=bottom-left&infoPosition=bottom-right&cinematicVideo=undefined&showMenu=false

https://lumalabs.ai/embed/a7448ef2-144d-4880-a20e-16219cf916ba?mode=sparkles&background=#ffffff&color=#000000&showTitle=true&loadBg=true&logoPosition=bottom-left&infoPosition=bottom-right&cinematicVideo=undefined&showMenu=false

https://lumalabs.ai/embed/f8cd34e6-23a2-4b37-baa6-3c766dcce87d?mode=sparkles&background=#ffffff&color=#000000&showTitle=true&loadBg=true&logoPosition=bottom-left&infoPosition=bottom-right&cinematicVideo=undefined&showMenu=false

polycam

@polycam6558  

https://poly.cam/capture/bdde55c4-58c9-4b3f-ae8c-35bb22d1da10

https://poly.cam/capture/f42c8413-610c-4a07-8e58-dc7534ced8a8

https://poly.cam/capture/55855b30-6d7b-4fab-80ea-4a4822b86e96

Gauzilla Dustr : "ajoute la segmentation et l'annotation"

https://radiancefields.com/gauzilla-adds-segmentation-and-annotation/

https://github.com/naver/dust3r

Pas de commentaire encore

Partagez cette page

Recherche