alexandre01/deepsvg

[NeurIPS 2020] Official code for the paper "DeepSVG: A Hierarchical Generative Network for Vector Graphics Animation". Includes a PyTorch library for deep learning with SVG data.

解决的问题

DeepSVG 解决了使用深度学习生成和动画矢量图形(SVG)的困难。与像素图像(位图)不同,SVG 由数学路径和命令组成,使得标准神经网络难以处理和实现平滑动画。

工作原理

该项目实现了一个分层生成网络,能够学习矢量图形的结构。它包含一个专用库,可解析 SVG 文件,使用 Ramer-Douglas-Peucker 等算法简化路径,并将 SVG 数据转换为可微分的 PyTorch 张量。这使得模型能够执行潜在空间操作,例如在两个不同图标之间进行插值以创建平滑动画,或通过梯度下降优化形状以匹配目标。

适用人群

  • 专注于矢量图形生成模型的 AI 研究人员。
  • 开发 2D 动画和图形设计工具的开发者。
  • 处理 SVG 数据集和可微分几何的数据科学家。

主要亮点

  • 分层生成网络:专为矢量图形动画的结构化特性设计的模型。
  • SVG 深度学习库:用于解析、简化、增强和将 SVG 转换为 PyTorch 张量的工具。
  • 可微分优化:使用梯度下降法变形形状以匹配目标的能力。
  • 实验性 GUI:受 Figma 启发的界面,用于可视化模型输出并创建 2D 动画。
  • 预处理数据集:包含 SVG-Icons8 和 Font 数据集,可立即复现。

相关

  • 项目
  • 项目
  • 项目
  • 项目