Youtube – 3DGS

Chapitre 1 : Introduction

Salut, cela fait un moment depuis mon dernier tutoriel. Cette fois, je vais vous montrer une méthode simple pour passer d’une vidéo classique à un Gaussian Splat 3D.
Au-delà de ça, je souhaite aussi restituer la trajectoire de la caméra d’origine à l’aide de SuperSplat.

Tout commence avec un fichier vidéo provenant d’images de drone que j’ai trouvées sur YouTube.
Comme vous pouvez le voir, il s’agit d’un survol de Stonehenge.


Chapitre 2 : ffmpeg – Extraction des images

À partir de là, j’ai besoin d’extraire des images de la vidéo. La méthode la plus simple et la plus rapide que je connaisse consiste à utiliser ffmpeg.

Voici une ligne de commande ffmpeg que j’utilise tout le temps pour cela. Pour l’ajuster, j’utilise un chatbot comme Gemini.

Cette commande charge la vidéo et en découpe une portion plus courte.
Ensuite, elle extrait des images à raison d’une image par seconde et les enregistre au format JPEG avec un numéro à cinq chiffres dans le nom du fichier.

Trouvons une bonne séquence dans la vidéo montrant davantage Stonehenge et moins les champs environnants.

Maintenant, je sélectionne simplement cette commande et je l’exécute dans un terminal. Notez que vous devez créer le dossier de sortie au préalable.

Voici toutes les images créées par ffmpeg.


Chapitre 3 : RealityScan – Création des poses

Je peux maintenant lancer RealityScan et charger les images.

Avant de démarrer l’alignement, vérifiez les paramètres.
Les images sont en résolution Full HD, donc commençons avec un facteur de réduction de 2.

Pour faire correspondre plus d’images au départ, je règle la tolérance d’erreur à 2 pixels.
D’autres paramètres à vérifier : le chevauchement des images (élevé) et la sensibilité du détecteur (ultra). Lançons l’alignement.

Cela a déjà très bien fonctionné : 326 images sur 332 ont été alignées.
Cependant, la disposition des poses semble un peu irrégulière.

Je garde toujours le dernier bon composant, je supprime les petits composants, puis je relance l’alignement.
Sans changer les paramètres, le recalcul est beaucoup plus rapide et améliore encore le résultat.

Je répète l’opération une nouvelle fois.

Maintenant, il est temps d’améliorer davantage l’alignement en ajustant certains paramètres.
Cette fois, j’utilise la résolution complète des images et je réduis la tolérance d’erreur à 1 pixel.

Avec ces paramètres, l’alignement prend un peu plus de temps.
Le résultat est déjà très bon, mais attendre une minute supplémentaire ne coûte rien.

Maintenant, je suis satisfait du résultat.
Par sécurité, j’enregistre le projet RealityScan.

La dernière étape consiste à exporter l’alignement sous forme de données Colmap.
Assurez-vous d’activer l’export des images.

Comme les images sont en Full HD, je laisse le facteur de réduction à 1 pour conserver la taille d’origine.
Je recommande le format JPEG, car d’autres formats comme PNG sont plus lourds.

Je conserve également les noms de fichiers d’origine, car les numéros seront importants pour importer les poses dans SuperSplat.

Voici les données Colmap exportées.


Chapitre 4 : Brush – Entraînement du Gaussian Splat

Lançons maintenant Brush pour créer le Gaussian Splat.

Pour cet exemple, je garde tous les paramètres par défaut.
Notez que l’entraînement se fait sur 30 000 étapes.

L’entraînement démarre et on peut voir le rendu s’améliorer progressivement.
C’est la phase qui prend le plus de temps.

Pendant l’entraînement, vous pouvez déjà visualiser les résultats.

Une fois les 30 000 étapes terminées, j’exporte le fichier PLY résultant.


Chapitre 5 : SuperSplat – Rendu vidéo

Je passe maintenant dans l’éditeur SuperSplat et j’importe le fichier PLY.

Une nouvelle fonctionnalité permet d’importer les images Colmap.
J’ai déjà défini le nombre d’images ici.

Pour importer les données, je glisse le fichier .txt des images Colmap dans SuperSplat.

Comme les images ont été extraites à une cadence d’une image par seconde, je choisis la même cadence pour la lecture.

Depuis SuperSplat, je peux maintenant exporter la vidéo.


Chapitre 6 : Conclusion – Résultat final


Publié automatiquement le 12/04/2026 à 13:52