StarVector: Generazione di Codice per Grafica Vettoriale Scalabile da Immagini
StarVector: Generating Scalable Vector Graphics Code from Images
December 17, 2023
Autori: Juan A. Rodriguez, Shubham Agarwal, Issam H. Laradji, Pau Rodriguez, David Vazquez, Christopher Pal, Marco Pedersoli
cs.AI
Abstract
Le Scalable Vector Graphics (SVG) sono diventate fondamentali nelle moderne applicazioni di rendering di immagini grazie alla loro scalabilità infinita in termini di risoluzione, versatilità d'uso e capacità di modifica. Le SVG sono particolarmente popolari nei campi dello sviluppo web e del design grafico. Gli approcci esistenti per la modellazione di SVG utilizzando il deep learning spesso incontrano difficoltà nella generazione di SVG complesse e sono limitati a quelle più semplici, che richiedono un'elaborazione e una semplificazione estese. Questo articolo introduce StarVector, un modello di generazione di SVG multimodale che integra efficacemente i Large Language Models per la generazione di codice (CodeLLMs) e i modelli visivi. Il nostro approccio utilizza un encoder di immagini CLIP per estrarre rappresentazioni visive da immagini basate su pixel, che vengono poi trasformate in token visivi tramite un modulo adattatore. Questi token visivi vengono anteposti agli embedding dei token SVG, e la sequenza viene modellata dal modello StarCoder utilizzando la previsione del token successivo, imparando efficacemente ad allineare i token visivi e quelli di codice. Ciò consente a StarVector di generare SVG senza restrizioni che rappresentano accuratamente le immagini pixel. Per valutare le prestazioni di StarVector, presentiamo SVG-Bench, un benchmark completo per valutare i metodi SVG su più dataset e metriche rilevanti. All'interno di questo benchmark, introduciamo nuovi dataset, tra cui SVG-Stack, un dataset su larga scala di esempi di SVG del mondo reale, e lo utilizziamo per pre-addestrare StarVector come un grande modello di base per le SVG. I nostri risultati dimostrano miglioramenti significativi nella qualità visiva e nella gestione della complessità rispetto ai metodi attuali, segnando un progresso notevole nella tecnologia di generazione di SVG. Codice e modelli: 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