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

Python实现将位图描摹为彩色矢量 svg 图片的源代码,Python实现位图转彩色矢量代码 这是一个将位图描摹为彩色矢量 svg 图片的程序,是一个命令行工具,使用 Python 脚本实现,运行环境 Python3.8+。 阅读详情

在开始学习之前推荐大家可以多在  FlyAI竞赛服务平台 多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。说起图像生成算法,大家也许并不陌生。

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

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

为此,来自伦敦大学学院和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/

声明:文章收集于网络,版权归原作者所有,为传播信息而发,如有侵权,请联系小编删除,谢谢!

 

更多精彩内容请访问FlyAI-AI竞赛服务平台;为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台;每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。

挑战者,都在FlyAI!!!

 

DeepSeek API 百万 Token 上下文技术解析与工程落地指南 长上下文是大模型从片段问答迈向文档级理解的关键能力,其核心在于 KV 缓存优化、位置编码外推增强与推理调度重构,而非单纯硬件堆叠。百万 Token 支持显著提升法律合同审查、科研文献分析、企业 SOP 执行等场景的语义连贯性与跨章节推理能力,尤其在 RAG 架构中可大幅简化 chunk 切分与重排序设计。结合 DeepSeekAPI 的三端一致性(App/网页版/API)与生产级调优实践,开发者能以现有 A100 集群稳定支撑 40 万+ token 输入,实现低延迟、高准确率的长文档认知服务。 阅读详情

相关推荐

diffvg:可微分的矢量图形栅格化

差异 矢量图形的可微分光栅器 diffvg是2D矢量图形的可微分光栅化器。 有关更多信息,请参见网页。 安装 git submodule update --init --recursive conda install -y pytorch torchvision -c pytorch conda install -y numpy conda install -y scikit-image conda install -y -c anaconda cmake conda install -y -c conda-forge ffmpeg pip install svgwrite pip install svgpathtools pip install cssutils pip install numba pip install torch-tools pip install visdom p

JPG/PNG转SVG矢量格式

转: 本文主要探讨JPG/PNG转SVG矢量格式并支持FILL的方法,介绍在线转换网站和通过illustator转换的经验。 应该说,国内网站很少用到SVG格式,在此之前我只是听过,而没有用过。前些天遇到一个外国网站,在重要的动画位置使用了SVG图片,当我想修改的时候发现里面大有乾坤,分享一下感想和经验。前提我想说,SVG格式适用于如LOGO、图标这类颜色并不多的图,颜色太鲜艳图还是谨

qq_32250025的博客 1万+

deepsvg:论文“ DeepSVG:矢量图形动画的分层生成网络”的正式代码。 包括一个PyTorch库,用于使用SVG数据进行深度学习

介绍 这是论文“ DeepSVG:矢量图形动画的分层生成网络”的正式代码。 请参阅的引文详细信息。 纸张: 程式码: 项目页面: 1分钟的视频: 该存储库包括: 训练代码可以重现我们的分层生成网络:DeepSVG。 一个用于使用SVG数据进行深度学习的库,包括将功能导出到可区分的PyTorch张量。 SVG-Icons8数据集。 图形用户界面,显示用于矢量图形动画的DeepSVG演示。 更新 2020年12月:新增原料SVG的DataLoader(见部分)。 2020年9月:被NeurIPS2020接受 :party_popper: 2020年7月:为字型生成添加了预训练的模型和笔记本。 安装 首先克隆此Git存储库: git clone https://github.com/alexandre01/deepsvg.git cd deepsvg 创建一个新的环境(Python 3.7): conda create -n deepsvg python=3.7 conda activate deepsvg 并安装依赖项: pip install -r requir

python图像识别生成矢量图_Python matplotlib图片转化成矢量图并裁剪 - 小众知识

Python目前可以生成的图的格式是:eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff在写论文时候我一般生成png,结果发现打印成PDF文件的时候非常模糊,其他的格式也基本试了下(我真闲),发现效果有差不多,最后网上找教程发现svg转成矢量图emf打印成PDF效果会比较好。转换过程中由于自己电脑没有装ps,所以格式...

weixin_39636333的博客 1705

FOC无刷电机磁编码器机械角度与电角度自动对齐校准及电机极对数自动获取的方法

本文提出磁编码器机械角度与电角度自动对齐校准方法及电机极对数自动获取方案。通过通直流电流使转子定向,读取机械角度并计算电角度偏移量,实现精确对齐;同时利用低速旋转时检测反电动势过零点次数,结合机械角度变化量自动计算极对数。核心算法包括转子定向、偏移量计算、极对数推导等步骤,并提供了基于STM32的C语言实现代码。该方法适用于工业伺服、机器人等高精度控制场景,需注意负载安全、参数调整和误差处理。两种自动化流程可有效解决电机安装调试中的角度对齐和参数识别问题。

qq_29653575的博客 2484

手把手教你用Simulink搭建DSOGI-PLL模型(附完整代码下载)

本文详细介绍了在Simulink中搭建高鲁棒性DSOGI-PLL模型的完整工程实践指南。针对传统锁相环在非理想电网下的不足,文章深入剖析了双二阶广义积分器锁相环(DSOGI-PLL)的核心原理与优势,并提供了从模块构建、系统组装到参数整定与测试验证的全流程手把手教程,附有完整代码下载,助力工程师应对谐波、电压跌落等复杂电网工况。

weixin_29223603的博客 388

无需向量监督的矢量图生成算法

paper:https://arxiv.org/pdf/2102.02798.pdf code:https://github.com/preddy5/Im2Vec 文章目录概要原理架构与现有技术对比局限结论 概要 说起图像生成算法,大家也许并不陌生。不过,大多数算法都针对栅格图像,也就是位图,而不支持矢量图。虽然也有一些生成矢量图形的算法,但是在监督训练中,又受限于矢量图数据集有限的质量和规模。 为此,来自伦敦大学学院和Adobe Research的研究人员提出了一个新方法——Im2Vec,只需利用栅格训练

如果想成为中心,那么就到中心去吧。 1259

避坑指南:ZYNQ平台上AXI 1G/2.5G Ethernet Subsystem实现IEEE1588的5个关键点

本文详细解析了在ZYNQ平台上使用AXI 1G/2.5G以太网子系统实现IEEE1588精密时间协议(PTP)的5个关键避坑点。从硬件选型、Vivado工程配置到Linux驱动适配,提供了实战经验与优化技巧,帮助工程师在工业自动化、电力系统等场景中实现纳秒级时间同步。

weixin_30687051的博客 232

Python3.7将普通图片(png)转换为SVG图片格式并且让你的网站Logo(图标)从此”动”起来

需要注意一点,这里有一个坑,在进行像素点矢量转换的时候,图片模式只支持RGB三色模式,以png为例子,如果是全彩的24位图是支持的,但是8位的png图显然无法进行转换,因为它的图片模式是P模式,在这种情况下,使用python脚本对图片进行转换之前,建议用photoshop对图片进行简单的模式转换。结语:使用python3结合svg,可以让你的网站更加生动有趣,现在浏览器对SVG支持的越来越好,可以放心大胆的使用pointer-events,也可以很好的改善SVG的交互体验。

刘悦的技术博客 8094

PCL 读取和保存点云

PCL (Point Cloud Library) 是一个用于处理 3D 点云数据的开源库。在处理点云数据时,常见的任务包括点云的读写和可视化。PCL 提供了强大的 IO 模块来读取和写入各种格式的点云文件,并且提供了可视化模块来对点云进行渲染和显示。点云的读写与显示是很多 3D 数据处理任务的基础步骤,通过这些步骤,可以对点云进行预处理、分析和操作。

纵马踏花向自由 1737

手把手教你学Simulink——基于电机驱动系统的场景实例:轮毂电机在电动汽车中的分布式驱动控制仿真

本文详细介绍了基于MATLAB/Simulink和Simscape Electrical的电动汽车轮毂电机分布式驱动控制系统建模方法。内容包括系统结构设计(轮毂电机、逆变器、控制器等模块)、完整的建模过程(从基础模块导入到车辆动力学建模)、控制器设计与转矩分配策略实现,以及仿真参数设置与结果分析。通过仿真验证了该分布式驱动系统在速度跟踪、转弯性能等方面的优异表现,为电动汽车驱动系统的研究与开发提供了有效的仿真验证平台。文中还提供了相关代码示例和资料推荐,是学习Simulink电机控制系统建模的实用指南。

MHD0815的博客 4914

迈微AI月刊 | 2021年03月精选 Mar. + 福利放送

2020年我就在策划做迈微AI研习社的月刊,将每月原创文章精选编辑成一篇专门的文章分享给大家。一方面,总结在过去的一个月内的结果,方便之后文章的撰写;另一方面,对于迈微社友的阅读也会起到一...

迈微AI研习社 · 号主 694

DeepSeek赋能公文写作指南(一)

