NeRF论文里的(x,y,z)代表什么?
输入函数的位置坐标(x,y,z)到底是体素的位置坐标还是虚拟camera的位置坐标啊?如果您输入的坐标是用于三维体素数据(voxel data)的位置,那么这个坐标应该是相对于体素坐标系(voxel coordinate system)的。在这种情况下,每一个体素都有一个固定的三维空间坐标作为其体素坐标。因此,您所输入的位置坐标会直接对应到体素数据中的一个特定的体素。
另一方面,如果您所涉及的是虚拟摄像机或者视图,则这些坐标通常是指相对于虚拟摄像机或者视图的局部坐标系。在这种情况下,您所输入的位置坐标将对应于在虚拟场景中的某个位置,在最终绘制出来的图像中,这个位置将被投影到二维屏幕上的某个位置。 在NeRF论文中,(x, y, z) 代表的是场景中的一个点的空间位置坐标。它描述了三维空间中点的位置,其中 x、y、z 分别表示点在 x、y、z 轴上的坐标值。
输入函数是将这些位置坐标映射到对应点的颜色和密度值。对于每个位置 (x, y, z),输入函数返回一个颜色值和一个密度值,用于渲染场景。
虚拟相机的位置坐标通常用于渲染场景并生成图像,它决定了观察场景的视角和位置。在 NeRF 中,相机位置通常是固定的或者从一个固定视角周围进行采样,而输入函数则用于对相机位置附近的点进行场景重建。因此,输入函数的位置坐标 (x, y, z) 不是虚拟相机的位置坐标,而是用于表示场景中的各个点的位置。 isdkz 发表于 2023-6-10 18:31
在NeRF论文中,(x, y, z) 代表的是场景中的一个点的空间位置坐标。它描述了三维空间中点的位置,其中 x、y ...
那么将五维参数转换为透明度和颜色的函数F是学习得到的吗?还是有一个现成的函数呢? catalpa-bungei 发表于 2023-6-10 19:04
那么将五维参数转换为透明度和颜色的函数F是学习得到的吗?还是有一个现成的函数呢?
在NeRF(Neural Radiance Fields)中,将五维参数(三维空间位置以及两个角度值)转换为颜色和密度(即视线上的透明度)的函数 F 是通过深度学习得到的。这个函数是一个深度神经网络,训练该网络的目标就是找到一个能够从五维输入生成颜色和密度值的函数。
这个函数并不是预先定义好的,而是在训练过程中通过大量的数据(例如一系列的2D图像和对应的视角信息)来学习得到的。通过学习,这个函数可以根据给定的五维参数,生成出与真实世界观察结果相符的颜色和密度值。因此,你可以把这个函数看作是一个从五维参数空间到颜色和密度空间的映射。 isdkz 发表于 2023-6-10 19:07
在NeRF(Neural Radiance Fields)中,将五维参数(三维空间位置以及两个角度值)转换为颜色和密度(即视 ...
那么在精细网络层里是不是还有一个学习的参数w,用来表示不同位置体素的权重? catalpa-bungei 发表于 2023-6-10 19:11
那么在精细网络层里是不是还有一个学习的参数w,用来表示不同位置体素的权重?
在NeRF的原始实现中,其实并没有专门的参数w来表示不同位置体素的权重。NeRF通过两个全连接网络(一个粗糙网络和一个精细网络)来学习体素的颜色和密度。这两个网络会为每个体素生成一个颜色和一个密度值。
在渲染过程中,我们沿着每个像素的视线进行采样,并使用这两个网络得到每个样本点的颜色和密度。这些颜色和密度然后通过体积渲染方程来进行组合,生成最终的像素颜色。在这个过程中,每个体素的"权重"实际上是由其对应的密度值决定的。体素的密度越大,它在最终渲染结果中的影响就越大。
所以,简单来说,原始的NeRF中并没有显式地为每个体素引入一个权重参数w。当然,你可以在NeRF的基础上进行改进,引入新的参数或者设计新的网络结构,来使模型能够更好地表达和学习场景的细节。这完全取决于你的研究目标和设计。 isdkz 发表于 2023-6-10 19:12
在NeRF的原始实现中,其实并没有专门的参数w来表示不同位置体素的权重。NeRF通过两个全连接网络(一个粗 ...
我还有一个问题,在渲染过程中,一个体素的位置(x,y,z)是输入F的绝对位置坐标,还是与camera相对位置的坐标 catalpa-bungei 发表于 2023-6-10 19:20
我还有一个问题,在渲染过程中,一个体素的位置(x,y,z)是输入F的绝对位置坐标,还是与camera相对位置的坐 ...
在NeRF(Neural Radiance Fields)中,输入到神经网络(函数F)的是相对于相机视线的体素位置(x, y, z)。也就是说,这些体素位置是基于相机视点进行的,是相对于相机的坐标。
原因在于,渲染的过程是基于视线进行的,也就是说,我们沿着从相机出发的视线对场景进行采样,然后使用函数F来为每个采样点生成颜色和密度。这个过程是在相机坐标系下进行的,因此采样点的位置是相对于相机的。此外,视线方向也会作为神经网络的输入,这也是在相机坐标系下定义的。
总的来说,在NeRF中,我们是在相机坐标系下对场景进行采样和渲染的,因此输入到神经网络的体素位置是相对于相机的坐标。 isdkz 发表于 2023-6-10 19:22
在NeRF(Neural Radiance Fields)中,输入到神经网络(函数F)的是相对于相机视线的体素位置(x, y, z) ...
我明白了,非常感谢! isdkz 发表于 2023-6-10 19:07
在NeRF(Neural Radiance Fields)中,将五维参数(三维空间位置以及两个角度值)转换为颜色和密度(即视 ...
我又有疑惑了。从五维参数映射到颜色和密度值的这个过程有运用到这一系列2D图像吗?这些2D图像是否只在计算loss的时候起作用了。还有一个问题,camera是一个点吗?我们得到观察点不同视角下的颜色后,如何生成一个具有面积的2D图像呢? catalpa-bungei 发表于 2023-6-13 22:02
我又有疑惑了。从五维参数映射到颜色和密度值的这个过程有运用到这一系列2D图像吗?这些2D图像是否只在计 ...
不能说没有用到,好像也不能说直接用到了:训练时射线的方向和原点(决定了观察点坐标和视角方向)来源于图像对应的相机信息,而真值(也就是计算渲染损失使用的)来自图像像素
相机应该理解成一组参数,可以看看计算机图形学里的相机模型,这里比较重要的可能是原点位置、朝向、与像平面的距离和像平面大小(像素和真实尺寸两个单位),这些决定了射线的参数
如何生成图像就看 NeRF 论文的第四节吧,它的 26 号参考文献(Max, N.: Optical models for direct volume rendering. IEEE Transactions on Visu-alization and Computer Graphics (1995))和 SIGGRAPH1984 上 Porter T. K. 和 Duff T. 的 Compositing digital images 作为补充背景可能也值得一看
页:
[1]