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

用栅格图像训练模型,重建保真度更高

子豪 发自 凹非寺
量子位 报道 | 公众号 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。

模型算法代码在GitHub上开源,感兴趣的读者可以通过文末链接查看~

相关链接:
[1]https://arxiv.org/abs/2102.02798
[2]https://github.com/preddy5/Im2Vec
[3]http://geometry.cs.ucl.ac.uk/projects/2021/im2vec/

版权所有,未经授权不得以任何形式转载及使用,违者必究。