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.

构造渲染模型

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

I(x,y)=Ak(u,v)f(xu,yv;Θ)dudv

求解:

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

I(x,y)1Ni=1Nk(ui,vi)f(xui,yvi;Θ)I(x,y)Θ=ΘAk(u,v)f(xu,yv;Θ)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 的方向导数为:

fn=limϵ0f(p+ϵn)f(pϵn)2ϵ

使用有限差分近似:

fnf(p+ϵn)f(pϵn)2ϵ

代入边界项:

A(pΘn)g(p)dtA(pΘn)k(p)[f(p+ϵn)f(pϵn)]dt

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

iAi(Θ)(Θpn)f(x,y;Θ)dxdy1Nj(Θpjnj)(f(pj+ϵnj)f(pjϵnj))P(pjc)P(c)

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