StarVector: Het genereren van schaalbare vectorafbeeldingen code vanuit afbeeldingen
StarVector: Generating Scalable Vector Graphics Code from Images
December 17, 2023
Auteurs: Juan A. Rodriguez, Shubham Agarwal, Issam H. Laradji, Pau Rodriguez, David Vazquez, Christopher Pal, Marco Pedersoli
cs.AI
Samenvatting
Schaalbare Vectorafbeeldingen (SVG's) zijn essentieel geworden in moderne beeldweergavetoepassingen vanwege hun oneindige schaalbaarheid in resolutie, veelzijdige bruikbaarheid en bewerkingsmogelijkheden. SVG's zijn vooral populair op het gebied van webontwikkeling en grafisch ontwerp. Bestaande benaderingen voor SVG-modellering met behulp van deep learning hebben vaak moeite met het genereren van complexe SVG's en zijn beperkt tot eenvoudigere varianten die uitgebreide verwerking en vereenvoudiging vereisen. Dit artikel introduceert StarVector, een multimodaal SVG-generatiemodel dat effectief Code Generation Large Language Models (CodeLLM's) en vision-modellen integreert. Onze aanpak maakt gebruik van een CLIP-beeldencoder om visuele representaties uit pixelgebaseerde afbeeldingen te extraheren, die vervolgens worden omgezet in visuele tokens via een adaptermodule. Deze visuele tokens worden voorafgevoegd aan de SVG-token-embeddings, en de reeks wordt gemodelleerd door het StarCoder-model met behulp van next-token-prediction, waardoor het model effectief leert om de visuele en code-tokens uit te lijnen. Hierdoor kan StarVector onbeperkte SVG's genereren die pixelafbeeldingen nauwkeurig weergeven. Om de prestaties van StarVector te evalueren, presenteren we SVG-Bench, een uitgebreide benchmark voor het evalueren van SVG-methoden over meerdere datasets en relevante metrieken. Binnen deze benchmark introduceren we nieuwe datasets, waaronder SVG-Stack, een grootschalige dataset van real-world SVG-voorbeelden, en gebruiken we deze om StarVector voor te trainen als een groot foundation-model voor SVG's. Onze resultaten tonen aanzienlijke verbeteringen in visuele kwaliteit en complexiteitsbehandeling ten opzichte van huidige methoden, wat een opmerkelijke vooruitgang markeert in SVG-generatietechnologie. Code en modellen: 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