SHARP dans le navigateur : génère des Gaussian splats en local
Pourquoi ça compte pour toi
Jusqu'à présent, générer des Gaussian splats (modèles 3D ultra-compacts) demandait une API cloud ou du matériel spécialisé. Là, tout s'exécute chez toi : tu importes une image, le navigateur calcule, tu télécharges le résultat .ply. C'est utile si tu crées du contenu 3D, tu veux tester sans connexion au cloud, ou tu as des contraintes de confidentialité.
Ce qu'il faut retenir
- 1.Importe une image → génère des Gaussian splats → télécharge le fichier .ply, tout dans le navigateur
- 2.Basé sur SHARP (Apple) + ONNX Runtime Web : aucune dépendance serveur
- 3.Requis : 2,4 Go de RAM/disque, Chrome/Edge desktop, Bun + Python pour exporter le modèle
- 4.Prototype expérimental : les performances dépendent du WebGPU et de la RAM disponible
Pourquoi c'est sympa
Les Gaussian splats sont devenus le standard pour la capture 3D légère (bien plus compact qu'un mesh classique). Sauf que jusqu'à maintenant, soit tu utilisais une API cloud (coûteux, données envoyées ailleurs), soit tu devais faire tourner du code Python en local (lourd pour un créateur non-dev).
Ce projet fait tourner l'inférence complète dans le navigateur. Aucune requête API. Zéro upload de données. Tu gardes le contrôle total.
Comment ça marche en 4 étapes
- ▸Clone :
bun installtélécharge ONNX Runtime Web (les assets WebAssembly) - ▸Exporte le modèle : Python exporte SHARP en ONNX (deux fichiers :
.onnx+.onnx.data~2,4 Go) - ▸Sers les fichiers : place les deux fichiers dans
public/models/ - ▸Lance :
bun dev, importe ton image, génère, télécharge
Le point critique : le fichier .onnx.data contient la majorité des poids du modèle. L'app peut utiliser une version hébergée par défaut si tu ne veux pas gérer les 2,4 Go localement.
Pièges et prérequis
- ▸RAM/disque : le modèle SHARP est lourd. Sur une machine modeste (8 Go de RAM), ça sera tendu.
- ▸Navigateur : Chrome ou Edge recommandé (meilleure prise en charge de WebGPU).
- ▸Export du modèle : tu dois configurer Python + les dépendances d'Apple, puis lancer un script d'export. Pas trivial si tu es non-dev.
- ▸Performances : l'inférence côté navigateur est plus lente qu'un serveur GPU. La première génération peut prendre du temps (initialisation du runtime + chargement du modèle).
Cas d'usage réalistes
- ▸Créateurs de contenu 3D qui veulent tester et itérer sans API cloud.
- ▸Recherche avec des données sensibles (médical, industriel).
- ▸Démo autonome qu'on peut héberger en statique sans backend.
État actuel
C'est un prototype expérimental (working title sur le repo). Ça fonctionne de bout en bout, mais la prise en charge de WebGPU varie selon le navigateur et l'OS, et les performances dépendent de ta machine. Les erreurs courantes (WASM mal servi, fichier sidecar manquant) sont bien documentées.
Essayer maintenant
Cloner le repo et lancer l'app →Source
📊 Cours en bourse
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :