点上方计算机视觉联盟获取更多干货

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:量子位

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

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

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

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

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

Im2Vec的插值效果

原理架构

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

架构概览1

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

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

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

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

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

架构概览2

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

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

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

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

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

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

与现有技术对比

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

重构性能评估

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

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

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

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

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

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

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

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

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

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

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

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

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

生成和插值性能评估

Im2Vec插值性能的测试效果

Im2Vec生成的随机样本

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

局限

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

基于栅格的训练性质给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/

end

我是王博Kings,一名985AI博士,华为云专家/CSDN博客专家,单个AI项目在Github上获得了2000标星,为了方便大家交流,附上了联系方式。

这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习 

目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟

王博Kings 的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章特征选择与稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(上)

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(下)

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点个在看支持一下吧

开源 | CVPR 2021无需向量监督的矢量图生成算法相关推荐

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

    说起图像生成算法,大家也许并不陌生. 不过,大多数算法都针对栅格图像,也就是位图,而不支持矢量图. 虽然也有一些生成矢量图形的算法,但是在监督训练中,又受限于矢量图数据集有限的质量和规模. 为此,来自 ...

  2. CVPR 2021| 端到端场景无关视觉定位算法(SuperGlue一作出品)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 今天要介绍的文章是"Back to the Feature: Learning Robust ...

  3. AI绘图实战(十):制作线稿矢量图之包头巾的女人,画矢量图/生成矢量图/导出矢量图/直出svg/vector studio插件使用 | Stable Diffusion成为设计师生产力工具

    S:AI能取代设计师么? I :至少在设计行业,目前AI扮演的主要角色还是超级工具,要顶替?除非甲方对设计效果无所畏惧~~ 预先学习: 安装及其问题解决参考:<Windows安装Stable D ...

  4. CVPR 2021 | 对抗攻防新方向:动作识别算法容易被攻击!

    智源导读:对抗样本是近年来非常热门的研究问题,但是大多数的研究往往针对于静态数据(图像.文本.几何),然而时序数据上的探索往往较少,本文主要是研究了一种特殊但十分重要的时序数据--骨架动作下的黑盒攻击 ...

  5. 2021年34省最新shp矢量图

    数据集名称:2021年34省最新shp矢量图 时间范围:2021年 相关说明:矢量图是根据几何特性来绘制图形,矢量可以是一个点或一条线,矢量图只能靠软件生成,文件占用内在空间较小,因为这种类型的图像文 ...

  6. 位图和矢量图格式有什么区别?如何一键把图片转换成矢量图?

    我们在做图片设计的时候经常会说到位图和矢量图格式,有时候在进行图片编辑时的素材往往尺寸较小,在进行放大或缩小后会降低图片的清晰度,这个时候经常会有人建议说把位图格式的图片转换成矢量图格式的图片会提高设 ...

  7. 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )

    文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...

  8. 矢量图VectorDrawable轻松实现箭头左右移动动画

    最近在学习利用矢量图VectorDrawable实现动画,发现矢量图也很强大,很多动画效果都可以简单实现,下面就是其中一个简单箭头左右移动的动画. 下面开始实现这个动画效果 1. 在res文件夹下创建 ...

  9. 【OpenI开源项目推荐-GammaGL】支持国内外主流深度学习框架的图神经网络算法库

    今天,OpenI要为大家推荐一款入驻社区的开源项目[GammaGL],它是由北邮GAMMA LAB 与鹏城实验室最新开源的图神经网络算法库Gamma Graph Library (GammaGL),支 ...

最新文章

  1. npoi导出execl源码,vs2008实现,包括using库
  2. 声音匹配_如何调节人声音色方法如下
  3. 警方办案滥用谷歌地理围栏,小伙三次骑车路过案发点被视作嫌犯
  4. 4 weekend110的hdfs下载数据源码跟踪铺垫 + hdfs下载数据源码分析-getFileSystem(值得反复推敲和打断点源码)...
  5. SSO的通用标准OpenID Connect
  6. 每个程序员都必须知道的8种通用数据结构
  7. 学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(中)
  8. 【干货】大数据驱动的因果建模在滴滴的应用实践
  9. 项目方说性能达到百万TPS,如何测试它的可信度?
  10. java使用UDP数据报通讯方式QQ聊天系统:服务器、客户端
  11. iphone 开发内存管理 心得
  12. 猿创征文|时间序列分析算法之平稳时间序列预测算法和自回归模型(AR)详解+Python代码实现
  13. 色彩搭配原理与技巧?
  14. Unity 3d Homework 5 打飞碟游戏实现
  15. 从浏览器中打开我们的应用
  16. [R]指令总结-Rstudio,R版本,R包
  17. sdlc 瀑布式 生命周期_管理信息系统中的SDLC瀑布模型
  18. ZOJ 3199 Longest Repeated Substring
  19. 《操作系统》第三章 知识点整理
  20. “程序猿”的等级划分

热门文章

  1. 计算机出现开机故障的原因,电脑开机出现英文故障?先别着急拿去修!几分钟教你轻松搞定...
  2. encoding python3_关于 Python3 的编码
  3. unity许可证不可用_不可思议之梦蝶从PC版移植到Nintendo Switch经验分享(上)
  4. php图片滑动的属性,使用css怎么实现图片的滑动效果?(示例)
  5. 【debug】moduleNotFoundError:No module named 'exceptions'
  6. 安杰文高等计算机与生产技术学校,法国留学院校推荐:安杰文高等计算机与生产技术学校...
  7. aspx 获取html值,aspx解析之后的html代码获取
  8. linux系统in命令,Linux中的In命令
  9. java 共享session_java session共享
  10. IAR平台移植TI OSAL到STC8A8K64S4A12单片机中