之前已经讲述了nerf的概念和基本流程,本章开始要介绍nerf的具体过程。
首先是前处理过程,就是将2D图片转化为5D向量,这个5D向量代表粒子位姿。
本章要解决两个问题
1、如何将2D图片转化为5D向量?
2、需要多少个粒子可以完成后续的训练过程。
首先我们要搞清楚空间中一个发光粒子是如何投影到图片上的,即渲染的正向过程。
粒子发光->光线进入摄像机->生成图片像素
- 粒子的空间坐标(x,y,z)
- 发射的光线通过相机模型
- 成为图片上的像素坐标(u,v)
- 粒子颜色即为像素颜色。
反之,一直图片上的像素(u,v)和观察点(相机),如何找到粒子
- 像素和观察点连线得到一条射线
- 像素的颜色可以看作是沿着这条射线上无数发光点的“和”
- 可以利用相机模型,反推世界坐标系下的射线
- 射线可以表示为r(t) = o+t(d),o为射线原点,d为方向,t为距离,理论上t可以从0到正无穷
- 对于整张图片,驾驶图片像素高为H,宽为W,那么共有H*W条射线。