作者 | 林芝米林@知乎 编辑 | 自动驾驶之心
原文链接:https://zhuanlan.zhihu.com/p/1926671515228808957
点击下方卡片,关注“自动驾驶之心”公众号
>>自动驾驶前沿信息获取→自动驾驶之心知识星球
本文只做学术分享,如有侵权,联系删文
推荐最新一篇有关Feed-Forward 3D Reconstruction的综述文章[2507.14501] Advances in Feed-Forward 3D Reconstruction and View Synthesis: A Survey
-----------------------------------------手动分割线-----------------------------------------
最近在用3DGS做三维重建,过去per-scene optimization的方法实在用起来不方便,所以开始对feed-forward optimization的方法产生兴趣。下文总结了最新的一些有关feed-forward 3DGS研究的论文,以供参考!
回顾时间线,事实上feed-forward的想法在NeRF中就已经出现了,比如LRM和Instant3D。因此自然而然在3DGS领域也开始有人探索这样的方式是否可行。最早有4篇出现在CVPR2024上,具体如下:
pixelSplat: 3D Gaussian Splats from Image Pairs for Scalable Generalizable 3D Reconstruction【CVPR2024 Oral, Best Paper Runner-Up】
代码链接:https://github.com/dcharatan/pixelsplat
pixelSplat当年差一点就拿了CVPR2024的best paper,所以影响力可见一斑。
为了能将3D Gaussians集成到end-to-end可微系统中,需要克服local minima的问题。在per-scene optimization中,按照原始3DGS的做法可以通过pruning和division heuristics,但是它们都是不可微的。因此,pixelSplat的想法就是能否在训练过程中隐式地生成或删除高斯基元(Gaussian primitives),从而避免局部最小值,但仍能保持梯度流。
为了解决上述问题,pixelSplat通过encoder预测dense probability distributions,并从该概率分布中采样高斯均值。同时,它通过reparameterization trick使此采样操作可微分,从而能够通过高斯分布反向传播梯度。
另外一个值得注意的地方是pixelSplat在每个forward pass中仅需要使用一对图片。它证明了从对极 Transformer 中学习到的跨视图感知特征的重要性。当然pixelSplat还有很多技术细节值得去讨论一下,有机会再补吧......
当然pixelSplat仍然存在一些不足,仅凭图像特征预测可靠的概率深度分布仍然具有挑战性,这使得pixelSplat的几何重建质量相对较低,并且存在噪声伪影。而且,从特征到深度分布的映射本质上是模糊且不可靠的,可能会导致糟糕的几何重建。
GPS-Gaussian: Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis【CVPR2024 Highlight】
代码链接:https://github.com/aipixel/GPS-Gaussian
GPS-Gaussian引入了2D Gaussian parameter (position, color, scaling, rotation, opacity) maps,这些maps定义在源视角图像平面上,而不是非结构化点云上。Gaussian parameter maps使我们能够用像素级参数来表示重建场景,即每个前景像素对应一个特定的高斯点。此外,它还支持使用高效的二维卷积网络,而不是昂贵的三维算子。得到了二维parameter maps之后,可以通过双目立体视觉估计两个源视角的深度图,从而得到三维高斯点,这是一种可学习的反投影操作。这些来自两个源视角的反投影高斯点构成了表征,而新视图图像可以用Splatting技术进行渲染。
但是作者发现由于人物角色存在严重的自遮挡,现有的cascaded cost volume方法难以解决上述深度估计问题。因此,GPS-Gaussian提出学习一种基于迭代立体匹配的深度估计方法以用于高斯参数回归,并在大规模数据上联合训练这两个模块。最优深度估计有助于提高确定三维高斯位置的精度,同时最小化高斯模块的渲染损失,纠正深度估计可能产生的伪影。这种联合训练策略使每个组件都受益,并提高了训练过程的整体稳定性。
GPS-Gaussian的不足在于它主要用于人体重建,而非一般场景。而且,它依赖于两幅校正后的立体图像来估计视差。在训练过程中,GPS-Gaussian 需要ground truth depth作为监督。
Triplane Meets Gaussian Splatting: Fast and Generalizable Single-View 3D Reconstruction with Transformers【CVPR2024】
代码链接:https://github.com/vast-ai-research/triplanegaussian
TriplaneGaussian是第一个利用Gaussian Splatting从single-view图像实现generalizable 3D reconstruction的研究。它主要利用的是triplane表示。
Splatter image: Ultra-fast single-view 3d reconstruction【CVPR2024】
代码链接:https://github.com/szymanowiczs/splatter-image
事实上,正如作者在文中写的,Splatter image主要创新之处在于设计一个简单的网络,使用二维算子将输入图像映射为每个像素一个三维高斯函数。由此产生的高斯函数集具有图像的形式,也被称之为Splatter Image。
那么这样做有什么好处呢?得益于这种pixel-level的对齐,这样相当于把重建问题转化成了一个学习一个image-to-image网络的问题。并且,这样仅需要使用二维算子(比如2D卷积的U-Net而不是3D的),大大提高了计算的高效性。此外,Splatter Image中的3D表示是3D Gaussian的混合,因此它统一享有Gaussian Splatting的渲染和空间效率,这有利于推理和训练。
而且作者发现,即使网络仅能识别物体的一侧,它仍然可以利用训练过程中获得的先验知识,对物体进行360° 重建。通过在给定的二维邻域中将不同的高斯分布分配给三维物体的不同部分,将 360°信息编码到二维图像中。这确实挺神奇的!作者给出的解释是网络会自动调整3D偏移量和深度d,以分配一些3D高斯函数来重建输入视图,并分配一些3D高斯函数来重建物体的未见部分。
但是,Splatter Image仍然存在着一些问题,它主要关注对象级(object-level)重建,当应用于更一般和更大的场景时,从单个图像重建 3D 场景本质上是不适定的和模糊的。
随着上述四篇文章的出现,feed-forward 3DGS的论文开始逐渐增多,例如:
AGG: Amortized Generative 3D Gaussians for Single Image to 3DAGG: Amortized Generative 3D Gaussians for Single Image to 3D【TMLR2024】
代码链接:无
Gamba: Marry Gaussian Splatting With Mamba for Single-View 3D Reconstruction【TPAMI2025】
代码链接:https://github.com/SkyworkAI/Gamba
Gamba已经在今年中了TPAMI了,Congratulations!有空补一下。
而在ECCV2024上feed-forward 3DGS的论文又迎来了高峰期。
MVSplat: Efficient 3D Gaussian Splatting from Sparse Multi-View Images【ECCV2024 Oral】
代码链接:https://github.com/donydchen/mvsplat
MVSplat是另一类经典的方法,它证明了cost volume表示在学习feed-forward Gaussians中的重要性。由此引申出了今年CVPR2025的两篇文章DepthSplat和MonoSplat。
事实上,cost volume表示并非第一次出现,在GPS-Gaussian中cost volume已经被用来构建深度估计器。在MVSplat中,为了提高几何重建结果,它认为需要添加额外的深度正则化损失以进行缓慢的深度微调。因此,MVSplat通过plane sweeping在三维空间中构建cost volume表示。cost volume储存了所有潜在深度点的跨视图特征相似性,其中相似性可以为3D表面的定位提供有价值的几何线索(即高相似性更有可能指示表面点)。
有关cost volume的具体内容,可参考:https://www.zhihu.com/question/366970399
MVSplat利用cost volume表示方法,将重建该任务重新表述为学习利用特征匹配来识别高斯中心,这与先前研究的图像特征中数据驱动三维回归不同。这种表述降低了任务的学习难度,使我们的方法能够以轻量级的模型尺寸和快速的速度实现最先进的性能。
具体来说,MVSplat通过使用二维网络对multi-view cost volume估计的multi-view-consistent depths进行反投影,以获得三维高斯中心。此外,MVSplat还与depths并行预测其他高斯属性(协方差、不透明度和球面谐波系数)。预测的三维高斯函数通过可微分的 splatting 操作渲染新的视图图像。
MVSplat 是端到端训练的,仅使用渲染图像和真实图像之间的光度损失。但是它依赖于基于特征匹配的多视图深度估计来定位 3D 高斯位置,这使得它与其他多视图深度方法一样,受到类似的限制(例如遮挡、无纹理区域和反射表面)。
GRM: Large Gaussian Reconstruction Model for Efficient 3D Reconstruction and Generation 【ECCV2024】
代码链接:https://github.com/justimyhxu/grm --> 未开源
GRM比较可惜的是目前还没开源,但是值得提到的一点是,GRM是一个基于feed-forward transformer-based的pixel-aligned Gaussians模型。它有效地整合了多视角信息,将输入像素转换为像素对齐的高斯函数,这些高斯函数无需投影即可创建一组密集分布的三维高斯函数,从而表示一个场景。我们的变换器架构和三维高斯函数的使用共同构建了一个可扩展且高效的重建框架。
具体来说,首先,GRM用3D高斯函数取代了近期前馈生成框架中的triplane场景表示;其次,GRM设计了一个纯Transformer架构,将输入像素集转换为定义输出3D场景的像素对齐的3D高斯函数集。虽然该架构的部分功能使用了标准视觉Transformer (ViT) ,但还引入了一个全新的上采样器,它利用了窗口化自注意力层的变体。该上采样器的独特之处在于能够高效地传递非局部线索。
GS-LRM: Large Reconstruction Model for 3D Gaussian Splatting【ECCV2024】
代码链接:https://github.com/OpenRobotLab/gs-lrm-unofficial
GS-LRM仍然是采用非常简单的基于Transformer的架构,它的核心是一个简单且可扩展的基于 Transformer 的网络架构,可以预测每个像素的高斯分布。
具体来说,对输入的位姿图像进行patchify得到patch tokens,将连接的多视图图像tokens传递到一系列包含self-attention和MLP层的transformer blocks,然后直接从上下文的多视角tokens中回归出每个视角每个像素的 3D 高斯基元。
作者指出,与之前的LRM不同,之前的LRM需要精心设计额外的(三平面)NeRF 标记来进行重建,GS-LRM将输入(二维图像)和输出(三维高斯)在同一个像素空间中对齐,沿射线方向每个像素预测一个高斯。这种对齐不仅简化了 Transformer架构,也使 3D 高斯能够保留输入图像中的高频细节。此外,预测每像素高斯使GS-LRM能够自由地适应输入图像分辨率,在高分辨率输入中展现准确的场景细节,而之前具有固定三平面分辨率的 LRM 通常难以做到这一点。
latentSplat: Autoencoding Variational Gaussians for Fast Generalizable 3D Reconstruction【ECCV2024】
代码链接:无
MVSGaussian: Fast Generalizable Gaussian Splatting Reconstruction from Multi-View Stereo【ECCV2024】
代码链接:https://github.com/TQTQliu/MVSGaussian
作者总结了generalizable Gaussian Splatting framework面临的三个挑战:1)3DGS 是一种参数化的显式表示,它使用数百万个3D高斯函数来过拟合场景。当将预训练的3DGS应用于未见过的场景时,3D高斯函数的参数(例如位置和颜色)会显著不同。设计一个可泛化的表示来适用于3DGS并非易事。2)先前可泛化的 NeRF通过volume rendering实现了令人印象深刻的新视图合成结果。然而,Splatting 的泛化能力仍未被探索。在 Splatting 过程中,每个高斯函数都会对图像中特定区域内的多个像素做出贡献,而每个像素的颜色由多个高斯函数的累积贡献决定。高斯函数与像素之间的颜色对应关系是一种更复杂的多对多映射,这对模型泛化提出了挑战。3)可泛化的 NeRF 模型表明,针对特定场景进行进一步微调可以显著提升合成图像质量,但需要耗时的优化过程。尽管 3DGS 模型比 NeRF 模型速度更快,但仍然耗时。设计一种基于可泛化的 3DGS 模型的快速优化方法具有广阔的应用前景。
为此,作者提出了MVSGaussian,分别解决三个挑战:1)利用Multi-View Stereo (MVS)来编码几何感知的pixel-aligned高斯表示,并将其解码为高斯参数。2)为了进一步提升性能,提出了一种混合高斯渲染,该渲染集成了高效的体绘制设计,用于新颖的视图合成。3)为了支持针对特定场景的快速微调,引入了一种多视图几何一致性聚合策略,以有效地聚合由泛化模型生成的点云,作为每个场景优化的初始化。
Gaussian Graph Network: Learning Efficient and Generalizable Gaussian Representations from Multi-view Images【NIPS2024】
代码链接:https://github.com/shengjun-zhang/GGN
到目前为止,绝大多数方法feed-forward 3DGS方法都是pixel-aligned的。正如本文作者提到,之前方法只是简单地将来自多个视图的像素对齐的高斯函数组合起来作为场景表示。这样的做法有可能导致伪影和额外的内存成本,而没有完全捕捉来自不同图像的高斯函数之间的关系。
Gaussian Graph Network (GGN) 构建了Gaussian Graph,将传统的图操作扩展到高斯域,使得来自不同视角的高斯函数不再相互独立,而是可以从其邻近组进行学习,因此从不同视角对Gaussian groups之间的关系进行建模。具体来说,GGN将边的标量权重重新表述为权重矩阵,以描述两个高斯组之间的相互作用,使每个高斯组都能通过高斯特征融合从其连通的高斯组中获益。此外,GGN引入高斯池化策略来聚合高斯函数,以实现高效的表示。
TranSplat: Generalizable 3D Gaussian Splatting from Sparse Multi-View Images with Transformers【AAAI2025】
代码链接:https://github.com/xingyoujun/transplat
TranSplat想要解决的问题是,现有Generalizable 3D Gaussian Splatting方法的良好重建性能在很大程度上依赖于精确的多视图特征匹配,这颇具挑战性。尤其对于不同视图之间存在大量不重叠区域且包含大量相似区域的场景,现有方法的匹配性能较差,重建精度有限。
TranSplat仍然是通过将每个像素投影到三维高斯基元中,利用预测的深度和特征,从稀疏视图中恢复三维结构。但是与之前的方法有两点不同。1)为了精确估计三维高斯中心,TranSplat使用一个基于变换器的模块Depth-aware Deformable Matching Transformer (DDMT)来生成深度估计。该模块根据初始深度分布对具有高置信度的深度候选点进行优先排序,该初始深度分布由粗匹配模块通过评估跨视图特征相似性计算得出。2)TranSplat 利用单目深度先验,并使用深度细化 U-Net 进一步细化深度分布。利用细化的深度和图像特征,TranSplat可以并行预测每个像素的所有高斯参数。TranSplat 采用端到端训练,仅使用真实图像进行监督。
但是从结果来看,其实提升并不明显,虽然memory下降了,但是time反而上升了。
Hisplat: Hierarchical 3d gaussian splatting for generalizable sparse-view reconstruction【ICLR2025】
代码链接:https://github.com/Open3DVLab/HiSplat
作者提到,现有generalizable 3D Gaussian Splatting方法使用提取的单尺度特征来生成固定分辨率的splatter images。均匀的 3D 高斯分布导致缺乏层次化表示,难以同时捕捉大规模结构和精细的纹理细节。因此,它会导致诸如模糊、裂缝、错位和伪影等问题。
受二维多尺度特征成功的启发,一个自然而然的问题出现了:作为类似于二维特征的显式三维表示,三维高斯函数能否从层次结构中获益,从而释放其表征能力的潜力?但是作者通过实验发现应用hierarchical manner并不是一件易事,其核心问题在于,多尺度三维高斯函数是独立生成的,无法捕捉尺度间的信息。
HiSplat在generalizable 3DGS中引入了一种分层方式,通过由coarse-to-fine strategy构建分层3D Gaussians。为了促进不同尺度之间的相互作用,HiSplat提出了一个基于注意力机制的错误感知模块,该模块允许细粒度高斯函数专注于补偿粗粒度高斯函数产生的误差,即高斯补偿。此外,为了进一步校正错误的高斯函数,我们提出了一个调制融合模块,该模块基于输入参考图像的渲染质量和当前的联合特征,重新加权大尺度高斯函数的不透明度,即高斯修复。通过整合高斯补偿和修复,可以实现分层三维高斯函数的联合优化。在训练过程中,每个阶段都会对渲染图像进行监督,以引入更多梯度流并提供更丰富的深度信息,从而实现更快的收敛速度和更佳的定位精度。在推理过程中,仅使用最终的融合高斯函数进行渲染。
----------------------------------------手动分割线----------------------------------------
来到2025年,仍然先关注一下CVPR。CVPR2025上有两篇算是MVSplat的继承之作,分别是DepthSplat和MonoSplat。
DepthSplat: Connecting Gaussian Splatting and Depth【CVPR2025】
代码链接:https://github.com/cvg/depthsplat
DepthSplat主要的贡献就是将Gaussian splatting和depth estimation这两个单独研究的领域连接起来,并研究它们之间的相互作用。如上图所示,DepthSplat首先利用预训练的单目深度特征,构建了一个鲁棒的多视图深度模型,从而实现高质量的前馈三维高斯分布重建。另外,DepthSplat还证明了高斯分布重建可以作为无监督预训练目标,用于从大规模多视图姿态数据集中学习强大的深度模型。
作者提到,一方面,MVSplat依赖于基于特征匹配的多视图深度估计来定位三维高斯位置,这使得它与其他多视图深度方法面临类似的限制(例如遮挡、无纹理区域和反射表面)。另一方面,单目深度估计已经取得了显著进展,最近的模型在各种自然数据上实现了稳健的预测。然而,这些深度通常缺乏跨多视图的一致尺度,限制了它们在三维重建等下游任务中的表现。因此,DepthSplat想要克服每种技术的局限性,同时增强它们的优势,即利用sparse-view feed-forward 3DGS 和稳健monocular depth estimation的互补特性来提高这两项任务的性能。
具体来说,相比于MVSplat,DepthSplat通过将预训练的单目深度特征(来自Depth anything v2模型)集成到多目特征匹配分支,构建了一个鲁棒的多目深度模型。该模型不仅保持了多目深度模型的一致性,而且在难以匹配的情况下(例如遮挡、无纹理区域和反射表面)也能获得更鲁棒的结果。剩下的就与MVSplat类似。
作者提到先前的方法也尝试融合单目和多目深度,但它们通常依赖于复杂的架构。相比之下,DepthSplat直接使用现成的预训练单目深度模型,并提出使用单目特征来增强multi-view cost volumes,从而简化模型并提升性能。但事实上,笔者认为这一套流程相比于MVSplat其实并没有太大差别,拿一个现成预训练模型结合其实在很多cv任务上是很常见的做法了。
MonoSplat: Generalizable 3D Gaussian Splatting from Monocular Depth Foundation Models【CVPR2025】
代码链接:https://github.com/CUHK-AIM-Group/MonoSplat
另一个用预训练深度模型的方法是MonoSplat。作者强调,以前方法在处理具有不熟悉的视觉内容和布局的场景时常常会遇到限制,因为它们对视觉世界的理解受到训练数据分布的限制,并且受到零样本域泛化挑战的阻碍。这一观察促使研究如何利用最先进的单目深度基础模型中嵌入的丰富视觉先验知识,以实现更稳健、更泛化的高斯重建。当然类似的DepthSplat方法由于使用双分支网络架构引入了冗余的模型参数。
相比之下,MonoSplat通过直接利用冻结的深度基础模型,并优雅地将单目特征转换为多视图表示,实现了卓越的效率,从而产生了更高效、更有效的解决方案。
正如之前所说,这一套做法事实上在CV其他领域很常见,效果也是很不错。
当然,还有几篇有关depth的文章可以参考一下:
**JointSplat: Probabilistic Joint Flow-Depth Optimization for Sparse-View Gaussian Splatting ** 代码链接:无
Revisiting Depth Representations for Feed-Forward 3D Gaussian Splatting
代码链接:https://github.com/aim-uofa/PM-Loss -->未开源
随着feed-forward 3DGS研究的发展,研究者们开始在更多的应用领域进行研究。以下举几个例子。
Generalizable Human Gaussians for Sparse View Synthesis【ECCV2024】
代码链接:https://github.com/humansensinglab/Generalizable-Human-Gaussians
HumanSplat: Generalizable Single-Image Human Gaussian Splatting with Structure Priors【NIPS2024】
代码链接:https://github.com/humansplat/humansplat
DrivingForward: Feed-forward 3D Gaussian Splatting for Driving Scene Reconstruction from Flexible Surround-view Input【AAAI2025】
代码链接:https://github.com/fangzhou2000/DrivingForward
EVolSplat: Efficient Volume-based Gaussian Splatting for Urban View Synthesis【CVPR2025】
代码链接:https://github.com/Miaosheng1/EVolSplat
X-GRM: Large Gaussian Reconstruction Model for Sparse-view X-rays to Computed Tomography
代码链接:https://github.com/CUHK-AIM-Group/X-GRM --> 未开源
自动驾驶之心
论文辅导来啦

自驾交流群来啦!
自动驾驶之心创建了近百个技术交流群,涉及大模型、VLA、端到端、数据闭环、自动标注、BEV、Occupancy、多模态融合感知、传感器标定、3DGS、世界模型、在线地图、轨迹预测、规划控制等方向!欢迎添加小助理微信邀请进群。

知识星球交流社区
近4000人的交流社区,近300+自动驾驶公司与科研结构加入!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(大模型、端到端自动驾驶、世界模型、仿真闭环、3D检测、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎加入。

独家专业课程
端到端自动驾驶、大模型、VLA、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频
学习官网:www.zdjszx.com
729

被折叠的 条评论
为什么被折叠?



