点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
在CVer微信公众号后台回复:DiffSketcher,可以下载本论文pdf、代码,学起来!
题目:DiffSketcher: Text Guided Vector Sketch Synthesis through Latent Diffusion Models
论文地址:
https://arxiv.org/abs/2306.14685
代码地址:
https://github.com/ximinng/DiffSketcher
论文背景
草图与自然语言,是通过强调主体本质来有效传达思想的有力工具。作为抽象概念的载体,自然语言传达抽象的语义理解,而草图则体现了人类的视觉抽象呈现。草图可以提供比自然语言更多的视觉细节,使概念更加具体。可惜的是,目前从文本到草图的生成工作还没有被过多探索,人们之前更关注从真实图像生成草图的任务(如CLIPasso、InfoDrawing)。尽管它们能够从真实图中生成逼真的草图,但这些方法有一个局限性,即它们不能生成新的内容。
近年来,大模型如雨后春笋般迅速兴起。特别是在文生成图像领域,扩散概率模型展现出强大的潜力。它可以合成高保真度和多样性的图像,同时能够完成图像编辑、风格迁移等任务,并具有出色的可控能力。作者借助扩散模型强大的生成能力,结合基于自然图像生成草图的方法,在文本和手绘草图这两种基本的人类表达形式之间建立了一座桥梁,提出了从文本到草图生成模型:DiffSketcher。
实现思路
DiffSketcher不需要经过任何训练,可以直接基于预训练的扩散模型,通过迭代优化生成草图。首先,在画布(Canvas)上初始化一组贝塞尔曲线,然后,借助可微光栅华器DiffVG,将这组曲线渲染为位图,并通过SDS损失以及JVSP 损失,迭代优化贝塞尔曲线的参数(控制点和颜色),经过快速迭代,便可得到一个符合文本提示的矢量草图。整个流程如下图所示:
贝塞尔曲线初始化
贝塞尔曲线初始化过程用到了来自LDM的两种注意力图:Cross attention map与Self-attention map。对于Cross attention map,通过指定激活的token(例如:”Tower“,见下图中黄色区域),拿到token 对应的 Cross attention map;对于Self-attention map,从特定层中抽取出所有的注意力图,计算均值(见下图中绿色区域),得到一张注意力图。最后,将两种attention map按照给定的参数进行融合:
得到融合的注意力图后经过Softmax函数后,即可视为一个概率分布图,根据概率加权采样画布上的点作为贝塞尔曲线的控制点。
这样初始化保证了一开始有大量的笔画位于图中语义信息更丰富的区域,可以更快迭代得到结果。
损失函数
迭代优化过程主要用到了两种损失函数:ASDS Loss和 JVSP Loss
作者提出了一个输入增强版本的分数蒸馏采样(ASDS)损失,使用三种数据增强方法对输入增强,将增强后的输入编码到隐空间,再输入到LDM中,计算SDS损失,通过可微渲染器传递梯度优化SVG参数。
此外,作者还提出了 Joint Visual Semantic and Perceptual (JVSP) 损失,该损失是由LIPIPS 损失和 CLIP Visual Encoder损失组成,将VAE decoder解码得到的彩色图像和渲染器渲染得到的位图进行比较,通过这两种损失计算两种图像之间的距离,优化可微渲染器。
实验结果一览
定性分析
下图是不同场景、不同抽象程度可视化结果。利用红色的词的 token 去获得对应 LDM 中的cross attention map用于计算初始化控制点。
彩色的矢量图生成结果如下所示:
风格化矢量图(Oil Painting)结果如下所示:
定量分析
和已有的两种方法:Canny 算法和CLIPasso的定量对比结果如下图所示,更多细节参见论文原文:
与同期工作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.
在CVer微信公众号后台回复:DiffSketcher,可以下载本论文pdf、代码,学起来!
ICCV / CVPR 2023论文和代码下载
后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集
后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
扩散模型和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer444,即可添加CVer小助手微信,便可申请加入CVer-扩散模型或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如扩散模型或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer444,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!
▲扫码进星球
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看![d2961b720c8c1015745fc6e8055bb894.gif](https://i-blog.csdnimg.cn/blog_migrate/bd16fd17b0b403e82e28736cf1a9eb2a.gif)