【论文笔记】pixelSplat: 3D Gaussian Splats from Image Pairs for Scalable Generalizable 3D Reconstruction

原文链接:https://openaccess.thecvf.com/content/CVPR2024/papers/Charatan_pixelSplat_3D_Gaussian_Splats_from_Image_Pairs_for_Scalable_Generalizable_CVPR_2024_paper.pdf

简介:本文提出pixelSplat,一种从成对图像中重建由3D高斯参数化的辐射场的前馈网络。该方法渲染和3D重建的速度快,且节省空间。为克服稀疏且局部支持固有的局部极小值,本文预测密集概率分布,并从中采样3D高斯均值。通过重参数化技巧,使采样过程可微,从而允许梯度回传到高斯溅射表达。实验表明本文方法能重建可编辑的3D辐射场并加速渲染,且性能可以超越sota的光场Transformer。

0. 背景:3D高斯溅射

3DGS将3D场景参数化为3D高斯的集合 { g k = ( μ k , Σ k , α k , S k ) } k K \{g_k=(\mu_k,\Sigma_k,\alpha_k,S_k)\}_k^K {gk=(μk,Σk,αk,Sk)}kK,其中 μ k , Σ k , α k , S k \mu_k,\Sigma_k,\alpha_k,S_k μk,Σk,αk,Sk分别为均值、协方差、不透明度和球面谐波系数。与密集表达如神经场或体素网格,3D高斯可使用栅格化操作进行快速而不占空间的渲染。

局部极小:3DGS的拟合与高斯混合模型的拟合密切相关,即需要寻找一组高斯的参数使样本的可能性最大化。3DGS的高斯被初始化到随机位置,并在训练过程中移动到最终位置。但高斯的局部支持性使得在距离正确位置超过几个标准差时,梯度会消失;即便离正确位置很近,也需要找到一条损失值随着距离减小而单调降低的移动路径。在可微渲染中,因为高斯可能会途经空空间并遮挡背景特征(导致损失增大),故3DGS需要依赖不可微的“自适应密度控制”(来避免局部极小);但在可泛化情况下,3D高斯由必须接收梯度的神经网络预测(操作必须可微)。因此本文提出不受局部极小影响的高斯可微参数化。

1. 解决尺度模糊性

理想的新视图合成数据集会包含度量的相机姿态。每个场景 C i m C_i^m Cim会包含一组元组 C i m = { ( I j , T j m ) } j C_i^m=\{(I_j,T_j^m)\}_j Cim={(Ij,Tjm)}j,其中 I j I_j Ij为图像, T j m T_j^m Tjm为其姿态。但实际中,相机的姿态是按比例放缩的(由SfM计算),从而导致不同的场景 C i C_i Ci会按照不同的随机尺度 s i s_i si放缩。给定场景 C i = { ( I j , s i T j ) } j C_i=\{(I_j,s_iT_j)\}_j Ci={(Ij,siTj)}j,从单一图像恢复 s i s_i si是不可能的,即重建网络不可能预测与姿态匹配的深度,如图所示。
在这里插入图片描述
本文首先将每个视图分别编码为特征 F , F ~ F,\tilde F F,F~。令 u u u I I I中的像素坐标, ℓ \ell I ~ \tilde I I~中的对极线( u u u的相机射线在 I ~ \tilde I I~中的投影),沿 ℓ \ell 采样像素 { u ~ l } ∼ I ~ \{\tilde u_l\}\sim \tilde I {u~l}I~。对每个样本 u ~ l \tilde u_l u~l,通过 u u u u ~ l \tilde u_l u~l的三角测量,计算到 I I I相机中心的距离 d ~ u ~ l \tilde d_{\tilde u_l} d~u~l。随后,计算对极注意力的查询、键与值:
s = F ~ [ u ~ l ] ⊕ γ ( d ~ u ~ l ) q = Q ⋅ F [ u ] ,    k l = K ⋅ s ,    v l = V ⋅ s s=\tilde F[\tilde u_l]\oplus\gamma(\tilde d_{\tilde u_l})\\ q=Q\cdot F[u],\;k_l=K\cdot s,\;v_l=V\cdot s s=F~[u~l]γ(d~u~l)q=QF[u],kl=Ks,vl=Vs

其中 ⊕ \oplus 为拼接(concat), γ ( ⋅ ) \gamma(\cdot) γ()为位置编码。按下式更新 F [ u ] F[u] F[u]
F [ u ] + = A t t ( q , { k l } , { v l } ) F[u]+=\mathtt{Att}(q,\{k_l\},\{v_l\}) F[u]+=Att(q,{kl},{vl})

