网站推广优化排名公司,大数据营销方案,帮网站做推广赚钱吗,广州品牌网站开发原文链接#xff1a;https://arxiv.org/abs/2308.04079
1. 引言
网孔和点是最常见的3D场景表达#xff0c;因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场#xff08;NeRF#xff09;则建立连续的场景表达便于优化#xff0c;但渲染时的随机采样耗时且引入噪声…原文链接https://arxiv.org/abs/2308.04079
1. 引言
网孔和点是最常见的3D场景表达因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场NeRF则建立连续的场景表达便于优化但渲染时的随机采样耗时且引入噪声。本文的方法结合了上述两种方法的优点使用3D高斯表达和基于tile的溅射能实时地渲染高质量高分辨率图像。
首先建立3D高斯表达场景。从使用运动恢复结构SfM方法校准的相机出发使用SfM过程中产生的稀疏点云初始化3D高斯集合。即使使用随机初始化本文的方法也能达到高质量图像合成。3D高斯是可微体积表达且可以通过投影到2D、并使用标准的 α \alpha α混合使用NeRF一样的图像形成模型来实现高效栅格化。然后优化的对象是3D高斯的属性3D位置、不透明度 α \alpha α、各向异性协方差和球面谐波SH系数。该优化与自适应密度控制步骤添加并偶尔移除3D高斯交错进行。最后使用快速GPU排序算法和基于tile的栅格化进行实时渲染。归因于排序和 α \alpha α混合使用3D高斯表达能进行保留可见性顺序的各向异性溅射且可通过跟踪尽可能多的排序后的溅射轨迹来实现快速而精确的反向传播。
2. 相关工作
基于点的 α \alpha α混合和NeRF体积渲染有相同的图像形成模型。NeRF的色彩 C C C由沿射线的体积渲染得到 C ∑ i 1 N T i α i c i , α i 1 − exp ( − σ i δ i ) , , T i exp ( − ∑ j 1 i − 1 σ j δ j ) ∏ j 1 j − 1 ( 1 − α j ) C\sum_{i1}^NT_i\alpha_ic_i,\alpha_i1-\exp(-\sigma_i\delta_i),,T_i\exp(-\sum_{j1}^{i-1}\sigma_j\delta_j)\prod_{j1}^{j-1}(1-\alpha_j) Ci1∑NTiαici,αi1−exp(−σiδi),,Tiexp(−j1∑i−1σjδj)j1∏j−1(1−αj)
而典型的基于点的方法通过混合与像素重叠的 N N N个有序点来计算 C C C C ∑ i 1 N c i α i ∏ j 1 j − 1 ( 1 − α j ) C\sum_{i1}^Nc_i\alpha_i\prod_{j1}^{j-1}(1-\alpha_j) Ci1∑Nciαij1∏j−1(1−αj)其中 α i \alpha_i αi为协方差为 Σ \Sigma Σ的2D高斯与学习到的各点不透明度之积。
3. 总览
本文方法如下图所示。本文方法的输入为静态场景的图像和通过SfM校准的相机校准同时产生稀疏点云。从这些点生成3D高斯集合每个高斯由位置均值、协方差矩阵和不透明度 α \alpha α定义以实现3D场景的紧凑表达。辐射场的方向性外观分量色彩通过球面谐波表达。通过交替进行3D高斯参数优化和自适应高斯密度控制建立神经场表达。本文方法高效的关键是基于tile的栅格化允许各向异性溅射的 α \alpha α混合并通过快速排序保留可视顺序。通过跟踪积累的 α \alpha α值可以在不限制接收梯度的高斯数量的情况下快速反向传播。
4. 可微3D高斯溅射
需要继承可微体积表达的优势且同时满足非结构化和显式表达的条件以进行快速渲染。本文选择3D高斯其可微且易于投影为2D溅射从而进行快速的 α \alpha α混合。
设世界坐标系下的3D高斯中心点均值为 μ \mu μ完全3D协方差矩阵为 Σ \Sigma Σ G ( x ) e − 1 2 x T Σ − 1 x G(x)e^{-\frac{1}{2}x^T\Sigma^{-1}x} G(x)e−21xTΣ−1x在混合时该高斯会乘以 α \alpha α。
渲染时需要将3D高斯投影到2D。给定视角变换 W W W相机坐标系下的协方差矩阵 Σ ′ \Sigma Σ′为 Σ ′ J W Σ W T J T \SigmaJW\Sigma W^TJ^T Σ′JWΣWTJT其中 J J J为投影变换仿射近似的雅可比矩阵。
直接优化3D高斯协方差不可行因为协方差矩阵仅当在半正定情况下有意义而对所有元素进行梯度下降的优化不能保证这个条件。因此本文使用另一方法将协方差矩阵分解为缩放矩阵 S S S和旋转矩阵 R R R Σ R S S T R T \SigmaRSS^TR^T ΣRSSTRT将 S S S表达为3D向量 s s s R R R表达为四元数 q q q这样只需通过归一化保证 q q q满足单位四元数的条件。
此外为避免自动计算梯度带来额外开销本文还推导了所有参数显式的梯度见附录A。
5. 3D高斯的优化和自适应密度控制
除了位置 p , α p,\alpha p,α和协方差 Σ \Sigma Σ本文还优化表达高斯色彩 c c c的球面谐波SH系数以捕捉场景视角相关的外观。参数优化和高斯的密度控制交替进行以更好地表达场景。
5.1 优化
本文使用随机梯度下降利用标准GPU加速框架并为某些操作添加自定义CUDA核。对 α \alpha α使用sigmoid函数使其限制在 [ 0 , 1 ) [0,1) [0,1)内对协方差的缩放因数使用指数激活函数以保证光滑梯度。
将协方差初始化为各向同性高斯其轴线长度与最近3点的距离均值相同。对高斯的位置使用标准的指数衰减调度技术。损失函数为 L 1 L_1 L1损失和D-SSIM项 L ( 1 − λ ) L 1 λ L D-SSIM \mathcal{L}(1-\lambda)\mathcal{L}_1\lambda\mathcal{L}_\text{D-SSIM} L(1−λ)L1λLD-SSIM
5.2 高斯的自适应控制
从初始SfM点集开始逐渐密集化高斯以更好地表达场景。本文在优化热启动后每隔一定迭代次数就密集化高斯同时移除 α \alpha α值小于阈值 ϵ α \epsilon_\alpha ϵα的透明高斯。
高斯的自适应控制需要填充空白区域。该操作关注缺失几何特征的区域欠重建和高斯覆盖较大的区域过重建因为二者有较大的位置梯度。本文使用大于阈值 τ pos \tau_\text{pos} τpos的梯度的平均值来密集化高斯。
如下图所示对于欠重建区域的小高斯需要创建新几何。本文通过复制已有高斯并沿位置梯度方向移动实现。对于大高斯本文将其分裂为两个更小的高斯缩放因数变为原来的 1 / ϕ 1/\phi 1/ϕ。通过使用原始3D高斯PDF进行采样得到新高斯的位置。 与其余体积表达类似本文方法的优化会受到相机附近漂浮物的影响而卡住。本文每隔 N N N次迭代就将 α \alpha α设置为接近0的数需要的高斯 α \alpha α会通过优化增大不需要的高斯则会因为 α ϵ α \alpha\epsilon_\alpha αϵα而移除。此外还会定期去除很大的高斯。
6. 高斯的快速可微栅格化
本文设计了基于tile的高斯溅射栅格化方法预先排序高斯且可以对任意数量的混合高斯反向传播其每个像素的计算开销为常数。该栅格化方法完全可微且可栅格化各向异性溅射。
首先将区域划分为若干tile然后挑选出视锥内在各tile内的3D高斯与视锥相交的置信区间为99%以上。然后拒绝极端位置如靠近近平面的高斯因其2D的投影协方差不稳定。根据相交的tile数量为每个高斯分配深度与tile ID组合的键。然后使用快速GPU Radix排序基于上述键对高斯进行排序随后基于此顺序进行混合。
为每个tile分配一个线程块各线程块共同将高斯读取到共享内存中然后从前往后遍历高斯得到像素的颜色和 α \alpha α值。当像素的 α \alpha α值饱和相应线程停止。tile中的线程会定期被查询直到所有像素的 α \alpha α饱和达到1。
为了实现反向传播本文重新利用各tile排序的高斯列表从后往前遍历。遍历从影响像素的最后一个点开始将前向传播中积累的不透明度值除以 α \alpha α以得到梯度计算的系数。
7. 实施、结果与评估
7.1 实施
实施细节首先在低分辨率下预热优化然后逐步上采样到原始分辨率下。球面谐波系数的优化从零阶分量开始因为该值的预测最为困难然后逐步增加波段。
7.2 结果与评估
真实世界场景本文的方法能达到甚至超过SotA的性能且所需要的训练时间大大减少。此外可视化表明本文的方法能保留远处清晰的细节。 合成的有界场景在精确的相机参数下本文可以通过随机初始化覆盖整个空间的高斯达到SotA性能训练过程中模型会快速通过剪枝保留少量的有用高斯。
7.3 消融
从SfM初始化与从随机点云初始化相比从SfM初始化能保留背景细节。 密集化实验表明分割大高斯对背景重建有帮助复制小高斯能使模型更快更好地收敛特别是当薄结构存在时。 不限制深度复杂度的带梯度溅射若限制接收梯度的点数会导致不稳定优化因为梯度计算有严重的近似。 各向异性协方差若改为优化单一的高斯半径值此时为各向同性高斯会严重降低图像质量。因为各向异性高斯能更好地对齐表面。 球面谐波使用球面谐波能提高性能因为其补充了视图依赖效果。
7.4 局限性
本文的方法有时候仍然会产生伪影。
虽然与基于点的方法相比本文的方法较为紧凑但与基于NeRF的方法相比存储占用仍然有很大的差距。
8. 讨论与结论
本文的工作表明场景的连续表达对高质量而快速的神经场训练来说不是严格必要的。
附录
B. 优化与密集化算法 C. 栅格化细节 数值稳定性由于积累不透明度除以 α \alpha α容易因为除以0造成数值不稳定本文在前向和反向传播时跳过 α ϵ \alpha\epsilon αϵ的混合更新并在前向传播混合前计算高斯的累积不透明度该值达到接近1时停止混合。