背景
神经辐射场(nerf)是目前视觉领域最火热的方向之一,到目前为止已经有很多关于这方面的新工作出来,但是无论是原始的nerf还是后面的演进版本都会涉及到体渲染,因此这里我们细聊一下关于体渲染的公式。
积分形式
C(r)为期望获得的RGB值,ray表示为 r(t) = o + td ,near 和 far分别表示为tn 和 tf.
公式T(t) 表示沿光线从tn到t的累积透射率。
离散形式
实际我们只能离散采样:
δi = ti+1 − ti 表示相临两个点的距离
这里的alpha称为Alpha-compositing:
我们先来看如何获得tn到tn+1颜色累积计算(即下面的 I(tn -> tn+1)):
从上式可以看出T(t)可以表示为先从0累积到tn,再从tn累积到t,我们将它带入 I(tn -> tn+1):
I(s)可以看成N个离散的 I(tn -> tn+1)的累加值:
Tn的离散形式看成 sigma和delta对应乘积的累加,再进行exp
综合上面的推导,I(s)为:
其实就是