精读笔记
Problem Setting
【NURBS Splatting: A Unified Differentiable Rendering Framework for Vector Graphics】(arXiv preprint / 2026-07-01)
这篇论文不是在重新定义向量图形重建任务,而是在补 differentiable vector rendering 的一个表示缺口:现有 image-space optimization 大多只能稳定处理 Bézier 或 polynomial B-spline,不能直接优化 CAD-native 的 NURBS。实际问题是:如何让 raster image loss 反向作用到 rational weights、non-uniform knots 和长 spline 结构,同时保持渲染梯度稳定。
真正困难有三层。第一,NURBS 自身参数空间比 Bézier/B-spline 更高自由度,weights 和 knots 会改变 basis support 与局部几何响应,优化更容易病态。第二,传统 analytic rasterization 需要处理覆盖、交点、边界和填充,这些地方天然有离散事件,梯度不友好。第三,vector graphics 既要求可编辑的紧凑几何,又希望像神经渲染一样用 dense pixel supervision 训练,这两者在数值形式上不一致。
因此关键矛盾不是“怎么画 NURBS”,而是“怎么把精确几何表示放进一个足够平滑、足够快、还能保留可编辑性的 differentiable rendering loop”。
Motivation
已有路线的不足很明确:DiffVG 类方法保留解析矢量语义,但 rasterization 依赖 per-pixel intersection / coverage 计算,高分辨率和复杂路径下慢且梯度不稳定;Bézier Splatting 类方法把渲染变平滑了,但底层几何仍限制在 Bézier,无法表达 NURBS 的 rational weights 和 non-uniform knot structure;Berio 等 long B-spline abstraction 虽然走 spline 优化路线,但没有进入 rational spline 的 CAD 表示空间。
作者的核心观察是:NURBS 在 CAD 中的价值并不是“多一种曲线”,而是它通过权重和 knot 分布提供了对局部形状、圆锥曲线和长曲线的更自然参数化。如果 differentiable renderer 不能优化这些变量,那么 learning-based vectorization 和工业几何表示之间始终隔着一层转换。
所以这篇论文想补的缺口是 representation-level 的:把 NURBS 作为原生可微图元,而不是先拆成 Bézier 或退化为普通 B-spline 再渲染。
Core Idea
核心思想是把 NURBS 曲线/区域渲染从“解析边界 rasterization”改写成“连续 Gaussian field accumulation”。曲线仍由 NURBS 参数定义,但渲染时不直接求精确覆盖,而是沿曲线按弧长采样一组 isotropic Gaussians;闭合区域则在内部 grid 上放 Gaussians,并用边界 SDF 对 opacity 做软调制。最终图像由 Gaussian splatting 的 alpha compositing 得到。
这个建模改变很关键:几何层使用 NURBS 的 inductive bias,渲染层使用 Gaussian splatting 的 smoothness bias。前者提供紧凑、局部可控、CAD-compatible 的表示;后者把 hard visibility / boundary events 转成连续可导的密度累积。信息流也因此被重新组织:pixel loss 不再直接穿过复杂的解析 rasterizer,而是先作用到 Gaussian centers/scales/opacities,再通过 NURBS evaluation 传回 control points、weights 和 knots。
和 prior 的本质区别不是“采样更多点”,而是把 rational spline optimization 放进一个 soft rasterization surrogate 中。它理论上会更稳定,因为每个参数变化会导致一片局部 Gaussian field 连续变化,而不是突然改变像素覆盖关系。
Method
方法里真正必要的机制不多。
第一,NURBS 参数化。论文把控制点、权重和 knot intervals 作为可学习变量,并通过 interval 累积保证 knot vector 单调。这解决的是“non-uniform knots 如何进入梯度优化而不非法”的问题。核心变化是 knot 不再是固定 discretization,而成为可调节 basis support 的几何自由度。
第二,轮廓 Gaussian sampling。曲线按弧长决定 Gaussian 数量,局部位置由 Cox–de Boor 递推求 NURBS 点。这里解决的是长曲线的采样覆盖问题:primitive 数随几何长度而非控制点数直接绑定,使渲染密度更接近图像空间需求。
第三,isotropic 而非 tangent-aligned anisotropic splats。这是一个重要设计判断。各向异性核理论上更贴合曲线方向,但需要稳定估计 tangent/rotation;在高曲率、宽笔画和端点处容易产生 spike 或 blur。作者选择 isotropic kernel,本质上用更密的圆形局部覆盖换取数值鲁棒性。
第四,闭合区域用 SDF-modulated grid。它解决 fill 的可微化问题,但不是优雅的解析解。它把区域覆盖变成内部 soft occupancy sampling,可优化性好,但 primitive 数会随面积和 grid resolution 增长。
第五,几何正则。三阶导数平滑和 bbox penalty 的作用不是锦上添花,而是约束 NURBS 额外自由度,避免 weights/knot/points 在 pixel loss 下产生不可编辑的局部抖动。
Key Insight / Why It Works
最核心的有效性来自 representation alignment,而不是单个模块。NURBS 负责给优化提供更合适的低维几何坐标系,Gaussian splatting 负责给 raster loss 提供平滑、局部、稳定的梯度通道。这个组合刚好补上了 vector graphics optimization 的两个痛点:表示不够 expressive,以及渲染梯度不够稳定。
我认为论文最实质的贡献是:证明 rational weights 和 non-uniform knots 可以作为 image-space differentiable optimization 的一等变量,而不必先降解成 Bézier segments 或固定 B-spline。weights 提供局部曲率调制,knots 提供 basis support 重分配;这两者对于书法笔画、圆弧、hook、局部尖弯这类结构确实比 uniform polynomial spline 更自然。
但实验增益不能全部归因于 NURBS。w/o weights & knots 仍然强,说明很大一块收益来自 splatting backend:smooth accumulation 比 analytic rasterization 更容易优化,也可能更适合 MSE/LPIPS 这类像素指标。grid-step annealing 则更像 curriculum / coarse-to-fine engineering,主要改善早期优化和速度,不是表示层创新。
isotropic Gaussian 的选择是一个值得迁移的 insight:在 differentiable rendering 中,几何拟合最优的局部核未必是优化最稳的局部核。放弃 tangent-aligned anisotropy 看似降低表达效率,但避免了 rotation discontinuity,把失败模式从 spike artifact 转成可控的边界 softness。对基于 splat 的可微渲染来说,这是比“更贴合几何”更实际的设计。
填充部分的有效性更像 engineering。SDF grid + sigmoid opacity 确实提供了可微 region fill,但它没有真正解决向量区域的解析可微 rasterization,只是把问题转移到 dense sampling。对复杂插画可能有效,对规则 CAD-like region 未必优雅。
Relation To Prior Work
这篇论文位于三条技术谱系的交叉点:DiffVG 的 differentiable vector rasterization、Gaussian splatting 的 smooth primitive rendering、以及 CAD/NURBS 的 rational spline representation。
和 DiffVG 相比,本质差异是从解析覆盖转向 soft accumulation。DiffVG 更接近真实 vector renderer,但优化时要处理边界事件;NURBS Splatting 更像连续密度近似,牺牲部分边界精确性换稳定梯度和 GPU-friendly compositing。
和 Bézier Splatting 相比,表面上都是沿曲线放 Gaussian,真正差异有两个:一是底层图元从 fixed Bézier 扩展到 heterogeneous NURBS,包括 weights 和 knots;二是采样核从 tangent-aligned anisotropic 转为 isotropic,从而改变了优化稳定性和 artifact profile。Gaussian splatting 本身不是新思想,实质新增信息在于它和 NURBS 参数优化的结合。
和 Berio 等 long B-spline abstraction 相比,论文不是只换 renderer,而是把 polynomial spline 提升到 rational/non-uniform spline,并避免 B-spline 到 Bézier 的转换开销。这里的实质创新是让 CAD-standard 参数进入 image loss 优化闭环;速度优势则依赖场景,不能泛化成绝对结论。
因此这篇更像“把已有 splatting 思想迁移到 NURBS vector graphics,并重新选择稳定的 kernel / fill surrogate”,而不是提出全新的 rendering theory。
Dataset / Evaluation
评估覆盖三个场景:书法 stroke reconstruction、layer-wise image vectorization、single-stroke / diffusion-guided abstraction。任务覆盖面还可以,既有 open stroke,也有 closed fill,还有 long spline abstraction,能说明框架不是单任务特化。
最能验证核心 claim 的是书法重建,因为它同时需要长曲线、宽度变化、局部曲率和可编辑 stroke structure。这里对 NURBS weights/knots 的 ablation 比较有意义,说明 rational/non-uniform 参数确实带来几何拟合收益。
LIVE/emoji vectorization 更能说明 splatting backend 和 SDF fill 的可用性,但它对“NURBS 是必要的”支持较弱。因为 w/o weights & knots 仍然表现很好,且自定义 GPU loss、grid annealing 等工程因素会影响速度和质量。这里的结论应是“该 backend 对 layer-wise optimization 有利”,不是“NURBS 表示在 emoji vectorization 中决定性更强”。
和 Bézier Splatting 缺少下游定量正面对比是明显缺口。作者解释为官方实现约束不兼容,这合理但不充分。补充材料的 prototype comparison 能支持 isotropic kernel 更稳,但不能完全替代与 state-of-the-art splatting vectorizer 的公平比较。
真实世界部署方面,书法和 emoji 都是 raster benchmark,没有真机 plotter、CAD interchange 或专业编辑器 round-trip 评估。论文 claim 到 CAD-standard representation,但实验主要验证视觉重建,而不是工业编辑/制造链路。
Limitation
最大限制是它并没有真正解决精确矢量渲染,而是引入一个 soft rendering surrogate。对于 optimization 这是优势;对于最终导出、精确边界、布尔运算、CAD 下游,这个 surrogate 与真实 geometry semantics 之间仍有 gap。
scalability 上限主要在 primitive 数。轮廓 splats 随弧长增长,填充 splats 随面积和 grid resolution 增长。复杂插画或高分辨率填充区域下,内存和排序/compositing 成本会成为硬瓶颈。相比 implicit/analytic fill,这不是根本可扩展方案。
learnable weights 和 knots 的稳定性文中未充分说明。虽然 clamp 和正则能避免极端情况,但 knot interval 接近 0、weight 局部放大、basis support 重排都会改变优化 landscape。论文展示的是有限任务下可行,不等于大规模复杂 SVG 场景中稳定。
增益归因不完全清晰。速度和质量提升混合了 NURBS 表达能力、splatting 渲染、GPU loss、coarse-to-fine grid annealing、初始化和任务特定正则。尤其 LIVE 实验中,部分提升可能主要来自工程实现和 curriculum,而非 rational spline 本身。
区域填充是明显薄弱环节。SDF sign detached 意味着拓扑/inside-outside 变化的梯度并不完整;自交、多孔、多轮廓 compound path 的处理没有充分讨论。对于真实 SVG/CAD path,这会是关键问题。
Takeaway
- 第一,NURBS 可以被纳入 differentiable image-space optimization,但最好不要直接追求解析 rasterization;用 smooth field surrogate 可能是更务实的路线。
- 第二,表示层和渲染层可以分工:几何用 CAD-native rational spline 保留可编辑性和局部控制,渲染用 Gaussian splatting 提供稳定梯度。
- 这种 representation alignment 比单纯换一个 renderer 更值得迁移。
- 第三,isotropic splatting 的选择提醒我们:可微渲染中的局部 primitive 不一定要几何最精确,优化稳定性可能更重要。
一句话总结
这篇论文把 Gaussian splatting 作为平滑渲染代理接到 NURBS 参数空间上,真正贡献是让 rational/non-uniform spline 成为 2D differentiable vector graphics 的可优化原生表示,而不是提出一个普遍更快或更精确的矢量渲染器。
