当前位置: 首页 > article >正文

Normal-GS: 3D Gaussian Splatting with Normal-Involved Rendering 论文解读

看这篇论文之前可以看一下Ref-NeRF:https://arxiv.org/pdf/2112.03907

目录

​编辑

一、概述

二、相关工作

1、辐射场

2、3DGS在几何和外观上的应用

三、Normal-GS

1、3DGS

2、引入法线的策略

3、训练过程

4、损失函数

四、实验

1、渲染质量的量化对比实验

2、Synthetic-NeRF数据集上的法线一致性对比和可视化

3、不同模块的消融实验

4、可视化  


一、概述

        该论文提出了一种法线集成到3DGS模型Normal-GS,用于高质量的渲染和准确的法线估计,同时保持实时性能。核心是使用基于物理的渲染方程来建模法向量和入射光照之间的相互作用。

(1)我们提出了一个新的方法,基于3DGS外观建模上的法线信息,以平衡外观和几何建模之间的良好平衡。

(2)直接考虑法向量和入射光照之间的相互作用,从物理渲染方程的角度建模,重新参数化了表面颜色,使用法向量和设计的集成定向照明向量(IDIV)的乘积来表示。

(3)采用基于锚点的3DGS来隐式编码局部共享的IDIV,以节省内存使用并简化优化。

(4)利用优化的法向量和集成定向编码(IDE)来准确建模镜面效果,进一步提高渲染质量和法向量精度。

二、相关工作

1、辐射场

        辐射场的发展,从NeRF到3DGS,NeRF发展包括在复杂光照,不同材料条件上增强渲染质量,多视角到稀疏视角,有无相机姿态,大场景的可扩展性等多领域。然而隐式表示的NeRF依赖于多层感知器来计算三维位置和射线方向的密度和辐射,需要大量计算,而导致效率难以满足实用性。

        3DGS通过引入三维高斯函数,采用快速光栅化来显式建模三维场景,实现有竞争性的实时渲染。并且在这一发展中诞生了3D生成,物理模拟,稀疏视图重建(用与实时渲染)。

        Scaffold-GS利用特征锚定,值剪枝,量化技术,挖掘空间关系等创新来减少3DGS的内存占用,从而提高存储效率和保真度呈现。

2、3DGS在几何和外观上的应用

        3DGS几何和外观方面的应用有表面重建和逆渲染两部分。几何和外观是3D重建的中心,3DGS的离散性和显式性质会造成有噪声的底层几何性质。

        表面重建部分:SuGaR考虑从3DGS中进行了细化网格提取的初步尝试,并在对其高斯核和实际表面轮廓对齐中应用正则化。另外为了更好地定义几何性质,考虑将3DGS转化到2DGS和GS Surfels。这种方法会将正则化用于深度和法线渲染。虽然上面的方法改进了表面重建,因为缺少几何和外观之间清晰的关系,而牺牲了渲染保真度。

        逆渲染部分:目的是将场景元素分离为材质、照明和几何。但这种方式挑战了传统渲染方程比如利用蒙特卡洛积分,基于点的光线追踪,baking方法来处理复杂的积分问题。也经常依赖于简化模型Disney BRDF和如split-sum的近似方法。但这类简化模型都存在较低渲染质量,较低的PSNR,而无法匹配3DGS。

        近期的Gsdf,Deferredgs考虑引入对于法线的渲染,Gsdf考虑从一个额外的隐式表面场中蒸馏几何信息来实现延迟渲染,Deferredgs通过一个双分支结构同时增强几何精度和渲染质量,使用3DGS来进行外观渲染,用隐式神经场来进行集合集成。但这两种方法都添加额外的网络受训练速度阻碍。

        Disney BRDF:(感觉比较好玩,搜了一下)Disney BRDF是一种基于物理的着色模型,由Brent Burley和华特迪士尼动画工作室开发。它旨在提供更逼真的材质外观,并可以在实时渲染中使用。Disney BRDF模型包括漫反射、镜面反射和其他复杂的光学效果,可以更好地模拟真实世界材质的外观。与之前的着色模型相比,Disney BRDF提供了更加物理准确的光照计算,从而产生更逼真的渲染效果。这种基于物理的着色模型在游戏和电影行业中广泛使用,成为了业界的标准之一。

