画你所想,北航&港大提出DiffSketcher:基于扩散模型的文本驱动矢量化手绘草图合成

2023-11-01 13:50 427 阅读 ID:1574
将门
将门

草图与自然语言,是通过强调主体本质来有效传达思想的有力工具。作为抽象概念的载体,自然语言传达抽象的语义理解,而草图则体现了人类的视觉抽象呈现。草图可以提供比自然语言更多的视觉细节,使概念更加具体。可惜的是,目前从文本到草图的生成工作还没有被过多探索,人们之前更关注从真实图像生成草图的任务(如CLIPasso、InfoDrawing)。尽管它们能够从真实图中生成逼真的草图,但这些方法有一个局限性,即它们不能生成新的内容。

近年来,大模型如雨后春笋般迅速兴起。特别是在文生成图像领域,扩散概率模型展现出强大的潜力。它可以合成高保真度和多样性的图像,同时能够完成图像编辑、风格迁移等任务,并具有出色的可控能力。作者借助扩散模型强大的生成能力,结合基于自然图像生成草图的方法,在文本和手绘草图这两种基本的人类表达形式之间建立了一座桥梁,提出了从文本到草图生成模型:DiffSketcher。

论文名称: 

DiffSketcher: Text Guided Vector Sketch Synthesis through Latent Diffusion Models 

论文地址: 

https://arxiv.org/abs/2306.14685 

代码地址: 

https://github.com/ximinng/DiffSketcher

一、实现思路

DiffSketcher不需要经过任何训练,可以直接基于预训练的扩散模型,通过迭代优化生成草图。首先,在画布(Canvas)上初始化一组贝塞尔曲线,然后,借助可微光栅华器DiffVG,将这组曲线渲染为位图,并通过SDS损失以及JVSP 损失,迭代优化贝塞尔曲线的参数(控制点和颜色),经过快速迭代,便可得到一个符合文本提示的矢量草图。整个流程如下图所示:

1.1 贝塞尔曲线初始化

贝塞尔曲线初始化过程用到了来自LDM的两种注意力图:Cross attention map与Self-attention map。对于Cross attention map,通过指定激活的token(例如:”Tower“,见下图中黄色区域),拿到token 对应的 Cross attention map;对于Self-attention map,从特定层中抽取出所有的注意力图,计算均值(见下图中绿色区域),得到一张注意力图。最后,将两种attention map按照给定的参数进行融合:

得到融合的注意力图后经过Softmax函数后,即可视为一个概率分布图,根据概率加权采样画布上的点作为贝塞尔曲线的控制点。

这样初始化保证了一开始有大量的笔画位于图中语义信息更丰富的区域,可以更快迭代得到结果。

1.2 损失函数

迭代优化过程主要用到了两种损失函数:ASDS Loss和 JVSP Loss

作者提出了一个输入增强版本的分数蒸馏采样(ASDS)损失,使用三种数据增强方法对输入增强,将增强后的输入编码到隐空间,再输入到LDM中,计算SDS损失,通过可微渲染器传递梯度优化SVG参数。

此外,作者还提出了 Joint Visual Semantic and Perceptual (JVSP) 损失,该损失是由LIPIPS 损失和 CLIP Visual Encoder损失组成,将VAE decoder解码得到的彩色图像和渲染器渲染得到的位图进行比较,通过这两种损失计算两种图像之间的距离,优化可微渲染器。

二、实验结果一览

2.1 定性分析

下图是不同场景、不同抽象程度可视化结果。利用红色的词的 token 去获得对应 LDM 中的cross attention map用于计算初始化控制点。

彩色的矢量图生成结果如下所示:

风格化矢量图(Oil Painting)结果如下所示:

2.2 定量分析

和已有的两种方法:Canny 算法和CLIPasso的定量对比结果如下图所示,更多细节参见论文原文:

论文地址:

https://arxiv.org/abs/2306.14685

与同期工作VectorFusion的定性比较如下图:

生成速度方面,DIffsketcher方法大概只需要150s即可生成一张高质量SVG图,同等实验条件(单块A800显卡)下,VectorFusion(作者复现代码-https://github.com/ximinng/VectorFusion-pytorch)则需要大概1400s。

三、未来展望

Diffsketcher在复杂场景中生成效果不够好,部分生成矢量图的笔划比较杂乱。为了改善这一问题,后续可以进一步探索Attention map,以便diffsketcher能更加重视重要物体,减少次要因素对最终生成结果的影响;此外,Diffsketcher 的生成质量还有待提高,结果的美观程度距离商用标准仍有一定距离,生成速度方面也有提升的空间。

参考资料

[1] Kevin Frans, Lisa Soros, and Olaf Witkowski. CLIPDraw: Exploring text-to-drawing synthesis through language-image encoders. In Alice H. Oh, Alekh Agarwal, Danielle Belgrave, and Kyunghyun Cho, editors, Advances in Neural Information Processing Systems (NIPS), 2022.

[2] Ben Poole, Ajay Jain, Jonathan T. Barron, and Ben Mildenhall. Dreamfusion: Text-to-3d using 2d diffusion. In The Eleventh International Conference on Learning Representations (ICLR), 2023.

[3] Ajay Jain, Amber Xie, and Pieter Abbeel. Vectorfusion: Text-to-svg by abstracting pixel-based diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023.

[4] Yael Vinker, Ehsan Pajouheshgar, Jessica Y Bo, Roman Christian Bachmann, Amit Haim Bermano, Daniel Cohen-Or, Amir Zamir, and Ariel Shamir. Clipasso: Semantically-aware object sketching. ACM Transactions on Graphics (TOG), 41(4):1–11, 2022.

Illustration by IconScout Store Delesign Graphics

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn