DeepSVG 项目介绍
项目概况
DeepSVG 是一个生成性网络项目,旨在为矢量图形动画提供一种分层生成框架。它的核心是利用深度学习技术实现对 SVG 数据(矢量图形格式)的操作与动画效果,特别在生成和优化矢量图形方面具有出色表现。DeepSVG 项目不仅包含了论文所描述的核心代码,也提供了相关的工具库,以便从数据处理到模型训练和应用的完整工作流。
实验室支持
该项目得到了 LingoSub 和 ThumbnailsPro 的赞助支持。LingoSub 提供通过 AI 翻译助学习语言的服务,而 ThumbnailsPro 专注于即时生成吸引点击量的视频缩略图。
项目内容
-
训练代码:DeepSVG 提供完整的训练代码,用户可以通过这些代码实现生成性网络的训练任务。
-
深度学习 SVG 数据库:包含多个可以与 PyTorch 集成的功能模块,便于处理和转换 SVG 数据。
-
SVG-Icons8 数据集:提供了一个包含大量矢量图标的数据集,支持项目的实验与发展。
-
图形用户界面(GUI):提供一个带有实验性质的界面,用于展示 DeepSVG 在矢量图形动画中的实际运用。
项目更新
- 2020年12月:增加了原始 SVG 数据加载器。
- 2020年9月:项目被接收进入 NeurIPS2020。
- 2020年7月:加入了预训练模型和字体生成的笔记本。
项目安装与环境
用户需通过 Git 克隆仓库,并创建一个 Python 3.7 的新 Conda 环境以安装所有必需依赖。此外,还需根据平台配置 CairoSVG 相关的要求。
运行环境
经过测试支持的运行环境包括 Ubuntu 18.04 和 macOS 10.13.6,CUDA 10.1,并需要从源代码安装 PyTorch。
数据集下载与结构
项目包含自动化下载脚本,用户可以选择从 Google Drive 手动下载或使用提供的脚本批量下载与解压数据集文件。项目结构支持自动化构建数据目录以便快速访问。
数据加载器
支持自定义数据集的 SVG 处理,用户可通过预处理脚本提高训练时的 I/O性能。
深度学习 SVG 库
DeepSVG 专门开发了一组用于 SVG 数据的深度学习工具。这些功能包括:
- SVG 文件解析。
- 基本形状和命令的转换。
- 路径简化与数据增强。
- 转换为 PyTorch 张量格式。
- 综合绘图工具,包括控制点的可视化和导出为 GIF 动画。
图形用户界面
实验性的 GUI 界面不仅用于项目的展示,还可作为简单创建二维动画的工具。用户可通过快捷键更便捷地操作与生成动画。
训练和推断
用户可以通过命令启动训练,并通过下载预训练模型进行推断,项目还支持图标间插值与 SVG 潜在空间操作。
贡献与许可
项目欢迎任何形式的贡献与改进,采用 MIT 许可协议,确保代码的开放性和共享性。
通过 DeepSVG 项目,矢量图形动画的生成过程变得更加智能和自动化,为艺术创作和设计提供了更多可能性。