三、Normal-GS

1、3DGS

        对于3DGS的空间位置来说,高斯核的定义由高斯核中心\mu和协方差矩阵\Sigma构成。

                ​​​​​​​        ​​​​​​​        G(p)=exp(-\frac{1}{2}(p-\mu)^T\Sigma ^{-1}(p-\mu)) 

        协方差\Sigma由旋转矩阵R和缩放矩阵构成S

                ​​​​​​​        ​​​​​​​        \Sigma=RSS^TR^T

        对于每一个像素的3DGS的颜色信息受到颜色值c和不透明度\alpha影响。其中高斯分布将被快速光栅化到图像平面,形成二维高斯溅射G'(x)。对于颜色和不透明度的定义如下:

                                C(x)=\sum_{i \in N}c_i\sigma_i \prod _{j=1}^{i-1}(1-\sigma_j), \quad \sigma_i=\alpha_iG_i'(x)

        其中,N表示覆盖当前像素的二维高斯溅射数量,采用启发式密集化和剪枝策略来解决潜在的重建不足和过度重建,确保渲染图像的多视图一致性。

        对于3D高斯球谐函数c_i,首先(l,m)代表球谐函数SH的度和阶数,相应的系数定义为Y_l^m,k_l^m\omega_{view}表示观看方向,3DGS使用最大度为3,高斯球谐函数定义为:

                ​​​​​​​        ​​​​​​​        c(\omega_{view})=\sum_{l=0}^3\sum_{m=-l}^lk_l^mY_l^m(\omega_{view})

        对于标准的3DGS中颜色信息独立于表面法线,优化表面颜色时,表面发现不会受到反向传播过程收到梯度信息,而这种独立性,导致破坏了同时提供图像质量和法线估计的能力。

2、引入法线的策略

基于物理的渲染

        表面法线:Surfel normal,表面法线可以准确描述物体的几何形状,在三维重建中可以通过估计表面法线来更好地捕捉物体表面的细节信息,提高重建精度。另外对于在光照计算有关键作用,通过考虑表面法线和光线的关系,对于实现逼真的渲染效果非常重要。

        引入法线的目的:通过在3DGS中引入表面法线,使得渲染质量和几何精度得到更好的平衡,另外通过建模法线与入射光线的相互作用,可以更加准确地模拟漫反射和镜面反射效果,提高渲染质量。

        兰伯特定律:反射光的强度与表面法线和光线之间的角度余弦成比例。

        在该论文中,考虑基于物理的表面渲染原理(兰伯特定律),将表面点的出辐射L_{out}建模为入射光与法线的函数。对于每一个三维点,\omega_o=-\omega_{view},颜色函数定义为:

        ​​​​​​​        c(\omega_{view})=L_{out}(\omega_o)=L_E(\omega_o)+\int _{\Omega+}L_{in}(\omega_i)(\omega_i \cdot n)f_r(\omega_i,\omega_o)d\omega_i

        其中L_E是向发光辐射亮度,表面自身发出的辐射亮度(不太理解,说是会通过输入参数传递给着色器,来满足渲染过程中考虑物体自身发光特性的参数)。

        积分项表示上半球\Omega_+方向入射的辐射亮度经过f_r(\cdot),即BRDF函数后从入射光线反射后得到的信息。

        (\omega_i \cdot n)表示入射光与表面法线n的点积,表示入射光线与表面法线之间的夹角。这个几何衰减因子会对入射光在表面的反射起到权重贡献作用,当入射光与表面法线垂直时,(\omega_i \cdot n)该值为0,表示入射光不会对表面法线产生贡献,当入射光线与表面法线平行时,(\omega_i \cdot n)该值为1,表示入射光完全贡献到表面反射。

        发射辐射L_E: 指物体自身发出的辐射,即物体表面的自发光。

        入射辐射L_{in}:指从其他方向照射到物体表面的辐射,即物体表面接收到的外部光照。

        入射光方向\omega_i,反射光方向\omega_o

基于朗伯物体合并方向性的照明分量

        朗伯物体:朗伯物体是一种理想化的表面材质模型,其特点是反射光线与入射角无关,只与表面法线有关。

        首先考虑理想情况下只包含朗伯物体漫反射渲染方程

        对于这一部分,我们省略了发射辐射L_E,并且简化了入射辐射部分的BRDF函数为一个反射率k_D

        此时我们定义该漫反射渲染方程为(略复杂版):

        ​​​​​​​        L_D=\int_{\Omega^+} L_{in}(\omega_i)\cdot k_D \cdot (\omega_i \cdot n)d \omega_i=k_D \int_{\Omega^+} L_{in}(\omega_i)(\omega_i \cdot n)d \omega_i

        之后,我们考虑不引入复杂的积分,将法向量n提出来,L_D就变成了法向量和一个积分项点积的形式,我们定义后面的积分项为“集成定向照明向量(IDIV)”,它捕捉了入射光照的方向信息。通过这种方式,法向量n被显式引入到渲染过程中,使得反向传播中,颜色梯度可以传递给法向量,增强了几何信息的优化。

        我们定义该漫反射渲染方程为(精简化):

                        L_D=k_D \cdot n \cdot [\int_{\Omega^+} L_{in}(\omega_i)\omega_i d \omega_i]

        合并方向性的照明分量IDIV(integrated directional illumination vector)定义为:

                        l=\int_{\Omega^+} L_{in}(\omega_i)\omega_i d \omega_i

基于非朗伯物体的镜面反射颜色分量

        首先引入镜面反射矢量计算公式,假设材料是一个理想的镜面,所以反射光与法线的点积应该是1,所以满足下图的情况。n \cdot \omega_o=1

        但是由于现实情况下,镜面反射的BRDF函数复杂,并不完全遵循这种规律,但是反射方向的计算仍然满足上面式子:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​                ​​​​​​​\omega_r=2(\omega_o \cdot n)n-\omega_o 

        从Ref-NeRF中引入集成方向编码(Integrated Directional Encoding,IDE),用于建模镜面反射的颜色,传统的NeRF中处理光泽表面会存在伪影,而IDE考虑从反射向量作为输入,而不是一般的从视角向量作为输入,更好地插值反射光照,得到更为平滑的结果。

        IDE的编码内部也是一组球谐函数,只不过他不是在高斯分布,而是在vMF分布中。

        vMF分布(von Mises-Fisher):建模反射向量分布的概率分布,分布中心为反射向量,分布的集中度参数\kappa由空间MLP输出,作为表面粗糙度。粗糙度越大,\kappa越小,分布越宽。

        IDE编码定义为:

                                IDE(\omega_r,\kappa)=\left \{ \mathbb{E}_{\omega\sim vMF(\omega_r,\kappa)}[Y_l^m(\omega)]:(l,m) \in \mathcal{M}_L \right \}

        其中,\mathcal{M}_L=\left \{ (l,m):l=1,...,2^L,m=0,...,l \right \}球谐函数的维数和阶。

        vMF分布可以定义为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        \mathbb{E}_{\omega\sim vMF(\omega_r,\kappa)}[Y_l^m(\omega)]=A_l(\kappa)Y_l^m(\omega_r)

        其中,A_l(\kappa)\approx exp(-\frac{l(l+1)}{2 \kappa}),这是一个近似解。

        镜面反射的分量通过将IDE编码向量\phi_{IDE}(\omega_r),法线n,视角向量f_v通过一个\theta函数(该函数信息没有介绍,希望appendix写一下)得到。

        镜面反射分量定义:

                ​​​​​​​        ​​​​​​​        L_S=\theta(\phi_{IDE},n,f_v)

总结颜色信息

        在论文中,使用基于朗伯物体合并方向性的照明分量基于非朗伯物体的镜面反射颜色分量的加和作为替代原有3DGS中3D高斯球谐函数的新的颜色信息。

        另外,此时的颜色信息可以经过法向量传播梯度信息,因为后面介绍到损失函数中法向量只影响颜色信息这一部分,且法向量只在L_D项,那么一定有反向传播过程中下式成立:

                                \frac{dL}{dn}=\frac{dL}{dc} \cdot \frac{dc}{dn} =\frac{dL}{dc} \cdot (k_D \cdot L)

3、训练过程

        训练过程分为三部分:初始化三维高斯分布,预测高斯核的法线和深度,通过深度法线损失来正则化模型。

        初始化三维高斯分布:首先输入图像利用Structure-from-Motion来生成稀疏点云,并通过以训练好的3DGS来初始化三维高斯分布。

        预测高斯核的法线和深度:利用anchor-based的GS方法Scaffold-GS和全局MLP来预测高斯核的法线(利用SDF的梯度作为曲面法线)和深度信息,之后根据3DGS快速光栅化来得到深度图像和法线图像\mathcal{N}

        通过深度-法线损失来正则化模型:根据深度图的梯度\nabla_{(u,v)}D和图像空间梯度计算交叉积得到\mathcal{N}_D,深度-法线正则化损失定义为:L_N=1-\mathcal{N}_D \cdot \mathcal{N}

4、损失函数

        损失函数由三部分组成,分别是训练过程的三步。

        第一阶段:3DGS的光度损失

        第二阶段:Scaffold-GS的体积正则化损失

        第三阶段:Normal-GS的深度-法线正则化损失

四、实验

1、渲染质量的量化对比实验

        证明了Normal-GS在几何和外观两个方面的平衡性,但是不一定是SOTA。

2、Synthetic-NeRF数据集上的法线一致性对比和可视化

        证明该方法确实在法线方面取得了效果。

3、不同模块的消融实验

        证明流程中的IDIV,L_S的有效性。

4、可视化  

参考文献:https://arxiv.org/abs/2410.20593


http://www.kler.cn/a/392130.html

相关文章:

  • 【深圳大学】数据结构A+攻略(计软版)
  • Oracle 11g rac 集群节点的修复过程
  • 【学习】【HTML】HTML、XML、XHTML
  • 学Linux的第八天
  • GitHub Org
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理
  • 【vue】echarts地图添加蒙版图片,多图层地图实现天气信息展示
  • Hadoop生态圈框架部署(六)- HBase完全分布式部署
  • λ矩阵与矩阵的Jordan标准形
  • 蓝牙BLE开发——iOS 每次写入数据超过200字节报错?
  • CSS教程(八)- 盒子模型
  • Oracle的字符串函数
  • 解决:this is incompatible with sql_mode=only_full_group_by
  • 动态规划---解决多段图问题
  • BERT框架详解
  • JavaScript判断是否是有效字符串
  • Webpack 中无法解析别名路径的原因及解决方案
  • Unet++改进20:添加RFAConv||用于特征冗余的空间和通道重构卷积
  • Pinia
  • 相亲小程序(源码+文档+部署+讲解)
  • sql专题 之 count()区别
  • 数据安全、信息安全、网络安全区别与联系
  • sql专题 之 sql的执行顺序
  • 网页web无插件播放器EasyPlayer.js播放器返回错误 Incorrect response MIME type 的解决方式
  • 做的图表配色太丑,怎么办?
  • react->Antd->Table调整checkbox默认样式