[2021]NeRF−−: Neural Radiance Fields Without Known Camera Parameters

标题:NeRF−−: Neural Radiance Fields Without Known Camera Parameters

链接:https://arxiv.org/pdf/2102.07064

这篇文章主要讲的是如何在没有相机参数的情况下进行多视角的场景重构。

 

首先作者介绍了两种场景重构方式:

1. 直接还原场景的3D模型,这一方案的难点在于通常难以恢复细节,而且光照对于角度的变化并不真实,因为通常都会假设表面是漫反射的

2. 隐式表示(Implicit-Representation)的方案,即学习这么一个模型,输入是相机的参数,输出是相机视角观测到的图像。而nerf就是这种类型的模型。这种方案有助于减少3D模型的存储,但问题在于需要针对每个场景单独建模

然后,作者提到,在训练nerf的时候我们是需要配对的图像和相机参数的,但通常而言相机参数我们是无法获得的。在nerf中是使用了sfm方式预测了相机参数,但作者认为其实根本就不需要相机参数,因此就做了尝试。

首先,整体的模型结构都是基于NeRF的。作者先将相机的内参(焦距,焦点,高度)和外参(位置,旋转)设置为可学习的参数。然后在训练的时候会先将相机参数设为一个固定的初始化值,例如相机的朝向总是向着z轴的负方向的。然后通过这个相机参数和向radiance field里发射一条光线(即将相机参数和对应像素的位置输入radiance field),从而获得对应点的密度和颜色。然后再取不同的位置发射光线,最终将获得的密度和颜色通过体积渲染成一张完整的图片,从而与输入图像做loss,进而优化相机的内参和最终的图像表示。

其中作者还提到,为了提高模型的效果,其实可以重复的优化相机内参,即按照前面讲的训练完毕之后再将获得的相机内参保存,然后初始化nerf的所有参数,之后将保存的相机参数作为相机参数的初始化,再继续重复上面的步骤训练,这样可以得到一个更好的结果。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
nerf-simple是基于PyTorch框架实现的NERF(神经辐射场)模型的简单版本。NERF是一种用于生成高质量逼真图像的深度学习模型,它通过对场景中各个点的辐射值进行建模,从而实现精确的三维重建和渲染。 在NERF模型中,神经辐射场是核心概念之一。它是一个由多个隐藏层组成的神经网络,用于估计场景中每个点的辐射值。这里的辐射值通常表示像素的RGB颜色值或光强度。 nerf-simple通过使用PyTorch框架的张量操作和自动微分功能来实现NERF模型。首先,我们需要定义一个神经网络模型,包括隐藏层的数量和大小。这个模型可以基于现有的PyTorch模块,如nn.Linear和nn.ReLU,以便构建非线性变换和特征提取。 然后,我们需要定义训练过程,实现数据加载、优化器设置和损失函数计算等步骤。训练数据通常包括一系列场景中的图像及其对应的相机和深度信息。 在模型训练完成后,我们可以使用训练好的神经网络来生成逼真的图像。通过对场景中每个像素点的辐射值进行预测,我们可以还原出场景的三维形状和纹理信息,并最终渲染出高质量的图像。 总结来说,nerf-simple是一个使用PyTorch实现的简单版本NERF模型,它通过神经辐射场来估计场景中每个像素点的辐射值,从而实现精确的三维重建和渲染。通过定义神经网络模型、训练过程和图像生成过程,我们可以利用这个模型生成逼真的图像。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值