- NeuralSVG est une recherche ICCV 2025 qui convertit des prompts textuels en SVG composés de formes ordonnées et éditables
- Les méthodes existantes de génération texte-vers-vecteur produisent souvent des sorties surparamétrées ou traitent la structure en calques comme un objectif secondaire, ce qui peut les rendre difficiles à utiliser comme véritables graphismes vectoriels éditables
- La scène SVG entière est encodée dans les poids d’un petit réseau MLP, puis optimisée pour correspondre à la condition textuelle avec le Score Distillation Sampling (SDS)
- La régularisation par dropout imbriqué pousse chaque forme à jouer un rôle significatif de manière indépendante, de sorte que la structure générale de la scène reste préservée même lorsqu’on ne conserve qu’un petit nombre de formes
- À partir d’une seule représentation entraînée, il est possible d’ajuster au moment de l’inférence la palette de couleurs selon la couleur de fond, le ratio d’aspect et le nombre de traits d’un croquis
Une approche orientée vers la génération de SVG éditables
- Les graphismes vectoriels constituent un médium important dans le design, car ils permettent de créer des contenus visuels indépendants de la résolution et éditables
- Les progrès des modèles vision-langage et des modèles de diffusion ont accru l’intérêt pour la génération de graphismes vectoriels à partir de texte
- Les approches existantes peuvent présenter deux limites
- une sortie surparamétrée
- le traitement de la structure en calques, pourtant fonction clé des graphismes vectoriels, comme un objectif secondaire
- En s’appuyant sur l’importance d’une représentation SVG avec calques, NeuralSVG propose une représentation neuronale implicite pour générer des graphismes vectoriels à partir de prompts textuels
Encoder la scène dans un petit MLP
- NeuralSVG s’inspire de NeRF et encode la scène entière dans les poids d’un petit réseau MLP
- L’optimisation utilise le Score Distillation Sampling (SDS)
- Pour produire une représentation ordonnée, la méthode introduit une technique de régularisation fondée sur le dropout
- elle encourage chaque forme apprise à avoir un rôle significatif et ordonné dans l’ensemble de la scène
- même en modifiant le nombre de formes conservées dans le rendu final, un petit nombre de formes suffit à capturer la structure globale de la scène
Contrôle dynamique au moment de l’inférence
- L’utilisation d’une représentation neuronale permet d’ajuster dynamiquement le SVG généré à partir d’une seule représentation entraînée selon les entrées utilisateur
- Exemples de contrôles pris en charge
- changer la couleur de fond pour rendre une palette de couleurs différente dans le SVG résultant
- présenter des résultats à la fois pour des couleurs de fond observées pendant l’entraînement et non observées
- comparer les résultats de NeuralSVG optimisé avec des ratios d’aspect 1:1 et 4:1
- générer des croquis avec différents nombres de traits à partir d’un seul réseau
1 commentaires
Avis de Hacker News
Excellent. Je pense que la génération vectorielle est bien plus utile que la génération raster comme DALL-E ou Midjourney, qui ont suscité beaucoup d’attention jusqu’ici.
Les sorties raster sont difficiles à exploiter, car pour les améliorer de manière itérative jusqu’à un résultat vraiment utilisable, il faut ensuite faire d’autres appels à de l’IA générative pour de l’upscaling ou de l’inpainting. En revanche, les vecteurs générés sont intrinsèquement redimensionnables et faciles à modifier.
En particulier, ces résultats ont une faible complexité, chaque forme étant composée d’aussi peu de points que possible, ce qui est un gros avantage pour une expérience où un humain intervient pour les retoucher. Dans les visuels génératifs, produire une représentation simplifiée est, à mon avis, plus difficile et plus précieux que de produire une représentation complexe et brouillonne.
Bien sûr, cela reste peu adapté si l’objectif est de produire des textures denses ou des images photoréalistes, domaine où Midjourney excelle. L’an dernier, pour https://gwern.net/dropcap, il fallait utiliser un flux assez complexe en passant par Midjourney puis Recraft, mais si je devais créer des lettrines aujourd’hui, le dernier modèle de Recraft suffirait probablement.
C’est un travail qui s’appuie sur les épaules de géants, et l’original n’est pas de moi. Il est aussi utilisable via npm.
Bien sûr, c’est très bien pour une interface texte-musique. Pour l’instant, je travaille surtout sur un codec audio parcimonieux axé sur les sons naturels, avec des hypothèses physiques très grossières pour encourager une représentation parcimonieuse.
https://blog.cochlea.xyz/sparse-interpretable-audio-codec-pa...
J’aime beaucoup ce type de génération progressive. Le langage n’est pas assez précis pour décrire exactement le produit final, donc générer des étapes intermédiaires est une approche très puissante.
J’aimerais voir ce type d’approche dans la génération musicale. Des outils comme Suno sont impressionnants, mais personnellement je préférerais de loin qu’ils génèrent du MIDI et des réglages d’instruments plutôt que l’audio lui-même.
C’est peut-être une bonne leçon pour les outils génératifs. Il est possible de générer un bon point de départ, mais ce que les gens veulent vraiment se trouve dans la longue traîne. C’est donc la capacité à effectuer des modifications précises qui fait la différence entre une démo soignée et un outil puissant.
Il est indiqué « Code coming soon » ; les exemples sont assez bons, mais je ne sais pas à quel point ils sont reproductibles.
https://github.com/chaosprint/RaveForce
RaveForce est une boîte à outils de style OpenAI Gym pour expérimenter la génération musicale. J’aime Suno, mais au final, pour travailler dessus, il me faut du MIDI, du XML ou des échantillons sans perte.
Le simple fait d’appliquer Sonnet à des animations SVG était déjà impressionnant, mais ceci pourrait être beaucoup plus puissant.
Exemple amusant : https://gist.github.com/scosman/701275e737331aaab6a2acf74a52...
J’ai toujours pensé que la génération de représentations intermédiaires était la voie à suivre. Créer un AST au lieu de générer une syntaxe concrète, produire du SVG au lieu du PNG, générer des wireframes ou du rigging et des scripts au lieu d’images successives pour une animation.
Avec une représentation intermédiaire, il suffit de la modifier puis de la rendre. Une fois le rendu obtenu, on peut saupoudrer une dernière couche de poudre magique d’IA.
Peut-être qu’un jour les modèles génératifs seront assez puissants pour permettre un contrôle fin uniquement en langage naturel, mais d’ici là cette méthode semble offrir de meilleurs atouts : la contrôlabilité, l’interopérabilité avec les outils existants comme Intellisense ou les éditeurs d’images, et des modèles plus petits et moins coûteux qui n’ont pas à gérer un espace de pixels de grande dimension.
J’ai hâte de voir ce que ce modèle donne sur le prompt de test de Simon Willison pour la génération SVG par LLM : « générer un SVG d’un pélican à vélo ».
Le rythme des progrès de l’IA est assez stupéfiant, et cela va continuer à s’améliorer, ce qui est aussi un peu effrayant.
J’ai essayé plusieurs modèles, mais ils se sont lamentablement trompés. Claude s’en sort à peu près correctement avec « générer un SVG d’un pélican à vélo ».
Très bien. Je devais convertir un masque binaire en SVG et je voulais éviter l’étape intermédiaire ; en cherchant un article où un modèle de segmentation produit du SVG, je suis tombé sur celui-ci.
https://arxiv.org/abs/2311.05276
La génération de croquis est incroyable. Et en plus, on dirait que cela vient presque gratuitement.
Cela devrait ouvrir beaucoup de possibilités pour les outils de rédaction de documents. C’est vraiment excellent, et j’ai hâte de l’essayer dès que le code sera publié.
Bien. Dans le même esprit, j’attends aussi la génération textuelle de diagrammes. Quelque chose comme Pic/Pikchr à l’ère des LLM.
Vraiment cool. J’ai ajouté des animations à des SVG avec Claude, et cela marchait plutôt bien.