无需向量监督的矢量图生成算法,入选CVPR 2021

新闻 前端 算法
来自伦敦大学学院和Adobe Research的研究人员提出了一个新方法——Im2Vec,只需利用栅格训练图像进行间接监督,就可以生成复杂的矢量图形。

 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

说起图像生成算法,大家也许并不陌生。

不过,大多数算法都针对栅格图像,也就是位图,而不支持矢量图。

虽然也有一些生成矢量图形的算法,但是在监督训练中,又受限于矢量图数据集有限的质量和规模。

为此,来自伦敦大学学院和Adobe Research的研究人员提出了一个新方法——Im2Vec,只需利用栅格训练图像进行间接监督,就可以生成复杂的矢量图形

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

△Im2Vec的插值效果

原理架构

为建立无需向量监督的矢量图形生成模型,研究人员使用了可微的栅格化管线,该管线可以渲染生成的矢量形状,并将其合成到栅格画布上。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

△架构概览1

具体而言,首先要训练一个端到端的变分自动编码器,作为矢量图形解码器,用它将光栅图像编码为隐代码 z ,然后将其解码为一组有序的封闭向量路径。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

对于具有多个组件的图形,模型则利用RNN为每条路径生成一个隐代码。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

然后利用DiffVG对这些路径进行栅格化处理,并使用DiffComp将它们组合在一起,获得栅格化的矢量图形输出。

最后将栅格化的矢量图形与原本的矢量图形进行比较,计算二者之间的损失——多分辨率光栅损失,并利用误差反向传播和梯度下降方法来训练模型。

其中,编码的过程是这样的:

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

△架构概览2

使用路径解码器,将路径代码解码为封闭的贝塞尔路径,在单位圆上均匀地抽取路径控制点,以确保路径的封闭性。

接着,用具有圆形边界条件的一维卷积神经网络(CNN),对这些控制位置进行变形,以实现对点密度的自适应控制。

相比于控制点的均匀分布与段数相同,自适应方案调整采样密度,提高了重建精度。

同时利用训练的辅助模型,以复杂度-保真度进行权衡,确定路径的最佳分段数和路径控制点的数量。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

△统一采样与自适应采样:(a)保真度vs片段数 (b)误差与片段数

最后,使用另一个一维圆形CNN对调整点进行调整,在绘图画布的绝对坐标系中输出最终的路径控制点。

与现有技术对比

为评估Im2Vec在重构、生成和插值3个任务中的定量性能,研究人员将其与基于栅格的ImageVAE和基于矢量的SVG-VAE、DeepSVG进行对比。

重构性能评估

首先,计算各种方法和数据集的重建损失:

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

值得注意的是,在没有向量监督的情况下,SVG-VAE和DeepSVG均无法在数据集上运行。

同时,研究人员在不同数据集中,对各个方法的图形重构性能,进行了定性比较。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

字体重构的实验结果,可以看出:

Im2Vec可以捕获复杂的拓扑结构并输出矢量图形;
ImageVAE具有良好的保真度,但输出的栅格图像分辨率有限;
SVG-VAE和DeepSVG能产生矢量输出,但往往不能准确再现复杂的字体。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

MNIST数据集上训练的结果显示:

由于只有栅格数据,没有矢量图形基准,SVG-VAE和DeepSVG都不能在这个数据集上训练;

对于ImageVAE和Im2Vec,在没有数字类专门化或条件化的情况下,ImageVAE则受到低分辨率栅格图像的限制(图a),而Im2Vec能够生成矢量输出,因此具有相关的可编辑性和紧凑性优势;二者在生成插值上也都实现了较好的效果(图b)。

Emojis和Icons数据集测试模型的重建性能,可以看到Im2Vec模型可以在任意分辨率下进行光栅化。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

通过对不同方法的重构性能进行对比,研究团队得到结论:

虽然基于矢量的方法具有能够重现精确的矢量参数的优点,但它们受到矢量参数和图像清晰度之间非线性关系的不利影响。

SVG-VAE和DeepSVG所估计的矢量参数看似很小的误差,却可能导致图像外观的巨大变化。

而Im2Vec不会受到矢量参数和像素空间之间目标不匹配的影响,因而在重构任务中有显著的改进。

生成和插值性能评估

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源
无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

△Im2Vec插值性能的测试效果

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

△Im2Vec生成的随机样本

从实验数据可以看出,在FONTS和MNIST上,Im2Vec结果比其他方法都要准确,Im2Vec生成的随机样本,具有显著拓扑变化。

局限

不过,Im2Vec也存在一些局限。

无需向量监督的矢量图生成算法,入选CVPR 2021 |开源

基于栅格的训练性质给Im2Vec带来了一定的限制,可能造成一些细微特征的丢失。这一问题可以通过牺牲计算效率提高分辨率,或者通过开发更复杂的图像空间损失来解决。

此外,由于缺乏向量监督,在特殊情况下,Im2Vec可能会采用包含退化特征的近似最优值,或者考虑语义上无意义的部分来生成形状。

结论

Im2Vec的生成性设置支持投影(将图像转换为矢量序列)、生成(直接以矢量形式生成新的形状),以及插值(从矢量序列到另一个矢量序列的变形甚至拓扑变化),并且与需要向量监督的方法相比,Im2Vec实现了更好的重建保真度。

根据研究团队主页介绍,这篇论文已经入选CVPR 2021。

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2015-09-09 09:12:28

ios矢量图颜色

2015-06-04 10:40:20

VectorDrawaAndroid

2011-03-28 14:57:58

不重复随机数列生成

2017-01-03 15:16:56

Tofsee僵尸网络恶意软件

2021-11-07 14:33:48

算法Pairwise功能

2017-07-14 10:35:06

2024-03-04 00:06:00

位图GIF矢量图

2021-01-21 11:04:42

Python 开发编程语言

2024-10-08 10:30:00

AI生成技术

2021-04-21 14:58:49

神经网络AI深度学习

2021-03-18 09:28:20

人工智能机器学习技术

2024-06-05 19:45:08

2024-04-08 10:30:58

模型AI

2022-01-27 10:06:29

生成算法分布式

2012-02-16 08:27:14

安全漏洞RSA算法

2016-12-28 10:45:39

2013-09-09 15:29:50

设计师图标集

2015-07-13 18:13:47

Xcode矢量图像代码片段
点赞
收藏

51CTO技术栈公众号