神经辐射场论文记录(二)

author:张一极

date:20231218-21:48

优化后的位置编码

作者认为神经网络更擅长拟合低频变化的函数,也就是周期性较弱的函数,在一个周期内,函数的振动次数越多,频率就越高,所以神经网络倾向于学习一个周期内震荡次数少的数据,原来的方法直接使用神经网络处理原始的坐标输入(xyzθφ)会导致渲染结果在表示颜色和几何形状的高频变化时表现不佳。这是因为深度神经网络倾向于学习低频函数。为了解决这个问题,论文提出了一种方法,即先通过一个高频率的函数将输入映射到更高维度的空间,然后再将这些输入传给神经网络。

论文引入了一个新的函数γ,它将输入坐标p映射到一个更高维度的空间R2L。这个映射是通过一系列的正弦和余弦函数实现的,这些函数以2的幂次递增,从0到L-1。其中L是映射的维度。

γ(p)=(sin(20πp),cos(20πp),,sin(2L1πp),cos(2L1πp)).

γ(p)函数的输出是一个包含L个元素的向量,其中每个元素是p经过不同频率的正弦和余弦函数变换的结果。p是输入坐标,L是预定的维度大小。例如,如果L=4, 那么γ(p)会是这样的一种形式:(sin(20πp),cos(20πp),sin(21πp),cos(21πp))。这意味着输入坐标p会被正弦和余弦函数以不同的频率 (2的幂次) 进行处理,产生的结果组成了高维空间中的新坐标。

这里用2作为底数,我猜有两种原因,一个是经过幂变化的系数为等比数列,二是2的计算过程较为友好,其他的数值也可以,但是对计算机而言,2相关的数据,运算较方便。

这里的含义其实可以理解为,针对三个坐标,x,y,z

γ(x)=(sin(20πx),cos(20πx),,sin(2L1πx),cos(2L1πx)).

γ(y)=.

γ(z)=(sin(20πz),cos(20πz),,sin(2L1πz),cos(2L1πz)).

将三个数据标准化以后,输入上述三式,坐标的L取10,即最后转化为10维向量。

把剩下的观看视角参数,通过指向该方向的单位向量表达,L取4,最后转化为4维向量。