更新后的 F [ u ] F[u] F[u]包含了深度位置编码的加权和,且正确对应的权重最大。因此, F [ u ] F[u] F[u]编码了与缩放后相机姿态对应的缩放深度。随后,使用自注意力使缩放深度估计传播到无对极对应的区域:
F [ u ] + = S e l f A t t ( F ) F[u]+=\mathtt{SelfAtt}(F) F[u]+=SelfAtt(F)

注意该机制也可扩展到多视图。

2. 高斯参数预测

在这里插入图片描述
本步骤使用尺度感知的特征图预测高斯。由于图像像素采样了3D场景中的表面点,本文使用像素对齐的高斯:对坐标为 u u u的像素,以图像特征 F [ u ] F[u] F[u]为输入,预测 M M M个高斯。其中,最重要的问题是如何参数化位置 μ \mu μ。本文方法的预测流程如图所示。

基准方案:预测 μ \mu μ的点估计。直接回归高斯中心 μ \mu μ即使用神经网络 g g g预测高斯中心到相机中心 o o o的距离 d u d_u du,并反投影到3D:
μ = o + d u d ,    d u = g ( F [ u ] ) ,    d = T K − 1 [ u , 1 ] T \mu=o+d_ud,\;d_u=g(F[u]),\;d=TK^{-1}[u,1]^T μ=o+dud,du=g(F[u]),d=TK1[u,1]T

其中 d d d为相机射线方向, K , T K,T K,T为相机内外参。直接优化高斯参数会陷入局部极小,因此本文提出一种可微替代。

本文提出的方案:预测 μ \mu μ的概率密度。本文预测沿射线 u u u的高斯距离相机中心为 d d d的概率分布,定义深度范围 [ d n e a r , d f a r ] [d_{near},d_{far}] [dnear,dfar],将深度离散化为 Z Z Z个区间,得到向量 b ∈ R Z b\in\mathbb R^Z bRZ,其中第 z z z个元素(第 z z z个区间对应的深度值)为
b z = ( ( 1 − z Z ) ( 1 d n e a r − 1 d f a r ) + 1 d f a r ) − 1 b_z=((1-\frac zZ)(\frac1{d_{near}}-\frac1{d_{far}})+\frac1{d_{far}})^{-1} bz=((1Zz)(dnear1dfar1)+dfar1)1

注意此处的深度区间并非均匀划分的。

随后,定义离散概率分布 p ϕ ( z ) p_\phi(z) pϕ(z),其元素 ϕ z \phi_z ϕz b z b_z bz内存在表面的概率。概率 ϕ \phi ϕ由全连接网络 f f f根据 F [ u ] F[u] F[u]预测,并通过softmax归一化。进一步,预测偏移量 δ ∈ [ 0 , 1 ] Z \delta\in[0,1]^Z δ[0,1]Z调整高斯:
μ = o + ( b z + δ z ) d u ,    z ∼ p ϕ ( z ) ,    ( ϕ , δ ) = f ( F [ u ] ) \mu=o+(b_z+\delta_z)d_u,\;z\sim p_\phi(z),\;(\phi,\delta)=f(F[u]) μ=o+(bz+δz)du,zpϕ(z),(ϕ,δ)=f(F[u])

前向过程中,高斯会从预测的分布中采样。

通过设置 α = ϕ z \alpha=\phi_z α=ϕz使采样可微。由于需要将梯度反传到概率 ϕ \phi ϕ(即计算 ∇ ϕ μ \nabla_\phi\mu ϕμ),但 z ∼ p ϕ ( z ) z\sim p_\phi(z) zpϕ(z)的采样过程是不可微的,本文通过重参数化技巧,将不透明度 α \alpha α设置为对应的采样概率,即 α = ϕ z \alpha=\phi_z α=ϕz。因此,反向传播时对损失 L L L的梯度 ∇ ϕ L = ∇ α L \nabla_\phi L=\nabla_\alpha L ϕL=αL

为便于理解,假设采样了正确的深度。此时梯度下降会增大高斯的不透明度,从而更可能被采样。最终会导致所有概率集中到该区间;若不正确采样,梯度下降会减小高斯的不透明度,从而减小该区间被采样的概率。

预测 Σ \Sigma Σ S S S。通过扩展网络 f f f,预测协方差矩阵和球面谐波系数:
ϕ , δ , Σ , S = f ( F [ u ] ) \phi,\delta,\Sigma,S=f(F[u]) ϕ,δ,Σ,S=f(F[u])

小结。下面的算法即高斯的预测过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值