Gaussian Splatting
Explore le Gaussian Splatting pour la reconstruction de scènes 3D photoréalistes. Apprends comment il permet un rendu en temps réel et s'intègre à Ultralytics YOLO26 pour la vision.
Le Gaussian Splatting est une technique de rastérisation moderne utilisée en infographie et en computer vision pour reconstruire des scènes 3D photoréalistes à partir d'un ensemble d'images 2D. Contrairement à la modélisation 3D traditionnelle qui repose sur des maillages polygonaux, ou aux récents progrès de l'IA comme Neural Radiance Fields (NeRF) qui utilisent des réseaux de neurones pour approcher une scène, le Gaussian Splatting représente une scène sous la forme d'une collection de millions de distributions gaussiennes 3D (ellipsoïdes). Cette méthode permet un rendu en temps réel à des fréquences d'images élevées (dépassant souvent 100 FPS) tout en maintenant une fidélité visuelle exceptionnelle, résolvant ainsi un goulot d'étranglement majeur des performances présentes dans les méthodes de synthèse de vues précédentes.
Comment fonctionne le Gaussian Splatting#
L'idée centrale consiste à représenter explicitement l'espace 3D plutôt qu'implicitement. Dans un flux de travail typique, le processus commence par un point cloud creux généré à partir d'un ensemble de photos à l'aide d'une technique appelée Structure from Motion (SfM). Chaque point de ce nuage est ensuite initialisé comme une gaussienne 3D.
Pendant le training process, le système optimise plusieurs paramètres pour chaque gaussienne :
- Position : Les coordonnées 3D (X, Y, Z) dans la scène.
- Covariance : Ceci détermine la forme et la rotation de l'ellipsoïde (par exemple, à quel point le « splat » est étiré ou incliné).
- Opacité : À quel point la gaussienne apparaît transparente ou solide (valeur alpha).
- Couleur : Représentée à l'aide de Spherical Harmonics, ce qui permet à la couleur de changer en fonction de l'angle de vision, capturant ainsi des reflets réalistes et des effets d'éclairage.
Le terme « splatting » fait référence au processus de rasterization où ces gaussiennes 3D sont projetées — ou « splattées » — sur le plan de la caméra 2D pour former une image. Cette projection est entièrement différentiable, ce qui signifie que des algorithmes de gradient descent standard peuvent être utilisés pour minimiser la différence entre l'image rendue et la photo ground-truth originale.
Gaussian Splatting vs. NeRF#
Bien que ces deux techniques visent à générer de nouvelles vues d'une scène, elles diffèrent fondamentalement par leur architecture et leurs performances. NeRF (Neural Radiance Fields) encode une scène dans les poids d'un neural network. Le rendu d'un NeRF nécessite d'interroger ce réseau des millions de fois pour chaque image unique (ray marching), ce qui est coûteux en calcul et lent.
En revanche, le Gaussian Splatting utilise une représentation explicite (la liste des gaussiennes). Cela lui permet d'utiliser une rastérisation efficace basée sur des tuiles (tiling), similaire à la façon dont les jeux vidéo affichent les graphismes. Par conséquent, le Gaussian Splatting est nettement plus rapide à entraîner et à rendre que les NeRF, ce grand avantage le rendant plus viable pour les applications grand public et le real-time inference.
Applications concrètes#
La vitesse et la qualité du Gaussian Splatting ont ouvert de nouvelles portes dans diverses industries :
- Tourisme virtuel et immobilier : Les créateurs peuvent capturer un musée, un site historique ou une maison à vendre à l'aide d'un drone ou d'un smartphone. Le Gaussian Splatting permet aux utilisateurs distants d'explorer ces espaces en Virtual Reality (VR) avec 6 degrés de liberté (6DoF), en voyant des détails fins tels que les reflets sur les parquets en bois que la photogrammétrie traditionnelle pourrait manquer.
- Simulation automobile : Les entreprises développant des autonomous vehicles ont besoin d'une quantité considérable de données pour tester leurs algorithmes de perception. Le Gaussian Splatting peut reconstruire des pâtés de maisons réels à partir de données de capteurs, créant ainsi un environnement de simulation photoréaliste. Dans ces environnements, des modèles de vision tels que Ultralytics YOLO26 peuvent être testés pour s'assurer qu'ils identifient correctement les dangers dans des scénarios 3D complexes.
Prétraitement pour le splatting avec la vision par ordinateur#
Pour que le Gaussian Splatting fonctionne efficacement, les images d'entraînement doivent généralement être statiques. Les objets en mouvement (tels que les piétons ou les voitures) dans les photos sources peuvent provoquer des artéfacts appelés « floaters ». Les pipelines avancés utilisent instance segmentation pour masquer automatiquement ces éléments dynamiques avant d'entraîner le modèle splat.
La Ultralytics Platform permet aux équipes de gérer des datasets et d'entraîner des modèles qui peuvent aider dans cette phase de prétraitement. Voici comment on pourrait utiliser un modèle de segmentation pour créer des masques pour un dataset destiné à la reconstruction 3D :
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")Signification dans l'IA et tendances futures#
Le Gaussian Splatting représente un changement en computer vision vers des méthodes hybrides qui combinent la capacité d'apprentissage du Deep Learning avec l'efficacité de l'infographie classique. Cette technique évolue rapidement, les chercheurs explorant des moyens de compresser la taille des fichiers (qui peuvent être volumineux) et de l'intégrer à l'generative AI pour créer des actifs 3D à partir de prompts textuels. Alors que les accélérateurs matériels comme les GPUs continuent de s'améliorer, le Gaussian Splatting est en passe de devenir la norme pour capturer et rendre le monde réel sous forme numérique.






