Projection gaussienne 3D

Projection gaussienne 3D est une technique révolutionnaire de reconstruction de scènes 3D en temps réel avec plus de 15 000 étoiles GitHub. Contrairement aux méthodes basées sur NeRF, la projection gaussienne représente les scènes comme des millions de petites gaussiennes 3D qui peuvent être rendues à des débits d'images en temps réel (100+ IPS) tout en atteignant une qualité photoréaliste. Déployez-la sur le cloud GPU de Clore.ai pour reconstruire et explorer des scènes 3D à partir de vos propres photos.


Qu'est-ce que la projection gaussienne 3D ?

Les méthodes NeRF traditionnelles encodent implicitement une scène dans un réseau neuronal, nécessitant un parcours de rayons par pixel au moment du rendu. La projection gaussienne adopte une approche fondamentalement différente :

  1. Initialisation : Commencer à partir d'un nuage de points clairsemé (depuis COLMAP)

  2. Représentation : Étendre chaque point en une gaussienne 3D avec position, échelle, rotation, opacité et couleur en harmoniques sphériques

  3. Optimisation : Rendre différemment les gaussiennes et les optimiser par rapport aux images d'entraînement

  4. Rendu : Projeter les gaussiennes sur le plan image via un composite alpha (extrêmement rapide)

Principaux avantages par rapport à NeRF :

  • Rendu en temps réel (100+ IPS en 1080p)

  • Meilleure reconstruction des détails fins

  • Représentation 3D explicite (modifiable, exportable)

  • Entraînement plus rapide (30–60 min vs heures)

  • Fonctionne sur des GPU grand public


Prérequis

Exigence
Minimum
Recommandé

VRAM GPU

12 Go

24 Go

GPU

RTX 3080 12 Go

RTX 4090 / A100

RAM

16 Go

32 Go

Stockage

30 Go

60 Go

CUDA

11.7+

12.1+

circle-exclamation

Étape 1 — Louez un GPU sur Clore.ai

  1. Connectez-vous à clore.aiarrow-up-right.

  2. Cliquez Place de marché et filtrez par VRAM ≥ 16 Go.

  3. Sélectionnez un serveur — le RTX 4090 offre le meilleur rapport prix/performance.

  4. Définissez l'image Docker sur votre image personnalisée (voir l'étape 2).

  5. Définir les ports ouverts : 22 (SSH) et 8080 (visionneuse web).

  6. Cliquez Louez.


Étape 2 — Dockerfile

Construire une image Docker personnalisée avec toutes les dépendances :

Construire et pousser

Construisez l'image et poussez-la vers votre compte Docker Hub (remplacez VOTRE_NOM_UTILISATEUR_DOCKERHUB par votre nom d'utilisateur réel) :

circle-info

Il n'existe pas d'image Docker préconstruite officielle pour la projection gaussienne 3D sur Docker Hub. Le dépôt officiel à graphdeco-inria/gaussian-splattingarrow-up-right n'en fournit pas — construisez à partir du Dockerfile ci-dessus. L'image doit être construite avec les bons drapeaux d'architecture CUDA correspondant à votre GPU cible.

Utilisez VOTRE_NOM_D_UTILISATEUR_DOCKERHUB/gaussian-splatting:latest dans votre configuration Clore.ai.


Étape 3 — Connectez-vous via SSH

Vérifier la construction :


Étape 4 — Préparez votre jeu de données

Option A : Utiliser le jeu de données Tandt (Tanks and Temples)

Jeu de référence classique pour des tests rapides :

Option B : Traiter vos propres photos

circle-info

Le convert.py le script exécute l'intégralité du pipeline COLMAP : extraction de caractéristiques, appariement, reconstruction sparse et undistortion. Cela prend 5–30 minutes selon le nombre d'images.

Option C : Traiter depuis une vidéo


Étape 5 — Entraîner une projection gaussienne

Entraînement standard

Entraînement sur le jeu de données Tandt

