【SVG 生成系列论文(三)】如何用 LLM 来生成 SVG 代码,StarVector: Generating Scalable Vector Graphics Code from Images

SVG 生成系列论文(一)SVG 生成系列论文(二) 分别介绍了 StarVector 的大致背景和详细的模型细节。本篇则重点介绍实验以及数据集部分

StarVector 一文中提出了一个用于验证位图到矢量图生成的数据集SVGBench,其主要来源于 Glypazzn[1],DeepSVG[2],TheStack[3] 三个工作。如下图所示:
在这里插入图片描述
对于不同的 Dataset (SVG-Fonts、Icons、Emoji和Stack)均拆为了训练、验证和测试集。

  • 训练集用于优化网络的参数权重。
  • 验证集用于调整抽样超参数,测试集用于评估。
  • 此外,由于 CodeLLM 只能模型可以处理高达 8k 个上下文标记,因此该数据集只考虑最多包含 8,192 个 tokens 的示例。

SVG 简化(Simplification):
由于 DeepSVG[2] 需要对其输入的SVG进行简化。简化包括消除复杂的基元( Primitives ),并仅使用矢量路径( Path )。此外,颜色和形状被抽象为仅使用简单的线条笔触。作者创建了数据集的简化版本,下表显示了包含在 SVG-Bench 中的完整数据集。

SVG基元(SVG Primitives)指的是可在SVG(可缩放矢量图形)图像中使用的基本形状或元素。这些基元包括诸如直线、圆、矩形、多边形等几何形状,以及路径、文本、渐变等其他元素。在SVG图像中,这些基元可以用来描述图形的结构和外观。简化SVG通常会消除复杂的基元,只保留最基本的矢量路径以及简单的线条笔触,以减少图像的复杂度和文件大小。

在这里插入图片描述

Baseline

在这里插入图片描述
如上图所示,在之前的工作中,通常只考虑了三个简单的SVG命令 - M(移动)、L(直线)和C(曲线),而该模型原则上可以处理所有类型的复杂SVG命令。主要的 Baseline (对比模型)包括:

  • Im2Vec [4] 使用端到端的变分自编码器(VAE),仅使用图像监督进行训练来生成矢量图形。输入的栅格化图像被编码为一个“全局”潜在向量,然后传递给一个RNN,以生成每个路径的潜在代码。路径解码器将这些路径代码解码为贝塞尔路径,以生成输出的SVG。
    在这里插入图片描述
  • DeepSVG [2] 被引入为一种层次化的基于 path 的 VAE- Transformer 架构。输入 path 被分别使用不同的 path 编码器编码,然后使用第二个编码器进行聚合以生成潜在向量。解码器使用这个潜在向量来输出路径表示,提供实际的绘制命令和参数。然而,DeepSVG框架只适用于简化后的SVG。
    在这里插入图片描述
  • VTracer [5] 是一个基于规则的算法,用于将图像转换为SVG。这个3步骤的流水线算法依赖于对图像的分层聚类,将其追踪为向量。首先,像素被转换为路径,然后被简化为多边形。然后,用贝塞尔曲线对多边形进行平滑和拟合近似处理。
  • GPT-4-Vision 是最近由OpenAI发布对一个多模态大语言模型。

评估指标

传统的基于像素的度量标准可能不完全适用于SVG评估,因为背景颜色的主导地位可能会使它们产生偏差。因此,评估指标可以分为三类:

  • Pixel-based 指标:Mean Squared Error (MSE) 和 Structural Similarity Index (SSIM)
  • Vector-based 指标:作者利用点云文献中改编的Chamfer Distance(CD)作为度量标准[6]。这涉及将每个SVG离散化为一组点,通过在规律的间隔处对路径进行采样来实现。CD度量了两个SVG中对应点之间的平均最近点距离,提供了相似性的定量度量。较小的CD表示两个SVG更相似,而较大的距离表明它们更不同。给定两个SVGs s 1 s_{1} s1 s 2 s_{2} s2,在2D中定义为一组点 p 1 ∈ s 1 p1 ∈ s1 p1s1 p 2 ∈ s 2 p2 ∈ s2 p2s2,CD定义为: c ( s 1 ,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值