点击下方卡片,关注“3D视觉之心”公众号
>>点击进入→3D视觉之心技术交流群
如何降低训练时间和存储成本
通过基于神经隐式技术的渲染监督方法,能够在小场景中取得令人印象深刻的结果,但在复杂或大规模场景中,尤其是在广泛无纹理区域的场景中,这些方法表现不佳。为了解决这些问题,先前的研究在优化过程中引入了诸如深度、法线正则化、点云和语义信息等结构先验,同时采用了精细采样策略,例如体素关键点引导和分层采样。虽然这些策略提高了表面网格重建的准确性,但也显著增加了计算需求并延长了训练时间。
尽管某些方法使用MVS预测的点云作为网格重建的先验,但这些点云稀疏且噪声较大,无法捕获场景的细节特征。在NeRF之后,最近引入了3D高斯点云(3DGS)方法,并迅速流行起来。这种方法擅长生成密集几何点云,并在参数空间中显式存储场景结构,从而能够直接编辑3D场景。然而,通过3DGS优化的高斯点由于其数量庞大、训练速度较慢且主要位于场景内部,因此无法直接用作网格重建的先验,这可能会产生噪声结果。
DyGASR[1]旨在降低训练时间和存储成本,同时超越当前最先进方法的重建质量。我们注意到,3DGS信号建模固有的低通特性在大多数场景中的高频不连续性和由众多微小高斯点导致的内存负担中显得不足。因此,受广义指数点云方法的启发,我们采用广义指数点云(GES),这种方法通过更少的粒子和更高的精度表达各种信号点。然而,由于GES生成的几何点云中心未与实际场景表面对齐,采用SuGaR方法并引入广义表面正则化(GSR),以使这些点云与表面对齐,并通过参数优化控制广义指数点云的形状。
此外,该方法放弃了原始的训练方法,提出了一种从低分辨率逐步过渡到高分辨率的策略,大幅提高了训练的收敛速度和稳定性,同时提升了重建质量。实验结果表明,本方法不仅在训练时间上显著减少,同时在内存使用上表现更优,并且在网格重建的细节质量上领先于其他方法。
具体方法
总览
图3展示了我们提出的DyGASR框架。最初,利用结构化运动恢复(SfM)生成的稀疏点云初始化高斯点云分布。该方法包括三个关键训练模块:
广义指数点云(GES): 在整个训练过程中,通过投影和光栅化监督渲染,以生成稠密的广义指数点云。需要注意的是,许多生成的广义指数点云的中心位于表面之内。
广义表面正则化(GSR): 为了解决实际和理想有符号距离函数(SDF)值之间的差异,引入了协同的GSR优化。此过程使3D广义指数点云扁平化并与表面对齐,同时确保实际法线与表面垂直。
动态分辨率训练(DRT): 引入了一种从粗到细动态调整图像分辨率的训练策略。
完成训练后,生成的广义指数点云将用于泊松重建,创建场景的带纹理表面网格。
广义指数点云(Generalized Exponential Splatting, GES)
为了加速从3D点云到网格的重建,并受GES方法的启发,我们将广义指数点云(GES)框架引入到我们的3D表面网格重建方法中。该方法通过广义指数函数(GEF)原则,将广义指数椭球投影并栅格化到图像上。通过调整形状参数ϵ,GES能够灵活调整广义指数基元的形状。如图2(c)所示,广义指数函数定义如下:
其中, 表示位置参数, 表示缩放参数, 表示幅度, 为形状参数。当 时,GEF对应缩放高斯分布:
在扩展到GES框架时,其核心特性定义了位置 在3D空间中的表达为:
其中, 表示位置中心, 表示3DGS的协方差矩阵。协方差矩阵 可以分解为旋转矩阵 和缩放矩阵 的乘积:
对于2D投影,协方差矩阵 通过投影矩阵 及其雅可比矩阵 计算为:
为了保持 的半正定性并适应栅格化框架,使用函数 优化 。在体积渲染中,光线穿过场景的期望颜色通过积分计算,定义为:
其中, 表示从 到 的透射率, 表示体密度, 为 处沿方向 的辐射亮度。
在3DGS中,投影分量的方差 沿光线方向积分,影响渲染颜色强度。在GES中,通过调整函数 调节缩放矩阵的有效方差 ,公式为:
其中, 为形状强度参数,用于缓解视角相关边界效应的潜在误差,并确保不同 值下的转换连续性。最终,通过图像投影和栅格化计算重建损失:
其中, 取值为0.2,使GES能够通过渲染损失持续优化 ,利用多样的广义指数函数形状描述场景。该方法不仅传递低频信号特征,还能确保覆盖完整3D场景,同时减少所需的GES数量。通过全局计算渲染损失,该框架推导出更适合的稠密点云,从而提高网格重建效率。
显式网格重建
广义表面正则化(Generalized Surface Regularization, GSR)
借鉴A. Guédon提出的SuGaR方法,我们将其与广义指数点云(GES)相结合。在广义指数分布场景中,给定位置 的密度函数 受GES模型灵活的形状参数 影响。位置 的函数值由所有点的值按透明度权重系数 加权求和得到:
在理想情况下,当广义指数分布完全对齐且均匀分布时,点 的密度主要受最近点 的影响,而忽略其他点。此外,为确保广义指数点云在极薄情况下能够紧贴表面,每个点云的缩放矩阵 的最小因子 应趋近于零,同时将透明度 设置为1。这样,点 的密度简化为:
其中, 表示广义指数形状的最小缩放因子, 为最近广义指数分布的主法向量。
因此,可将理想和实际条件下的密度融入正则化项。然而,实验表明,基于有符号距离函数(SDF)计算的损失比基于密度的损失更有效。因此,SDF表达式为:
通过分别代入理想场景的 和实际场景的 值,得到第一个损失项:
其中, 是从广义指数分布场景关键区域采样的点集。观察到某些采样点在 中具有较高的梯度值,且 点的法线与表面垂直。因此,引入第二个正则化损失项,使实际状态的法线更接近 :
其中, 是点 的SDF梯度。
最终,模型的总损失函数定义为:
其中, 和 是两个正则化项的权重。通过协同优化,广义指数点云被精确地展平并与表面对齐。
网格提取
为了快速从正则化后的GES生成网格,使用泊松重建算法。基于密度函数计算的等值面通过3D点集采样确定。具体而言,随机选择广义指数分布深度图中的像素点作为视线方向的起点(深度图通过扩展点云栅格化器获得)。沿选定像素的视线方向 ,生成点 。范围 设置为 ,其中, 是广义指数分布在方向 上的标准差,覆盖了99.7%的置信区间。计算每个采样点的密度值 ,并标记满足 的区间,定位等值面点。
通过线性插值,确定最近于相机的等值面点 ,满足 。在每个等值面点 处,法线通过密度函数的梯度归一化计算得到:
随后,使用这些等值面点及其法线信息通过泊松算法重建网格。在初步网格提取后,将新生成的广义指数分布绑定到网格三角形上,并进行协同优化。这一过程采用高斯栅格化器,使网格编辑工具可以在保持高质量渲染效果的同时,对广义指数点云展平后的场景进行编辑。
动态分辨率训练(Dynamic Resolution Training, DRT)
传统的高斯点云训练在整个图像上始终以单一分辨率进行,这导致了次优的损失结构。因此,本文引入了一种动态分辨率训练(DRT)策略,通过由粗到细的方式转变传统训练模式。
训练策略
训练从低分辨率开始,随着训练的进行,逐渐提高分辨率,直至达到完整分辨率。这一调整通过余弦调度进行动态控制,缩放因子定义为:
其中:
和 分别表示策略的初始和最终缩放因子; 和 分别表示当前迭代次数和总迭代次数。
优化过程
在训练初期,采用稀疏点云和近似属性进行优化。此时,过早关注细节会阻碍收敛,并可能导致高斯模糊伪影的出现。随着分辨率的提高,模型逐渐适应广义指数分布,从而更好地重建场景的细节特征。
效果
该策略显著减少了训练时长,同时对场景的重建质量产生了积极影响。通过逐步提升分辨率,模型能够在早期快速捕获全局结构,在后期精细化细节,从而实现更高效、更稳定的训练和重建过程。
实验效果
总结一下
DyGASR是一种基于动态广义指数点云对齐表面的创新方法,用于加速3D网格重建。该方法采用广义指数点云模型代替传统模型,减少了所需粒子数量,并提高了信号特征的精确性。通过引入广义表面正则化模块,确保广义指数分布的质心与实际场景表面更加精确对齐,从而提升了网格重建的精度。此外,动态分辨率调整策略显著加快了训练速度并降低了内存消耗。与现有先进的基于3DGS的方法相比,本文的方法实现了25%的速度提升、30%的内存消耗减少,并在质量上取得了更好的表现,为3D网格重建树立了新的基准。
参考
[1] DyGASR: Dynamic Generalized Exponential Splatting with Surface Alignment for Accelerated 3D Mesh Reconstruction
本文仅做学术分享,论文汇总于『3D视觉之心知识星球』,欢迎加入交流!
扫码添加小助理进群
3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。