3DGS与NeRF的区别

0 论文链接

nerf:https://arxiv.org/abs/2003.08934

3dgs:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gaussian_splatting_low.pdf

1 简要

1.1 nerf

neural radiance fields神经辐射场

作者提出了一种优化来自一组输入图像的场景的连续5D神经辐射场表示(空间位置 x y z和视图方向 d θ)的方法。作者使用体绘制的技术来积累这个场景表示沿着射线的样本,以从任何视点渲染场景。作者可视化了在周围半球上随机捕获的合成 鼓场景 的100个输入视图的集合,最后作者显示了从优化的NeRF表示渲染的两个新视图。

1.2 3dgs

3d guassian splatting三维高斯喷溅

核心是构建以协方差为主导的3d高斯点云,然后围绕3d高斯点云进行渲染和优化。

从已有的点云模型出发,以每个点为中心,建立可学习的3d高斯表达,用相机参数把点投影到图像平面上,splatting即抛雪球的方法进行渲染,在splatting的痕迹中进行tile based的光栅化得到渲染图像,将渲染图像和GT图像求损失loss,沿蓝色箭头反向传播,自适应的密度控制模块根据传递到点上的梯度来决定是否需要对3d高斯做分割或者克隆,梯度也会传递到3d高斯里面,来更新其中存储的位置、协方差矩阵、球谐函数、不透明度这些参数。

实现了高分辨率的实时渲染

2 隐式几何与显式几何

nerf是神经隐式辐射场

而3d高斯是可微分的,可以实现快速α混合渲染

3dgs的显式几何,和nerf方法的隐式几何,是非常重要的区别

3 采样与渲染

从采样点颜色贡献度的角度进行nerf系的方法区分,可以分为体积类方法和表明类方法

2020年原版nerf属于体积类表达,输入5d信息(x y z d θ)输出颜色和体密度,采样点返回密度值反映了这里是否存在几何占用。

另一种热门的是表面类表达,输入采样点,sdf(signed distance function,符号距离函数)

输出空间中距离这个点最近的表明的距离。正值表示表面外,负值表示表面内,表面可以用所有的sdf=0的采样点的集合来表达,借助神经网络实现的sdf即神经sdf

体积类方法通过几何密度决定采样点颜色贡献度,表面类方法则判定越靠近表面的采样点颜色贡献度越高.

隐式的采样,投出射线,累积颜色不透明度来做渲染


3dgs的引言部分这样提到:nerf方式的渲染所需要的随机采样成本高,并且可能会导致噪声。

而3d高斯有个特性,其轴向积分等同2d高斯,从数学层面降低了采样的成本,我们并不需要花费高昂的成本做采样了,用数学的方式就可以轻松地把3dgs转化成一个2dgs。

直接把球抛掷在墙上,在墙上留下的斑点,就是3dgs splatting 投掷的结果,完成了采样的渲染

4 光栅化

传统的nerf方法并不能做光栅化,而3dgs可以进行光栅化,对速度的提升是至关重要的

5 可微性

nerf全链路可微

3dgs也具有可微分的特性

相关推荐
前端Hardy1 小时前
HTML&CSS:数据卡片可以这样设计
前端·javascript·css·3d·html
小彭努力中5 小时前
138. CSS3DRenderer渲染HTML标签
前端·深度学习·3d·webgl·three.js
AI生成未来9 小时前
斯坦福&UC伯克利开源突破性视觉场景生成与编辑技术,精准描绘3D/4D世界!
3d·3d场景·4d
汪洪墩1 天前
【Mars3d】实现这个地图能靠左,不居中的样式效果
前端·javascript·vue.js·3d·webgl·cesium
Bearnaise1 天前
GaussianDreamer: Fast Generation from Text to 3D Gaussians——点云论文阅读(11)
论文阅读·人工智能·python·深度学习·opencv·计算机视觉·3d
智驾机器人技术前线1 天前
近期两篇NeRF/3DGS-based SLAM方案赏析:TS-SLAM and MBA-SLAM
3d·slam·nerf·3dgs
Tianwen_Burning1 天前
halcon3d disparity_image_to_xyz非常重要的算子及使用条件
算法·3d
光学测量小菜鸡2 天前
OpenCV双目立体视觉重建
opencv·3d·双目相机·结构光·sgbm
喵叔哟2 天前
重构代码之删除对参数的赋值
重构