效果惊人!NeRF 模型渲染超逼真三维场景

如果我的文章对你有帮助,就请投我一票吧!

前言

传统的三维场景渲染通常依赖于手工设计的三维模型和复杂的渲染方程。相比之下,NeRF 使用神经网络,通过学习从场景中的点到颜色和密度的映射,直接从数据中学习如何渲染,并且效果惊人,NeRF 技术主要应用于计算机图形学、虚拟现实、增强现实等领域。

基本概念介绍

定义:NeRF(神经辐射场)是一种计算机视觉技术模型,用于生成逼真三维场景。NeRF 的研究目的是合成同一场景不同视角下的图像。方法很简单,根据给定一个场景的若干张图片,重构出这个场景的 3D 表示,然后推理的时候输入不同视角就可以合成(渲染)这个视角下的图像了。

输入: NeRF 模型的输入是一组射线(rays)或光线,通常是从摄像机位置穿过图像像素的光线。每条射线都有起始点(摄像机位置)和方向。这些射线的集合构成了模型的输入。

输出: 模型的输出是在每条射线上各个点的颜色和密度。对于每个射线,模型输出的是沿着射线的各个位置的颜色和密度值。这些输出可以用来生成图像,即为每个像素着色,也可以用来还原三维场景的结构。

实现过程: NeRF 通过训练一个深度神经网络,该网络以射线作为输入,输出每个点的颜色和密度。训练数据通常是由带有深度信息的图像或者带有光照信息的图像生成的。

效果呈现: NeRF 可以生成高质量的、逼真的三维场景重建结果,包括了光照效果。由于其对场景的高度表达能力,可以捕捉复杂的几何结构和光照情况。

效果好坏: NeRF 的效果通常非常好,特别是在对场景的高保真度要求较高的情况下。然而由于模型的复杂性,训练和推理的计算成本相对较高

模型生成挖掘机

我们使用 NeRF测试数据来展示本次的任务,压缩包里面是 106 张不同角度拍摄的挖掘机玩具照片,另外还包含图像对应的相机姿势焦距等相机参数。

我们通过运行 tensorflow 实现的 NeRF 模型,通过不断训练,学习如何进行三维渲染,我们展示了某个相机角度的训练过程动图如下,可以看出重建效果不断清晰,说明 NeRF 产生了效果。

我大约训练了 100 个 epoch ,然后经过处理可以看到渲染后的 360 度场景视图,效果虽然有点糊,主要是因为模型简单和数据不够精细的原因,但是还是能展现出这个模型的威力。可以看出该模型仅用了 100 个 epoch 就通过稀疏图像数据集成功学习了整个体积空间并进行了展示。

工具生成狐狸

instant-ngp 是 GitHub 上面的一个开源项目,可以轻松实现三维模型的生成,只需要上传一个目标实体的 360 度视频或者是图片集合集合,渲染出的三维效果惊人,并且可以把结果保存为 obj 模型。

根据下图中官网说明,看自己显卡是哪个系列的,我的 window 主机是 4090 所以直接下载第一个压缩包。

解压之后直接双击 instant-ngp.exe 即可自动启动,然后将项目中自带的 data\nerf\fox 文件夹直接拖入到工具页面中,就会自动进行三维渲染。

等到训练结束,我们就能查看三维效果,下面展示的就是奇迹的时刻,渲染出来的狐狸相当逼真。

我们还能将三维模型保存成 obj 模型,可以在许多三维建模软件中进一步进行编辑修改。

感兴趣的同学可以自己试试,如果有视频也可以,只不过需要将视频帧切成图片集,原理本质上都是一样的。

参考

相关推荐
这张生成的图像能检测吗3 分钟前
SAMWISE:为文本驱动的视频分割注入SAM2的智慧
人工智能·图像分割·视频·时序
哥布林学者10 分钟前
吴恩达深度学习课程二: 改善深层神经网络 第一周:深度学习的实践 课后作业和代码实践
深度学习·ai
antonytyler15 分钟前
机器学习实践项目(二)- 房价预测增强篇 - 特征工程一
人工智能·机器学习
N 年 后15 分钟前
cursor和传统idea的区别是什么?
java·人工智能·intellij-idea
AI Echoes19 分钟前
LangChain 使用语义路由选择不同的Prompt模板
人工智能·python·langchain·prompt·agent
Wilber的技术分享24 分钟前
【大模型实战笔记 6】Prompt Engineering 提示词工程
人工智能·笔记·llm·prompt·大语言模型·提示词工程
小高不会迪斯科25 分钟前
大话大模型应用(二)--让大模型听话:Prompt Engineering&Context Engineering
人工智能·prompt
JJJJ_iii26 分钟前
【机器学习16】连续状态空间、深度Q网络DQN、经验回放、探索与利用
人工智能·笔记·python·机器学习·强化学习
leafff12329 分钟前
AI研究:大语言模型(LLMs)需要怎样的硬件算力
大数据·人工智能·语言模型
Wu Liuqi29 分钟前
【大模型学习】第一章:自然语言处理(NLP)核心概念
人工智能·学习·自然语言处理·大模型·大模型转行