StarVector : Génération de code graphique vectoriel évolutif à partir d'images
StarVector: Generating Scalable Vector Graphics Code from Images
December 17, 2023
papers.authors: Juan A. Rodriguez, Shubham Agarwal, Issam H. Laradji, Pau Rodriguez, David Vazquez, Christopher Pal, Marco Pedersoli
cs.AI
papers.abstract
Les graphiques vectoriels évolutifs (SVG) sont devenus essentiels dans les applications modernes de rendu d'images grâce à leur évolutivité infinie en termes de résolution, leur polyvalence d'utilisation et leurs capacités d'édition. Les SVG sont particulièrement populaires dans les domaines du développement web et du design graphique. Les approches existantes pour la modélisation des SVG utilisant l'apprentissage profond peinent souvent à générer des SVG complexes et se limitent à des versions plus simples nécessitant un traitement et une simplification intensifs. Cet article présente StarVector, un modèle multimodal de génération de SVG qui intègre efficacement des modèles de langage de grande taille pour la génération de code (CodeLLMs) et des modèles de vision. Notre approche utilise un encodeur d'images CLIP pour extraire des représentations visuelles à partir d'images basées sur des pixels, qui sont ensuite transformées en tokens visuels via un module d'adaptation. Ces tokens visuels sont préfixés aux embeddings de tokens SVG, et la séquence est modélisée par le modèle StarCoder en utilisant la prédiction du token suivant, apprenant ainsi à aligner les tokens visuels et de code. Cela permet à StarVector de générer des SVG sans restriction qui représentent fidèlement les images pixelisées. Pour évaluer les performances de StarVector, nous présentons SVG-Bench, un benchmark complet pour évaluer les méthodes de génération de SVG sur plusieurs ensembles de données et métriques pertinentes. Dans ce benchmark, nous introduisons de nouveaux ensembles de données, notamment SVG-Stack, un ensemble de données à grande échelle d'exemples de SVG du monde réel, et l'utilisons pour pré-entraîner StarVector en tant que modèle de fondation de grande taille pour les SVG. Nos résultats démontrent des améliorations significatives en termes de qualité visuelle et de gestion de la complexité par rapport aux méthodes actuelles, marquant une avancée notable dans la technologie de génération de SVG. Code et modèles : 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