NeRF论文笔记

场景表示

数据集

images:[N, H, W, 3]。表示N张宽高为W,H的彩色图
pose:[N, 3,4]。表示N张图片的位姿
bds:[N,2]—>near, far 相当于光线的采样最近点与最远点(如下图所示,far和near根据真实场景的距离确定)
hwf:图像宽、高、焦距
在这里插入图片描述

如何根据数据集生成网络的输入参数

1、像素坐标与图像坐标转换

在这里插入图片描述在这里插入图片描述

2、生成光线

  • 相机坐标系下

光线原点:相机光心
光线方向:相机光心到图像中的任意位置方向(相当于光线方向与像素坐标有一个对应关系)
在这里插入图片描述在这里插入图片描述

  • 相机坐标系与世界坐标系转换

将光线的原点和方向转换到世界坐标系下
在这里插入图片描述

3、对光线上的点进行采样

  • step1:把光源移到near点
  • step2:对光线上的点进行采样
    在这里插入图片描述

4、网络输入参数

输入:(x, y, z)表示了光线上的采样点,( θ , ϕ \theta,\phi θ,ϕ)表示光线方向

不同视角下观察同一个采样点,颜色可能不一样

输出:采样点的颜色(RGB)以及不透明度( σ \sigma σ
在这里插入图片描述

渲染

一个像素点对应了一条光线,该像素点的颜色可以根据渲染方程计算。
渲染方程的作用:对光线上的采样点进行颜色和不透明度累加,因此计算出其相应像素的颜色

也就是说,对于一张 400 × 400 400\times400 400×400的图像来说,可以形成 400 × 400 = 160000 400\times400=160000 400×400=160000光线,对条光线上的采样点进行累加,可以得到对应像素的颜色。

训练

每训练一次,使用一张图片,并且在一张图片上抽取1024个像素点,所以训练过程会相对快很多。优化过程采用随机梯度下降。

将光束作为一个batch,chunk是并行处理的光束数量

对于一张 400 × 400 400\times400 400×400的图片,总共有160000条光束。默认一次处理1024*32=32768条光束,可以根据内存大小修改光线处理的数量

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值