neus 公式推导步骤及示意图解析(deepseek)

neus 公式推导步骤及示意图解析

—来自Deepseek,仅做记录

公式推导步骤

已知条件

  1. SDF函数:
    f(p(t))f(\mathbf{p}(t))f(p(t))
    SDF(Signed Distance Function)表示点 p(t)\mathbf{p}(t)p(t) 到表面的距离,正值为外部,负值为内部。

  2. Sigmoid函数:
    Φs(x)=11+e−sx\Phi_s(x) = \frac{1}{1 + e^{-sx}}Φs(x)=1+esx1
    Sigmoid函数将SDF值映射到[0, 1]区间,用于表示表面的概率分布。

  3. 逻辑密度函数(Sigmoid导数):
    ϕs(x)=dΦsdx=se−sx(1+e−sx)2\phi_s(x) = \frac{d\Phi_s}{dx} = \frac{se^{-sx}}{(1 + e^{-sx})^2}ϕs(x)=dxdΦs=(1+esx)2sesx

  4. 权重函数要求:
    无偏(峰值在表面交点)、遮挡感知(近处权重更高)。


步骤1:理想情况(单一平面表面)

假设光线穿过一个平面表面,SDF为:
f(p(t))=−∣cos⁡θ∣(t−t∗)f(\mathbf{p}(t)) = -|\cos\theta|(t - t^*)f(p(t))=cosθ(tt)
其中 t∗t^*t 是交点位置,θ\thetaθ 是视线方向与表面法向量的夹角。

此时权重函数为:
w(t)=∣cos⁡θ∣⋅ϕs(f(p(t))) w(t) = |\cos\theta| \cdot \phi_s(f(\mathbf{p}(t))) w(t)=cosθϕs(f(p(t)))


步骤2:体积渲染框架

体积渲染中,权重函数定义为:
w(t)=T(t)ρ(t),T(t)=exp⁡(−∫0tρ(u)du) w(t) = T(t) \rho(t), \quad T(t) = \exp\left(-\int_0^t \rho(u) du\right) w(t)=T(t)ρ(t),T(t)=exp(0tρ(u)du)
将步骤1的 w(t)w(t)w(t) 代入:
T(t)ρ(t)=∣cos⁡θ∣⋅ϕs(f(p(t))) T(t)\rho(t) = |\cos\theta| \cdot \phi_s(f(\mathbf{p}(t))) T(t)ρ(t)=cosθϕs(f(p(t)))


步骤3:联立方程求 ρ(t)\rho(t)ρ(t)

T(t)T(t)T(t) 求导:
dTdt=−T(t)ρ(t) \frac{dT}{dt} = -T(t)\rho(t) dtdT=T(t)ρ(t)
联立方程:
−dTdt=∣cos⁡θ∣⋅ϕs(f(p(t))) -\frac{dT}{dt} = |\cos\theta| \cdot \phi_s(f(\mathbf{p}(t))) dtdT=cosθϕs(f(p(t)))
积分后得到:
T(t)=Φs(f(p(t))) T(t) = \Phi_s(f(\mathbf{p}(t))) T(t)=Φs(f(p(t)))
代入 T(t)=exp⁡(−∫0tρ(u)du)T(t) = \exp\left(-\int_0^t \rho(u) du\right)T(t)=exp(0tρ(u)du),取对数并求导:
ρ(t)=−dΦsdtΦs(f(p(t))) \rho(t) = \frac{-\frac{d\Phi_s}{dt}}{\Phi_s(f(\mathbf{p}(t)))} ρ(t)=Φs(f(p(t)))dtdΦs


步骤4:一般情况(多表面交点)

当存在多个表面时,导数 dΦsdt\frac{d\Phi_s}{dt}dtdΦs 可能为负。为确保 ρ(t)≥0\rho(t) \geq 0ρ(t)0,添加最大值函数:
ρ(t)=max⁡(−dΦsdtΦs(f(p(t))),0) \rho(t) = \max\left( \frac{-\frac{d\Phi_s}{dt}}{\Phi_s(f(\mathbf{p}(t)))}, 0 \right) ρ(t)=max(Φs(f(p(t)))dtdΦs,0)


示意图说明

  1. SDF沿光线变化:
    SDF值在表面交点 t∗t^*t 处为0,向外递增,向内递减。

  2. 逻辑密度 ϕs(f)\phi_s(f)ϕs(f):
    峰值出现在 $ f=0 $(表面交点),两侧迅速衰减。

  3. 导数 dΦsdt\frac{d\Phi_s}{dt}dtdΦs:
    t∗t^*t 左侧(外部)为负,右侧(内部)为正。取负后得到正值区域。

  4. 最终 ρ(t)\rho(t)ρ(t):
    通过截断负值,确保仅在表面附近有非零密度,实现无偏重建。