DeepSeek 的出现,为公文写作领域带来了新的曙光。作为先进的人工智能技术,DeepSeek 以其强大的语言理解与生成能力,能为公文写作提供全方位的支持。它可以快速梳理思路,提供丰富的素材参考,辅助优化语言表达,甚至能根据不同的公文类型和场景,生成极具价值的内容框架。《DeepSeek 赋能公文写作指南》正是基于此背景应运而生。本书旨在帮助公文写作者深入了解并充分利用 DeepSeek 这一强大工具,将其融入到公文写作的各个流程中。

通俗易懂学IT 5484

仅需2张图,AI便可生成完整运动过程

先给一张侧脸(关键帧1):再给一张正脸(关键帧2):然后仅仅根据这两张图片,AI处理了一下,便能生成整个运动过程:而且...

迈微AI研习社 · 号主 1449

ESP32-IDF开发之旅 外设篇④ 串口通信 Uart

ESP32-S3 UART串口通信详解 本文介绍了ESP32-S3的UART串口通信配置流程,涵盖硬件引脚分配、参数设置、数据收发等关键步骤。

单片机菜鸟哥的博客 495

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

phmatthaus的专栏 1532

科研绘图工业化:逻辑解耦+精准渲染的学术插图工作流

学术插图不是视觉装饰,而是科研逻辑的空间转译。其核心原理在于将‘概念建模’与‘图形渲染’解耦——前者依赖大语言模型(LLM)进行语义解析与视觉蓝图生成,后者依托专用工具(如Nano-Banana Pro)执行像素级指令遵循。这种范式突破了传统PPT手绘或通用AI绘图的模糊性瓶颈,显著提升插图的准确性、复现性与审稿通过率。典型应用场景包括CVPR/NeurIPS论文的系统架构图、双流模型示意图、时序-空间协同流程图等需强逻辑表达的科研图表。本文聚焦于可落地的工业级实践路径,涵盖布局原型选择、强硬物理描述编写、

chuanao8829的博客 442

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

2024年AI落地十大工程级论文实战指南

大模型与AI技术正从学术前沿加速走向工业现场,但‘可复现性’和‘硬件亲和力’成为横亘在实验室与产线之间的核心鸿沟。本文聚焦AI工程化落地的关键路径:解析轻量化知识蒸馏、FlashAttention-3硬件感知优化、Chain-of-Verification事实校验等真实可用的技术原理,强调其在低资源医疗影像、边缘工业质检、实时客服等场景中的模块化集成能力与显存/延迟实测表现。不谈SOTA排名,只讲哪些代码能今天clone、哪些组件可即插即用、哪些思路能直接迁移进你手头的项目——让算法工程师少踩坑,让CTO敢

cunbei2644的博客 423

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

位图转化为矢量图

前言: 上一篇文章BottomNavigationView+ViewPager实现底部导航栏 中的底部菜单项使用的图片是矢量图,AndroidStudio本身带了一些矢量图,但是有时候并不符合我们的需求。所以我们需要自己画矢量图,但是简单的矢量图还可以,path少pathData数据简单,稍微复杂一些的图就不那么容易弄了。我们希望把UI给的位图使用工具转化为矢量图,这样就简单多了。下面我演示一下把p

进击的程序猿 9125

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SVG矢量图技术

一、SVG概述:SVG (Scalable Vector Graphics, 可伸缩矢量图形) 是W3C 推出的一种开放标准的文本式矢量图形描述语言,他是基于XML 的、专门为网络而设计的图像格式。SVG是一种采用XML 来描述二维图形的语言, SVG 图形可以是动态的、可交互性的, 使用SVG 可以在网页上显示出各种各样的高质量的矢量图形。  今后的网络上将会有更多标准格式的图形文件

Bolt 的专栏 4793

inkscape将png图片转换为svg格式的矢量图

1.导入png图片,也可以直接将图片拉入到窗口 这个是打开操作 这个是直接拖入到新建文档的 这样不会打开新的窗口来展示图片 二者不同之处 2、选中图片,按快捷键,shift+alt+b,调用“提取位图轮廓”功能窗口 左侧,模式选择颜色,下面三个单选,选择栈扫描,移除背景 功能如图 然后选择,更新--》确定 3、另

chuanren1991的博客 4万+

python将图片转为矢量图

简单的转换

东方佑 7173

PNG转矢量图

用png图片直接转成矢量图标 - 简书 用到AI

泽少的博客 3309
上一篇: 自动驾驶需要哪些关键技术?
下一篇: 自然语言处理之文本分类
iFlyAI
博客等级 码龄9年 238粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值