StarVector: Generación de Código de Gráficos Vectoriales Escalables a partir de Imágenes
StarVector: Generating Scalable Vector Graphics Code from Images
December 17, 2023
Autores: Juan A. Rodriguez, Shubham Agarwal, Issam H. Laradji, Pau Rodriguez, David Vazquez, Christopher Pal, Marco Pedersoli
cs.AI
Resumen
Los gráficos vectoriales escalables (SVG, por sus siglas en inglés) se han convertido en elementos fundamentales en las aplicaciones modernas de renderizado de imágenes debido a su escalabilidad infinita en resolución, versatilidad de uso y capacidades de edición. Los SVG son especialmente populares en los campos del desarrollo web y el diseño gráfico. Los enfoques existentes para el modelado de SVG utilizando aprendizaje profundo a menudo tienen dificultades para generar SVG complejos y se limitan a aquellos más simples que requieren un procesamiento y simplificación extensos. Este artículo presenta StarVector, un modelo multimodal de generación de SVG que integra eficazmente modelos de lenguaje de gran escala para generación de código (CodeLLMs) y modelos de visión. Nuestro enfoque utiliza un codificador de imágenes CLIP para extraer representaciones visuales de imágenes basadas en píxeles, las cuales se transforman en tokens visuales mediante un módulo adaptador. Estos tokens visuales se anteponen a las incrustaciones de tokens de SVG, y la secuencia es modelada por el modelo StarCoder utilizando la predicción del siguiente token, aprendiendo efectivamente a alinear los tokens visuales y de código. Esto permite a StarVector generar SVG sin restricciones que representan con precisión imágenes de píxeles. Para evaluar el rendimiento de StarVector, presentamos SVG-Bench, un punto de referencia integral para evaluar métodos de SVG en múltiples conjuntos de datos y métricas relevantes. Dentro de este punto de referencia, introducimos nuevos conjuntos de datos, incluido SVG-Stack, un conjunto de datos a gran escala de ejemplos de SVG del mundo real, y lo utilizamos para preentrenar StarVector como un modelo base de gran escala para SVG. Nuestros resultados demuestran mejoras significativas en la calidad visual y el manejo de la complejidad en comparación con los métodos actuales, marcando un avance notable en la tecnología de generación de SVG. Código y modelos: https://github.com/joanrod/star-vector.
English
Scalable Vector Graphics (SVGs) have become integral in modern image
rendering applications due to their infinite scalability in resolution,
versatile usability, and editing capabilities. SVGs are particularly popular in
the fields of web development and graphic design. Existing approaches for SVG
modeling using deep learning often struggle with generating complex SVGs and
are restricted to simpler ones that require extensive processing and
simplification. This paper introduces StarVector, a multimodal SVG generation
model that effectively integrates Code Generation Large Language Models
(CodeLLMs) and vision models. Our approach utilizes a CLIP image encoder to
extract visual representations from pixel-based images, which are then
transformed into visual tokens via an adapter module. These visual tokens are
pre-pended to the SVG token embeddings, and the sequence is modeled by the
StarCoder model using next-token prediction, effectively learning to align the
visual and code tokens. This enables StarVector to generate unrestricted SVGs
that accurately represent pixel images. To evaluate StarVector's performance,
we present SVG-Bench, a comprehensive benchmark for evaluating SVG methods
across multiple datasets and relevant metrics. Within this benchmark, we
introduce novel datasets including SVG-Stack, a large-scale dataset of
real-world SVG examples, and use it to pre-train StarVector as a large
foundation model for SVGs. Our results demonstrate significant enhancements in
visual quality and complexity handling over current methods, marking a notable
advancement in SVG generation technology. Code and models:
https://github.com/joanrod/star-vector