跳转至

Bézier Splatting for Fast and Differentiable Vector Graphics Rendering

会议: NeurIPS 2025
arXiv: 2503.16424
代码: https://xiliu8006.github.io/Bezier_splatting_project
领域: 矢量图形渲染
关键词: 可微渲染, Bézier曲线, Gaussian Splatting, 矢量化, 图像优化

一句话总结

Bézier Splatting 将 Gaussian Splatting 框架与 Bézier 曲线结合,沿曲线均匀采样 2D Gaussian 点,通过 α-blending 渲染实现可微矢量图形,前向 30× / 反向 150× 加速(相比 DiffVG),同时保持或超越 LIVE 等方法的图像质量。

研究背景与动机

领域现状:可微矢量图形渲染(如 DiffVG、LIVE)通过优化 Bézier 曲线参数实现图像矢量化。DiffVG 做逐像素颜色累积,LIVE 逐层添加曲线,但它们对高分辨率图像需要数小时优化。

现有痛点:DiffVG 的反向传播需要在每个边界像素上采样,计算量与曲线数和分辨率成正比,极慢。LIVE 逐层优化在 512 条曲线时需 2.6-5.1 小时。缺少能在分钟级完成的高质量矢量化方法。

核心矛盾:传统可微渲染需要精确处理曲线边界的抗锯齿梯度,但这导致计算瓶颈。需要一种绕过逐像素边界采样的渲染方式。

本文目标 在保持矢量图形质量的前提下大幅加速可微渲染,使优化从小时级降到分钟级。

切入角度:Gaussian Splatting 已在 3D 渲染中证明了高效可微渲染的能力。将 Bézier 曲线参数化为沿曲线分布的 2D Gaussian 点,复用 Gaussian Splatting 的高效渲染管线。

核心 idea:沿 Bézier 曲线均匀采样 2D Gaussian 点,用曲线切线方向定义旋转、邻点距离定义尺度,通过 α-blending 渲染和自适应剪枝/密化实现快速可微矢量化。

方法详解

整体框架

输入图像 → 初始化一组 Bézier 曲线 → 沿每条曲线均匀采样点 → 为每个采样点计算 2D Gaussian 参数(位置=采样点,旋转=切线角,尺度=邻点距离)→ α-blending 渲染 → L2+Xing 损失优化曲线控制点和颜色 → 自适应剪枝低透明度曲线 + 在高误差区域密化新曲线

关键设计

  1. Bézier 曲线到 2D Gaussian 的参数化:

    • 功能:将每条 Bézier 曲线转为一系列 2D Gaussian 点
    • 核心思路:位置 = 曲线上的均匀采样点;旋转 \(\theta\) = 该点切线方向角;\(\sigma_x\)(沿曲线)= 相邻采样点距离;\(\sigma_y\)(垂直曲线)= 可学习的宽度参数;对闭合曲线,用"配对 Bézier 曲线"结构在两条边界曲线间线性插值控制点来填充内部
    • 设计动机:2D Gaussian 是 Gaussian Splatting 的原生表示,可直接复用其高效渲染管线。通过切线方向和邻点距离自动推导参数,避免额外学习开销
  2. α-blending 渲染(非累积):

    • 功能:正确处理曲线间遮挡关系
    • 核心思路:按深度排序后前向后渲染,\(C = \sum_i T_i \alpha_i c_i\),其中 \(T_i = \prod_{j<i}(1-\alpha_j)\)。与 DiffVG 的逐像素颜色累积不同,α-blending 天然支持遮挡
    • 设计动机:DiffVG 的累积渲染导致颜色混叠,而 α-blending 更符合物理遮挡模型
  3. 自适应剪枝与密化:

    • 功能:动态调整曲线数量和分布
    • 核心思路:剪枝——移除透明度 < 阈值或面积过小的曲线;密化——在残差误差高的区域随机初始化新曲线;周期性执行
    • 设计动机:初始随机曲线可能分布不均,自适应策略让曲线集中在需要细节的区域

损失函数 / 训练策略

  • \(\mathcal{L} = \lambda_1 \|\hat{I} - I\|_2^2 + \lambda_2 \mathcal{L}_{Xing}\)
  • Xing 损失约束 Bézier 曲线不自交(保持凸性)
  • 优化 3.2-8.6 分钟(vs LIVE 2.6-5.1 小时)

实验关键数据

主实验

方法 SSIM↑ PSNR↑ LPIPS↓ 前向加速 反向加速 优化时间
DiffVG 数小时
LIVE 0.601 21.70 0.521 2.6-5.1h
Bézier Splatting 0.607 22.11 0.528 30× 150× 3.2-8.6min

消融实验

配置 SSIM PSNR
无剪枝/密化 0.590 21.10
有剪枝/密化 0.607 22.11
逐层策略 0.613 — (2× 训练时间)

关键发现

  • 反向传播加速最显著(150×),因为完全绕过了 DiffVG 的逐边界采样
  • 闭合曲线的配对结构使填充区域也能参与梯度优化
  • 在照片级、艺术画、卡通等多种图像类型上有效
  • 自适应密化对质量贡献显著(SSIM +0.017,PSNR +1.01)

亮点与洞察

  • Gaussian Splatting 框架的创造性复用:将矢量图形问题映射到 Gaussian Splatting 的高效渲染管线,巧妙利用了已有的 CUDA 加速实现
  • 参数化设计很自然:切线→旋转、邻点距离→尺度,几乎无损地将曲线几何信息编码为 Gaussian 参数
  • 150× 反向加速意味着交互式矢量化成为可能:从小时级到分钟级的跨越打开了实时应用的大门

局限与展望

  • LPIPS 指标与 LIVE 接近甚至略差,感知质量有提升空间
  • 闭合曲线的配对结构限制了形状表达能力(只能表示条状区域)
  • 未与最新的神经矢量化方法(如 VectorFusion)比较
  • Xing 损失约束曲线凸性可能限制复杂形状的表达

相关工作与启发

  • vs DiffVG: DiffVG 逐像素采样边界梯度,极慢;本文用 Gaussian 替代,绕过边界问题
  • vs LIVE: LIVE 逐层添加曲线质量好但慢;本文全局优化 + 自适应策略,速度快 100×+
  • vs 3DGS: 3DGS 用于 3D 场景重建,本文将 2D Gaussian 与 Bézier 曲线结合用于矢量图形

评分

  • 新颖性: ⭐⭐⭐⭐ Gaussian Splatting + Bézier 曲线的结合点新颖
  • 实验充分度: ⭐⭐⭐⭐ 多数据集+消融+速度对比
  • 写作质量: ⭐⭐⭐⭐ 方法描述清晰
  • 价值: ⭐⭐⭐⭐ 大幅推进矢量化渲染效率