ClipGS 中的 STE
什么是 STE
Straight-Through Estimator,简称 STE,是一种深度学习技巧,主要用于解决模型中离散操作不可导导致梯度无法反向传播的问题,通过在前向计算保留离散、反向传播近似梯度的方式实现端到端训练.
ClipGS 的问题描述
在 ClipGS 中,判断一个高斯的可见性的表达式是
其中 是高斯的均值, 是使 更接近贡献中心的偏移, 是裁剪平面的法线.由于离散的 无法提供梯度信息,所以需要利用 STE 使 可学习.
Straight-Through Estimator,简称 STE,是一种深度学习技巧,主要用于解决模型中离散操作不可导导致梯度无法反向传播的问题,通过在前向计算保留离散、反向传播近似梯度的方式实现端到端训练.
在 ClipGS 中,判断一个高斯的可见性的表达式是
M=1[(μ+δ)⋅n<z],(1)
其中 μ 是高斯的均值,δ 是使 μ+δ 更接近贡献中心的偏移,n 是裁剪平面的法线.由于离散的 M∈{0,1} 无法提供梯度信息,所以需要利用 STE 使 M 可学习.
原始体渲染公式:
I(γ(t))=∫T(t)σ(γ(t))c(γ(t))dt,(1)
在体积泼溅中,有
σ(x)=i=1∑KσiGi(x).(2)
第 i 个高斯在 t 处的密度贡献为 σiGi(γ(t)),对第 i 个高斯沿射线积分:
=∫RσiGi(γ(t))dtσi∫RGi(γ(t))dt,
令
τi:=∫RGi(γ(t))dt,(3)
那么第 i 个高斯的密度贡献就可以表示为 σiτi,因此透射率
Ti=j=i∏i−1(1−σiτi).(4)
所以
I(γ)=i=1∑Kci(σiτi)Ti,
I(γ)=i=1∑Kciσiτij=1∏i−1(1−σjτj),with τi=∫RGi(γ(t))dt.(5)
形如
y(x)′+P(x)y(x)=Q(x)(1)
的微分方程称为一阶线性微分方程.
解这种方程常用的方法叫积分因子法.我们希望找到一个函数 μ(x),使得
(μy)′=μy′+μPy=μQ(2)
成立。根据乘积求导公式
(μy)′=μy′+μ′y,(3)
通过 N 套多视角图片、相机内参(intrinsic,包括焦距、宽高等)和相机外参(extrinsics,包括旋转、平移)
{Ii,Ki,Wi}i=1N
用可微的渲染来重建 3D 场景.
对于每个视角 i,都使用当前的参数 θ 来渲染场景,获得图像 Iθ,i,然后将这张图像与其对应的输入图像 Ii 进行比较,使 Ii≈Iθ,i.这可以通过使用标准梯度下降算法,达到最小化光度损失 (photometric loss) 以实现:
L(θ)=N1i=1∑N∥Iθ,i−Ii∥2.(1)