Skip to content

Differentiable vector graphics rasterization for editing and learning ​

Li T M, Lukač M, Gharbi M, Ragan-Kelley J. Differentiable vector graphics rasterization for editing and learning[J]. ACM Transactions on Graphics (TOG), 2020, 39(6): 1-15. DOI: 10.1145/3414685.3417821.

400+

构造渲染模型 ​

使用光栅化公式渲染矢量图形,对于像素 (x,y) 的颜色 I(x,y),通常由覆盖这个像素的小区域内图形的颜色加权计算得出:

I(x,y)=∬Ak(u,v)f(x−u,y−v;Θ)dudv

求解: ​

基于离散化近似·蒙特卡洛采样(Monte Carlo) ​

I(x,y)≈1N∑i=1Nk(ui,vi)f(x−ui,y−vi;Θ)∂I(x,y)∂Θ=∂∂Θ∬Ak(u,v)f(x−u,y−v;Θ)dudv=∂∂Θ∬Ag(u,v)dudv

为了方便起见,使用 g(u,v) 表示场景函数 f 和核函数 k 的乘积。 假设 k 是连续的,将区域 A 划分为多个子区域 Ai,使得 g 的所有不连续点都在积分边界上:

∂∂Θ∬g(u,v)dudv=∑i∂∂Θ∬Ai(Θ)g(u,v)dudv

使用雷诺传输定理(RTT):

∂∂Θ∬Ai(Θ)g(u,v)dudv=∬Ai(Θ)∂∂Θg(u,v)dudv⏟区域项+∫∂Ai(Θ)(∂p(t)∂Θ⋅n(t))g(p(t))dt⏟边界项

其中:

  • 区域项描述区域内函数 g 随参数 Θ 的变化
  • 描述边界运动对积分的影响

对于边界项:

∫∂A(∂p∂Θ⋅n)⏟边界移动速度 ⋅g(p)⏟k(p)f(p)dt

当 Θ 变化时,边界位置 p 改变 → 导致 f 的采样位置改变 → 间接引起 f 的变化

当 f 在边界处存在阶跃不连续时,直接计算 ∂f∂Θ 会失效,所以:

在边界点 p 处,沿法向 n 的方向导数为:

∂f∂n=limϵ→0f(p+ϵn)−f(p−ϵn)2ϵ

使用有限差分近似:

∂f∂n≈f(p+ϵn)−f(p−ϵn)2ϵ

代入边界项:

∫∂A(∂p∂Θ⋅n)⋅g(p)dt≈∫∂A(∂p∂Θ⋅n)⋅k(p)⋅[f(p+ϵn)−f(p−ϵn)]dt

通过蒙特卡洛采样边界点 pj,得到:

∑i∫∂Ai(Θ)(∇Θp⋅n)f(x,y;Θ)dxdy≈1N∑j(∇Θpj⋅nj)(f(pj+ϵnj)−f(pj−ϵnj))P(pj∣c)P(c)

基于符号距离场(Signed Distance Field,SDF)的分析预滤波(Analytical Prefiltering) ​