StarVector: Gerando Código de Gráficos Vetoriais Escaláveis a partir de Imagens
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
Resumo
Os gráficos vetoriais escaláveis (SVGs) tornaram-se essenciais em aplicações modernas de renderização de imagens devido à sua escalabilidade infinita em resolução, usabilidade versátil e capacidades de edição. Os SVGs são particularmente populares nas áreas de desenvolvimento web e design gráfico. As abordagens existentes para modelagem de SVGs usando aprendizado profundo frequentemente enfrentam dificuldades na geração de SVGs complexos e são limitadas a SVGs mais simples que exigem processamento e simplificação extensivos. Este artigo apresenta o StarVector, um modelo multimodal de geração de SVGs que integra efetivamente modelos de linguagem de grande escala para geração de código (CodeLLMs) e modelos de visão. Nossa abordagem utiliza um codificador de imagens CLIP para extrair representações visuais de imagens baseadas em pixels, que são então transformadas em tokens visuais por meio de um módulo adaptador. Esses tokens visuais são pré-anexados às incorporações de tokens de SVG, e a sequência é modelada pelo modelo StarCoder usando previsão de próximo token, aprendendo efetivamente a alinhar os tokens visuais e de código. Isso permite que o StarVector gere SVGs irrestritos que representam com precisão imagens em pixels. Para avaliar o desempenho do StarVector, apresentamos o SVG-Bench, um benchmark abrangente para avaliar métodos de SVG em vários conjuntos de dados e métricas relevantes. Dentro desse benchmark, introduzimos novos conjuntos de dados, incluindo o SVG-Stack, um conjunto de dados em larga escala de exemplos de SVGs do mundo real, e o utilizamos para pré-treinar o StarVector como um grande modelo de base para SVGs. Nossos resultados demonstram melhorias significativas na qualidade visual e no tratamento da complexidade em relação aos métodos atuais, marcando um avanço notável na tecnologia de geração de SVGs. Código e 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