赞
踩
其实3D Gaussian Splatting和MVS,SFM,Nerf这类比较类似,但是我们发现辐射场一类场景表示方法已经在新视角渲染任务上得到了革命性的进展,但是在高分辨率图片上由于需要使用神经网络,导致训练和渲染都需要十分昂贵的代价,因此最近那些速度比较快的方法都不可避免地需要通过损失质量来提高速度。
而3D 高斯泼溅(Splatting)是用于实时辐射场渲染的 3D 高斯分布描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。3D Gaussian Splatting的pipeline分为3个步骤:1、从相机配准过程中得到的稀疏点云开始,使用3D Gaussian表示场景2、对3D Gaussians进行交叉优化和密度控制3、使用快速可视感知渲染算法来进行快速的训练和渲染。这完全属于颠覆性的工作
传统的场景重建和渲染的方法,如SfM、MVS,核心思路是根据几何来指导输入图像到摄像机的重投影和融合,在这个过程中来重建场景。一般来说这些方法能得到较好的结果,但当MVS产生不存在的几何时很难从未重建区域或过度重建区域中恢复,并且将所有输入图片存储在GPU上的花费太大。
神经渲染和辐射场主要的方法是volumetric ray-marching,如NeRF取得了巨大的成功,但是训练很慢。目前加速的方法主要利用三点:1.利用空间数据结构存储volumetric ray-marching过程中使用到的feature,并利用插值的方法得到不位于顶点的feature;2.不同的编码;3.MLP capacity。如NGP、Plenoxels得到了很好的效果,但却仍然较难以高效表示空白区域,并且较为依赖场景和捕捉图像的形式。
MERF作为一种加速NERF的方法被提出,它通过将多个方向上的光线追踪结果预先烘焙成体积纹理来实现实时处理。 然而,由于 MERF 使用固定大小的体积纹理(如 512x512x512)和高分辨率纹理(如 2048x2048),因此输出的细节和形状保真度会降低。
基于点的方法(即点云)有效地渲染了断开的和非结构化的几何样本。点采样渲染栅格化具有固定大小的非结构化点集,它可以利用本地支持的点类型的图形api或并行软件栅格化。但对于底层数据来说,点的采样会面临空洞、混叠的问题,并且是不连续的。而将point primitives “splatting” 到大于一个像素的范围,例如圆形、椭圆形、椭球,的方法解决了这些问题,实现了高质量的point-based rendering。而目前一些基于differentiable point-based rendering的方法能够达到real-time,但仍依赖MVS来初始化几何,并且继承了其在欠/过重建区域的artifacts。
Tile-based rasterizer (快速光栅化):将三维场景中的mesh面片,分割成小的片段,并将这些片段映射到屏幕上的 tile瓦片(区域而非像素),然后进行光栅化、深度测试和像素着色等操作,最终将三维场景转化为二维图像。这个过程是图形引擎或渲染器中的核心步骤,步骤为:
摄影测量(Photogrammetry)是一种从多视点图像生成 3D 多边形的技术,例如将物体放在转台上并在将物体旋转 360 度的同时拍照。 虽然摄影测量对于扫描物体很有用,但它无法渲染没有轮廓的场景,例如天空或远处场景的精细细节。 此外,由于优化是通过解决传统优化问题来执行的,因此对于某些用例(例如反射和镜子)不可能准确生成 3D 多边形。
3D 高斯泼溅:3D 高斯泼溅的核心是一种光栅化技术。类似于计算机图形学中的三角形光栅化,它可以实时渲染。 首先,将多个视点的图像转换为点云,然后将点云转换为带参数的高斯分布,最后使用机器学习来学习参数。
虽然高斯参数的训练需要机器学习,但渲染不需要任何繁重的处理,并且可以实时完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。