Entraînement rapide (aperçu rapide)

circle-info

S'entraîner jusqu'à 7 000 itérations prend ~10 minutes sur un RTX 4090 et donne un bon aperçu de qualité. Les 30 000 itérations complètes prennent ~30–40 minutes et produisent la qualité finale.

Progression de l'entraînement

Surveillez la sortie d'entraînement — vous verrez des métriques telles que :

Un PSNR supérieur à 30 dB indique une reconstruction de haute qualité.


Étape 6 — Rendre et visualiser

Rendu depuis le modèle entraîné

Les rendus sont enregistrés dans /workspace/output/my_scene/test/ours_30000/renders/.

Créer une vidéo de survol (flythrough)

Évaluer les métriques

Sortie attendue :


Étape 7 — Visionneuse web interactive

Pour explorer la scène entraînée de manière interactive :

Utilisation de nerfview/viser

Puis ouvrez : http://<clore-host>:<public-port-8080>

Alternative : Utiliser SuperSplat (visionneuse dans le navigateur)

Téléchargez le .ply fichier et ouvrez-le dans SuperSplatarrow-up-right:

Puis glissez-déposez le .ply dans le navigateur SuperSplat à : https://playcanvas.com/super-splat


Options avancées

Contrôler le nombre de gaussiennes

Fond blanc (pour les objets)

Scènes à grande échelle


Alternative : Projection gaussienne avec gsplat

gsplat est une implémentation plus rapide et économe en mémoire :


Dépannage

Échec de la compilation de l'extension CUDA

Solution : Recompiler pour l'architecture GPU spécifique :

COLMAP n'arrive pas à reconstruire

Solutions :

  • Assurez ≥ 50% de recouvrement d'images

  • Utilisez plus de photos (100+ recommandé)

  • Essayez l'appariement séquentiel pour les images vidéo : ajoutez --match sequential à convert.py

Manque de mémoire pendant l'entraînement

Artefacts flottants dans la scène

Artefacts flottants provenant de l'initialisation des gaussiennes :

  • Augmenter --densify_grad_threshold pour être plus sélectif

  • Utilisez --prune_opacity_threshold 0.005 pour supprimer plus tôt les gaussiennes de faible opacité


Recommandations GPU Clore.ai

L'entraînement de la projection gaussienne est intensif en calcul GPU avec des appels fréquents aux noyaux CUDA. La VRAM détermine la complexité maximale de la scène (nombre de gaussiennes) ; le calcul détermine la vitesse d'entraînement.

GPU
VRAM
Prix Clore.ai
Entraînement 30K itérations
Gaussiennes max

RTX 3090

24 Go

~0,12 $/h

~45–55 min

~6M

RTX 4090

24 Go

~0,70 $/h

~30–35 min

~6M

A100 40GB

40 Go

~1,20 $/h

~12–18 min

~10M+

RTX 3080 12 Go

12 Go

~0,08 $/h

~70 min

~3M (limité)

circle-info

Le RTX 3090 à ~0,12 $/h est le meilleur choix pour la projection gaussienne. Une session complète d'entraînement de 30K itérations coûte ~0,09–0,11 $ en temps GPU. Pour plusieurs scènes dans une même session, le coût est négligeable.

Pour des expériences rapides : entraînez d'abord jusqu'à 7 000 itérations (~15 min sur RTX 3090, ~0,03 $). Vérifiez la qualité dans la visionneuse web. Lancez les 30K itérations complètes uniquement pour la sortie finale.

Remarque sur le prétraitement COLMAP : COLMAP (Structure from Motion) s'exécute sur CPU/GPU mais le calcul lourd se fait sur le CPU. La plupart des serveurs Clore.ai disposent de CPU adéquats pour des scènes de moins de 200 images. Pour des jeux de données de 500+ images, recherchez des serveurs avec 16+ cœurs CPU.


Ressources utiles

Mis à jour

Ce contenu vous a-t-il été utile ?