NeuralSVG: representación implícita para la generación de texto a vector
(sagipolaczek.github.io)- NeuralSVG es una investigación de ICCV 2025 que convierte prompts de texto en formas ordenadas y editables para generar SVG
- Los métodos existentes de generación de texto a vector pueden ser difíciles de usar como gráficos vectoriales realmente editables porque la salida está excesivamente parametrizada o porque tratan la estructura por capas como algo secundario
- Codifica toda la escena SVG en los pesos de una pequeña red MLP y la optimiza para ajustarse a la condición de texto con Score Distillation Sampling (SDS)
- La regularización de dropout anidado guía a que cada forma tenga un rol significativo e independiente, de modo que incluso si se dejan pocas formas se mantiene la estructura general de la escena
- Con una sola representación entrenada, en tiempo de inferencia se pueden ajustar la paleta de colores según el color de fondo, la relación de aspecto y la cantidad de trazos del boceto
Un enfoque orientado a generar SVG editables
- Los gráficos vectoriales son un medio importante en diseño porque permiten crear contenido visual editable e independiente de la resolución
- Con los avances de los modelos visión-lenguaje y los modelos de difusión, ha crecido el interés por la generación de gráficos vectoriales a partir de texto
- Los enfoques existentes pueden tener dos limitaciones
- La salida está excesivamente parametrizada
- Tratan la estructura por capas, una función central de los gráficos vectoriales, como un objetivo secundario
- Basado en la importancia de una representación SVG con capas, NeuralSVG propone una representación neuronal implícita para generar gráficos vectoriales a partir de prompts de texto
Cómo codifica la escena en una MLP pequeña
- Inspirado en NeRF, NeuralSVG codifica toda la escena en los pesos de una pequeña red MLP
- Para la optimización utiliza Score Distillation Sampling (SDS)
- Para crear una representación ordenada, introduce una técnica de regularización basada en dropout
- Guía a que cada forma aprendida tenga un papel significativo y ordenado dentro de la escena completa
- Incluso si se cambia la cantidad de formas que se conservan en el render final, se puede captar la estructura general de la escena con pocas formas
Control dinámico en tiempo de inferencia
- Al usar una representación neuronal, el SVG generado a partir de una sola representación entrenada puede ajustarse dinámicamente según la entrada del usuario
- Algunos ejemplos de control soportado son los siguientes
- Cambiar el color de fondo para renderizar una paleta de colores distinta en el SVG resultante
- Presentar resultados tanto para colores de fondo observados durante el entrenamiento como para colores no observados
- Comparar resultados de NeuralSVG optimizado con relaciones de aspecto 1:1 y 4:1
- Generar bocetos con distintas cantidades de trazos usando una sola red
1 comentarios
Comentarios de Hacker News
Excelente. Creo que la utilidad de la generación vectorial es mucho mayor que la de la generación ráster, como DALL-E o Midjourney, que hasta ahora han recibido mucha atención.
La salida ráster es difícil de manejar porque, para iterar hasta obtener resultados realmente útiles, hay que hacer upscale o inpainting con llamadas posteriores a IA generativa. En cambio, los vectores generados son, por naturaleza, escalables y fáciles de editar.
En especial, estos resultados tienen baja complejidad, con cada figura compuesta por la menor cantidad posible de puntos, lo que ofrece una gran ventaja para la experiencia de edición con intervención humana. En visuales generativos, creo que producir representaciones simplificadas es más difícil y más valioso que generar expresiones complejas y desordenadas.
Claro que todavía no es adecuado para crear imágenes fotográficas o texturas densas, que es donde Midjourney destaca. Hace más o menos un año, en https://gwern.net/dropcap había que usar un flujo algo complejo: generar con Midjourney y luego pasar por Recraft. Pero si hoy hiciera capitulares, creo que bastaría con el modelo más reciente de Recraft.
Es un trabajo construido sobre hombros de gigantes y el original no es mío. También se puede usar desde npm.
Claro, están bien para interfaces de texto a música. Ahora estoy creando un códec de audio disperso enfocado sobre todo en sonidos naturales, usando supuestos basados en física, aunque sea de forma muy aproximada, para inducir una representación dispersa.
https://blog.cochlea.xyz/sparse-interpretable-audio-codec-pa...
Me gustan mucho estos métodos de generación incremental. El lenguaje no es lo suficientemente preciso para describir con exactitud el producto final, así que generar pasos intermedios es muy potente.
Me gustaría ver este enfoque también en la generación musical. Herramientas como Suno son geniales, pero personalmente preferiría mucho más que generaran MIDI y configuraciones de instrumentos en lugar del audio en sí.
También puede ser una buena lección para las herramientas generativas. Es posible generar un buen punto de partida, pero lo que la gente realmente quiere está en la larga cola. Por eso, incluir capacidad de ajuste preciso marca la diferencia entre una demo preparada y una herramienta potente.
Dice “Code coming soon”, y los ejemplos son bastante buenos, pero no sé qué tan reproducibles serán.
https://github.com/chaosprint/RaveForce
RaveForce es un conjunto de herramientas estilo OpenAI Gym para experimentos de generación musical. Me gusta Suno, pero al final, para trabajar, necesito MIDI, XML o muestras sin pérdida.
Solo aplicar Sonnet a animaciones SVG ya era impresionante, pero esto parece poder ser mucho más potente.
Ejemplo divertido: https://gist.github.com/scosman/701275e737331aaab6a2acf74a52...
Siempre pensé que la generación de representaciones intermedias era el camino a seguir. Crear un AST en lugar de generar sintaxis concreta, crear SVG en lugar de PNG, generar wireframes o rigging y scripts en vez de imágenes consecutivas para animación.
Si tienes una representación intermedia, la modificas y la renderizas. Si ya tienes el render, al final le espolvoreas una capa de polvo mágico de IA.
Quizás algún día los modelos generativos sean lo bastante potentes como para permitir control fino solo con lenguaje natural, pero hasta entonces creo que este enfoque tendrá ventajas en controlabilidad, interoperabilidad con herramientas existentes como Intellisense o editores de imágenes, y modelos más pequeños y baratos que no tengan que lidiar con espacios de píxeles de alta dimensión.
Tengo curiosidad por ver qué resultado daría este modelo con el prompt de prueba de Simon Willison para generación SVG con LLM: “genera un SVG de un pelícano andando en bicicleta”.
El ritmo de avance de la IA es bastante sorprendente y seguirá mejorando, lo que también da un poco de miedo.
Probé varios modelos, pero se equivocaron de forma desastrosa. Claude lo hace más o menos bien con “genera un SVG de un pelícano andando en bicicleta”.
Muy bueno. Tenía que convertir bitmasks a SVG y quería saltarme el paso intermedio, así que estaba buscando papers donde un modelo de segmentación produzca SVG, y encontré esto.
https://arxiv.org/abs/2311.05276
La generación de bocetos es impresionante. Además, parece venir casi gratis.
Creo que abrirá muchas oportunidades para herramientas de creación de documentos. Es realmente genial, y quiero probarlo pronto cuando publiquen el código.
Bien. En una línea similar, también espero la generación de texto para diagramas. Algo como Pic/Pikchr en la era de los LLM.
Muy genial. He estado usando Claude para agregar animaciones a SVG y funcionó bastante bien.