摘要
最近,基于文本引导的可缩放矢量图形(SVG)合成在图标和草图等领域显示出潜力。然而,现有的文本到SVG生成方法在可编辑性、视觉质量和结果多样性方面存在不足。为了解决这些限制,我们提出了一种名为SVGDreamer的新型文本引导矢量图形合成方法。SVGDreamer结合了一种语义驱动的图像矢量化(SIVE)过程,该过程能够将合成分解为前景对象和背景,从而增强可编辑性。具体来说,SIVE过程引入了基于注意力的基元控制和注意力掩码损失函数,以实现对单个元素的有效控制和操作。此外,我们还提出了一种基于矢量粒子的分数蒸馏(VPSD)方法,通过将SVG建模为控制点和颜色的分布来解决现有文本到SVG生成方法中形状过度平滑、颜色过度饱和、多样性有限和收敛速度慢的问题。VPSD利用奖励模型重新加权矢量粒子,提高了美观性并加速了收敛。我们进行了广泛的实验来验证SVGDreamer的有效性,证明了其在可编辑性、视觉质量和多样性方面优于基线方法。项目页面:https://ximinng.github.io/SVGDreamer-project/
1 引言
可缩放矢量图形(SVG)使用几何基元(如贝塞尔曲线、多边形和线条)来表示视觉概念。由于其固有的特性,SVG非常适合视觉设计应用,如海报和标志。其次,与光栅图像相比,矢量图像可以保持紧凑的文件大小,使其在存储和传输方面更加高效。更重要的是,矢量图像提供了更大的可编辑性,允许设计师轻松选择、修改和组合元素。这一属性在设计过程中尤为重要,因为它允许无缝调整和创造性探索。
近年来,人们对通用矢量图形生成的兴趣日益增长。各种基于优化的方法[4, 28, 19, 40, 41, 34, 12, 48]被提出,这些方法建立在不同的可微光栅器DiffVG[14]之上。这些方法,如CLIPDraw[4]和VectorFusion[12],主要在监督方法上有所不同。一些作品[4, 28, 19, 34, 40, 41]将CLIP模型[23]与DiffVG[14]结合使用,使用CLIP作为监督源。最近,由文本到图像(T2I)扩散模型[20, 26, 24, 27, 37]取得的显著进展启发了文本到矢量图形的任务。VectorFusion[12]和DiffSketcher[48]尝试利用T2I扩散模型进行监督。这些模型利用T2I模型生成的高质量光栅图像作为目标来优化矢量图像的参数。此外,T2I模型中嵌入的先验知识可以被提炼并应用于这项任务。因此,使用T2I进行监督的模型通常比使用CLIP模型的模型表现更好。
尽管它们的表现令人印象深刻,但现有的基于T2I的方法存在一些限制。首先,这些方法生成的矢量图像缺乏可编辑性。与传统创建矢量图形的方法不同,其中单个元素逐一添加,T2I方法在合成过程中不区分不同的组成部分。因此,对象变得纠缠在一起,使得独立编辑或修改单个对象变得具有挑战性。其次,这些方法在视觉质量和结果多样性方面仍有很大的改进空间。VectorFusion[12]和DiffSketcher[48]将分数蒸馏采样(SDS)[22]扩展到从T2I模型中提炼先验知识。然而,人们观察到SDS可能会导致颜色过度饱和和过度平滑等问题,导致生成的矢量图像缺乏精细细节。此外,SDS以一种寻求模式的方式优化矢量图形空间中的控制点集,以获得与文本提示相对应的矢量图形的平均状态[22]。这导致基于SDS的方法[12, 48]在多样性、详细构建以及缺少文本提示对象方面存在不足。
为了解决上述问题,我们提出了一种名为SVGDreamer的新模型,用于文本引导的矢量图形生成。我们的主要目标是生成具有增强可编辑性、视觉吸引力和多样性的高质量矢量图形。为了确保可编辑性,我们提出了一个语义驱动的图像矢量化(SIVE)过程。这种方法引入了一种创新的基于注意力的基元控制策略,该策略有助于将合成过程分解为前景对象和背景。为了初始化每个前景对象和背景的控制点,我们利用由文本标记查询的交叉注意力图。此外,我们引入了一个注意力掩码损失函数,该函数可以分层优化图形元素。提出的SIVE过程确保了单个元素的分离和可编辑性,促进了对生成的矢量图形的有效控制和操作。
为了提高生成的矢量图形的视觉质量和多样性,我们为矢量图形细化引入了基于矢量粒子的分数蒸馏(VPSD)。之前在矢量图形合成中使用SDS的[12, 48, 11]工作经常遇到形状过度平滑、颜色过度饱和、多样性有限以及合成结果中收敛速度慢等问题[22, 48]。为了解决这些问题,VPSD将SVG建模为控制点和颜色的分布。VPSD采用LoRA[10]网络来估计这些分布,使矢量图形与预训练的扩散模型保持一致。此外,为了增强生成的矢量图形的美观性,我们集成了ReFL[49]来微调估计网络。通过这个细化过程,我们得到了表现出高可编辑性、卓越视觉质量和增加多样性的最终矢量图形。为了验证我们提出的方法的有效性,我们进行了广泛的实验来评估模型在多个方面的表现。总之,我们的贡献可以总结如下:
• 我们引入了SVGDreamer,这是一种新型的文本到SVG生成模型。这个新颖的模型能够生成高质量的矢量图形,同时保持可编辑性。
• 我们提出了语义驱动的图像矢量化(SIVE)方法,确保生成的矢量对象是独立的并易于编辑。此外,我们提出了基于矢量粒子的分数蒸馏(VPSD)损失,以确保生成的矢量图形在视觉质量和多样性方面都表现出色。
• 我们进行了全面的实验来评估我们提出的方法的有效性。结果证明了我们的方法相对于基线方法的优势。此外,我们的模型在生成不同类型的矢量图形方面展示了强大的泛化能力。
图1:给定一个文本提示,SVGDreamer可以生成各种矢量图形。SVGDreamer是一个多功能工具,可以处理各种矢量样式,而不限于特定的提示后缀。我们使用各种颜色的后缀来表示不同的样式。样式由矢量基元控制。
2. 相关工作
2.1 矢量图形生成
可缩放矢量图形(SVG)提供了一种使用基元表示视觉概念的声明式格式。创建SVG内容的一种方法是使用序列到序列(seq2seq)模型来生成SVG[5, 16, 1, 25, 43, 44, 46]。这些方法严重依赖于矢量形式的数据集,这限制了它们的泛化能力和生成复杂矢量图形的能力。另一种矢量合成方法是在评估时优化以匹配图像。
Li等人[14]引入了一个可微分的光栅化器,将矢量图形和光栅图像领域连接起来。虽然传统上在矢量图形上操作的图像生成方法需要一个基于矢量的数据集,但最近的工作已经证明了使用可微分的渲染