关键点总结

  1. 无偏性:
    ρ(t)\rho(t)ρ(t) 的峰值严格对应表面交点 t∗t^*t(SDF=0)。

  2. 遮挡感知:
    近处表面权重更高,避免颜色混合。

  3. 数学推导:
    通过联立体积渲染方程和SDF特性,导出密度函数形式。

2.为什么有负号??

2.1负号在体积渲染中的核心作用

关键结论

负号通过校正SDF导数符号,确保不透明密度函数 ρ(t)\rho(t)ρ(t) 的非负性,从而满足体积渲染的物理约束与数学无偏性要求。


数学推导与物理意义

负号的来源与作用

1. SDF导数的符号特性

  • SDF行为分析

    • 表面外(正区域):f>0f > 0f>0,SDF值随光线深入逐渐减小
    • 表面内(负区域):f<0f < 0f<0,SDF值继续保持减小
  • 导数方向性
    dfdt=∇f⋅v<0(假设视线方向v与法向∇f夹角<90∘) \frac{df}{dt} = \nabla f \cdot \mathbf{v} < 0 \quad (\text{假设视线方向$\mathbf{v}$与法向$\nabla f$夹角}<90^\circ) dtdf=fv<0(假设视线方向v与法向f夹角<90)

  • 逻辑密度导数推导
    dΦsdt=ϕs(f)⋅dfdt⏟<0<0 \frac{d\Phi_s}{dt} = \phi_s(f) \cdot \underbrace{\frac{df}{dt}}_{<0} < 0 dtdΦs=ϕs(f)<0dtdf<0
    (其中Φs(x)\Phi_s(x)Φs(x)为逻辑斯蒂CDF,ϕs(f)\phi_s(f)ϕs(f)为其PDF)

2. 确保非负密度

  • 物理约束
    ρ(t)≥0(不透明密度必须非负) \rho(t) \geq 0 \quad (\text{不透明密度必须非负}) ρ(t)0(不透明密度必须非负)

  • 符号校正公式
    ρ(t)=max⁡(−dΦsdtΦs(f(p(t)))⏟负号翻转操作,0) \rho(t) = \max\left( \underbrace{ \frac{-\frac{d\Phi_s}{dt}}{\Phi_s(f(\mathbf{p}(t)))} }_{\text{负号翻转操作}}, 0 \right) ρ(t)=max负号翻转操作Φs(f(p(t)))dtdΦs,0

关键作用解析

flowchart LR
    A[原始导数 dΦ/dt < 0] > B{负号操作 -dΦ/dt > 0}
    B --> C[非负密度 ρ(t) ≥ 0]
    C --> D[正确表面重建]

1. SDF导数特性分析

区域SDF符号导数方向 dfdt\frac{df}{dt}dtdf物理意义
表面外侧f>0f>0f>0↓\downarrow (负值)光线逐渐接近物体表面
表面交点f=0f=0f=0↓\downarrow (负值)光线与表面相交临界点
表面内侧f<0f<0f<0↓\downarrow (负值)光线穿透物体内部

2. 密度函数构造公式

ρ(t)=max⁡(−dΦsdtΦs(f(p(t)))⏟符号校正项, 0) \rho(t) = \max\left( \underbrace{ \frac{-\frac{d\Phi_s}{dt}}{\Phi_s(f(\mathbf{p}(t)))} }_{\text{符号校正项}} ,\ 0 \right) ρ(t)=max符号校正项Φs(f(p(t)))dtdΦs, 0

公式解析

  • dΦsdt=ϕs(f)⋅dfdt\frac{d\Phi_s}{dt} = \phi_s(f) \cdot \frac{df}{dt}dtdΦs=ϕs(f)dtdf 原始导数为负
  • 负号操作 −dΦsdt- \frac{d\Phi_s}{dt}dtdΦs 实现符号翻转
  • max⁡(⋅,0)\max(\cdot, 0)max(,0) 截断保证非负性,
  • 通过取最大值 max(⋅,0),仅在 t *左侧(外部)保留正密度,右侧(内部)截断为0。

可视化说明

SDF沿光线传播过程

光线起点
表面外侧 f>0
表面交点 f=0
表面内侧 f<0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值