如果你关注过 3D 视觉或者新视角合成,最近大概率绕不开一个词:3D Gaussian Splatting(3DGS)。在 NeRF 之后,3DGS 凭借实时渲染速度和清晰的物体边缘,迅速成了视图合成方向的新主流。但现实场景并不总是友好的——尤其是当输入图像之间的基线很大时,比如无人机绕着建筑飞了一圈、车载摄像头在不同路口拍到同一片区域、或者手机相册里几张跨度很大的旅游照片,这类“大基线单目视图合成”任务,至今还是让很多模型翻车的重灾区。
InfiniSplat 正是冲着这个痛点来的。从名字可以看出两层意思:Infini 代表无限、无边界的场景表达,Splat 代表 3D 高斯泼溅。它的核心做法不再是像传统 3DGS 那样直接回归每个高斯的属性,而是引入隐式高斯解码(Implicit Gaussian Decoding),用隐式表征去生成高斯参数,从而在大基线输入下依然能合成出几何一致、纹理清晰的新视角。
这篇文章我会从问题本身讲起,先解释为什么大基线单目视图合成这么难,再梳理 3DGS 的原理和它在跨视图重建时遇到的瓶颈,然后重点拆解 InfiniSplat 的核心思路,包括隐式高斯解码到底改在哪一步、训练和推理流程有什么变化、和现有方法比优势在哪里。最后我会给出一个偏工程视角的落地建议,包括如果要在自己的项目里尝试这类方法,应该怎么评估、怎么选型、会踩到哪些坑。如果你正在做三维重建、自动驾驶仿真、AR 场景理解,或者只是对 3DGS 的进阶玩法感兴趣,这篇文章应该能帮你省下不少绕路时间。
1. 为什么大基线单目视图合成这么难
在进入 InfiniSplat 之前,先把问题定义清楚。视图合成(View Synthesis)的任务是:给定一组已知视角的图像,生成从新的相机角度看过去的画面。听起来像“补全几张照片之间的空隙”,但真正做起来牵扯到两个最核心的问题:几何推断和外观生成。
小基线场景下,比如视频帧之间,相邻两帧相机只移动了一点点,遮挡变化小、光照变化小、纹理匹配容易,直接用光流、深度估计甚至简单的插值都能得到不错的结果。但大基线场景完全不同。
大基线意味着什么?两个视角之间可能相隔数十米甚至更远,物体之间的前后遮挡关系发生剧烈变化。比如在一栋建筑左侧拍一张、右侧拍一张,中间的正立面在左图里是斜着看到的,在右图里又是另一个角度,而建筑背后被遮挡的部分,两张图里都看不到。模型必须“猜”出这些区域的几何和纹理,这已经超出了传统多视图立体匹配的能力范围。
还有三个更隐蔽的难点:
第一,特征匹配失效。传统 SFM(运动恢复结构)依赖特征点在不同视角间稳定出现。基线一大,同一点在两张图里的外观差异很大,尺度也完全不同,特征描述子容易匹配错。特征匹配一旦错了,相机位姿、稀疏点云全部跟着错。
第二,辐射场退化。NeRF 类方法通过优化每个空间点的颜色和密度来重建场景,但当输入视角非常稀疏且基线很大时,未观察到的区域完全没有约束,模型会倾向于用一个“平均模糊”的解去糊弄损失函数。结果是:训练集视角过拟合得很好,新视角一换位置,画面立刻发虚、重影或者出现漂浮物。
第三,尺度与深度模糊。单目输入本身存在尺度歧义。同一个场景,用不同焦距和距离拍摄,得到的像素位置可能非常不一样。大基线方法如果处理不好相对位姿的尺度对齐,重建出来的场景几何会直接“散架”。
InfiniSplat 采取的技术路线,本质上是在回答一个问题:能不能先在大基线条件下预测出一个可靠的 3D 场景表征,再从这个表征中解码出高质量的 3D 高斯,从而绕开逐像素优化在稀疏视角下的病态问题?这就是隐式高斯解码的出发点。
2. 3D Gaussian Splatting 的核心原理速通
要理解 InfiniSplat,得先弄清 3DGS 是怎么工作的。2023 年,Kerbl 等人发表的“3D Gaussian Splatting for Real-Time Radiance Field Rendering”把 NeRF 的体渲染过程替换成了一种更直接的栅格化方式,效果和速度同时大幅提升,瞬间改变了视图合成和三维重建的工具箱。
3DGS 的场景表示是“一堆 3D 高斯分布”。每个高斯不是一个数学上的概率分布,而是一个带有颜色、透明度、形状、朝向的空间基元。场景由成千上万个这样的高斯基元组成,每个高斯的参数包括:
- 中心位置(均值),决定高斯在空间中的哪里。
- 协方差矩阵,决定高斯的椭球形状和朝向。
- 不透明度,决定这个高斯对最终颜色的贡献权重。
- 球谐系数,决定从不同方向看时这个高斯的颜色变化。
渲染时,3DGS 把每个高斯投影到图像平面上,按照深度排序,然后从前到后做 alpha blending 合成像素颜色。这个流程完全可微,所以可以端到端地优化所有高斯的参数,让渲染图像逼近真实拍摄。
对比一下 NeRF 和 3DGS 的差别:
| 对比维度 | NeRF | 3DGS |
|---|---|---|
| 场景表征 | 连续辐射场(MLP) | 离散 3D 高斯集合 |
| 渲染方式 | 光线采样 + 体渲染 | 高斯投影 + 光栅化 |
| 优化速度 | 小时级 | 分钟级 |
| 渲染帧率 | 难以实时 | 实时(RTX 级别可上百 FPS) |
| 几何清晰度 | 边缘容易模糊 | 边缘锐利 |
| 内存占用 | 低 | 中高 |
但 3DGS 有一个很关键的前提:它需要针对每个场景做单独优化。也就是说,你给它一组某个场景的图像,它用几分钟到几十分钟,把几百万个高斯参数迭代到能精确复现这个场景。这叫做“场景特定优化”,和“前馈重建”是两条路线。
所谓前馈重建,是训练一个网络,输入几张图像,直接输出整个场景的 3DGS 表征,不需要在推理时再优化。这个方向正是最近两年 feed-forward 3DGS 方法在做的事,比如 pixelSplat、MVSplat、latentSplat 等。它们用多视角图像作为输入,通过代价体、Transformer 或者特征匹配方式,把 2D 图像特征提升成 3D 高斯。
InfiniSplat 也属于“前馈重建”这个阵营,但它在两个点上做了关键改动:一是处理大基线输入,二是用隐式表征来解码高斯。
3. InfiniSplat 核心思路:隐式高斯解码到底改了什么
从标题推断,InfiniSplat 的完整名称其实已经给出了三个信息:无限场景表示(Infini)、3D 高斯(Splat)、隐式解码(Implicit Gaussian Decoding)。把它拆开看,每个词都对应一个技术决策。
先看“Infini”。大基线场景往往是开放式的,场景范围可能非常大,而传统 3DGS 用一组有限的高斯去拟合场景,遇到无边界区域就容易出现空洞或漂浮物。InfiniSplat 的做法应该是引入一种可以灵活扩展的空间划分方式,让高斯只在有信息的区域生成,没有观测的区域不放置无意义的高斯。这和 mip-NeRF 360 里处理无边界场景的收缩函数思路类似,但在高斯框架下有自己不同的实现路径。
再看“Implicit Gaussian Decoding”。传统 3DGS 无论是每场景优化还是前馈预测,都是直接回归每个高斯的参数。直接回归的问题在于:高斯的数量、位置、协方差、透明度、颜色分布极其不均匀,同一张图像里,近处物体的高斯应该又小又密,远处背景的高斯应该又大又疏。用网络直接输出这种参差不齐的集合,需要网络容量非常大,而且输出长度必须固定,这在结构上就不灵活。
隐式解码的思路做出了一项关键改变:网络先学习一个隐式场景表征,比如一个特征网格、一个特征体积,或者一组潜在的 3D 特征点,然后当我们需要某个位置的 3D 高斯参数时,通过一个轻量解码网络在这个位置查询。换句话说,网络不是直接“吐出”高斯参数,而是先建立“空间位置到特征”的映射,再在查询时生成高斯。
这个改动在技术上非常重要,因为它带来了两个直接好处:
第一,高斯数量和空间位置不再由网络输出的固定维度决定,而是可以根据图像内容自适应采样。这样可以在重建困难的区域放置更多高斯,在平滑区域减少高斯,提高效率。
第二,隐式表征天然具有平滑性和上下文感知能力。直接回归每个高斯时,网络可能只盯着局部特征,忽略了远距离的全局一致性。而隐式特征是在一个连续空间中定义的,查询相邻位置会得到相似的特征,这能避免生成的高斯出现“邻居不一致”的结构断裂。
如果用一句话总结:InfiniSplat 的路线不是“直接预测高斯参数”,而是“预测高斯参数的生成规则”。
4. 从 2D 图像到 3D 高斯:InfiniSplat 的技术链路拆解
基于方法命名和 3DGS 前馈重建领域的常见设计,这里把 InfiniSplat 的技术链路拆成五个阶段。需要说明的是,下面内容是基于方法名和技术惯性的合理推断,用于帮助读者理解这类方法的通用架构,具体网络设计和损失函数以论文原文为准。
4.1 多视角特征提取
输入是多张 RGB 图像和对应的相机位姿。第一步是用一个共享权重的 2D 网络分别提取每张图像的特征图。为了保证大基线匹配的稳定性,特征提取网络通常会结合局部和全局上下文信息,让每个像素的特征不仅包含自身颜色纹理,还包含周围结构的语义信息。具体来说,类似 EfficientNet 或 DINOv2 这类骨干网络都可以充当特征提取器,只是不同论文会针对重建任务做专门调整。
这里的关键是:特征图的分辨率不能太低。大基线条件下,物体在两张图中的尺度可能差好几倍,如果特征分辨率太低,小尺度物体的细节会直接被池化抹掉,后续几何推断自然不准。
4.2 代价体与几何推断
拿到多张特征图后,需要判断空间中的哪些位置有物体表面,哪些位置是空的。常见做法是在参考视角下构建代价体(cost volume):把其他视角的特征图通过单应性变换投影到一系列假设深度平面上,计算特征之间的匹配代价。匹配代价越小的位置,说明多个视角在这个深度上看到了一致的内容,越有可能是真实表面。
在传统 MVS 中,这个过程会输出一个深度图。但在前馈 3DGS 方法里,代价体更像是一个“3D 占据概率场”或者“特征体积”,下一步会基于它生成高斯。
大基线场景中,这一步是最容易崩的地方。因为匹配特征时,如果某个点在另一个视角中不可见,代价体里会出现错误的低代价响应,造成伪表面。所以现在很多方法会在代价体解码时加入几何一致性约束,或者利用 Transformer 的注意力机制让特征匹配跨越更大的空间范围。
4.3 隐式场景表征
这是 InfiniSplat 和前一代前馈 3DGS 方法最关键的分歧点。传统方法比如 pixelSplat,直接从代价体回归一组高斯参数,每个高斯对应一个位置、一个协方差、一个颜色。这样做简单直接,但高斯的密度和质量受限于代价体分辨率。
InfiniSplat 的做法是在代价体上叠加一个隐式解码器:先根据代价体和特征图构建一个连续的特征场,然后在这个特征场中查询任意 3D 位置,解码得到该位置的高斯参数。这个过程类似于“先建网格,再查表”,只是这里的“表”是一个被深度特征编码的隐式函数。
这种设计还有一个额外优势:它天然支持不同分辨率的高斯生成。比如在离相机近的区域,可以通过更密集的采样生成更多高斯;在远处或者平滑区域,可以稀疏采样。高斯密度可以自由调节,这是直接回归方法很难做到的。
4.4 高斯参数解码
当确定了查询位置后,隐式解码器需要输出以下参数:
- 高斯的中心坐标偏移(相对于查询位置)
- 协方差矩阵(用四元数 + 三个缩放因子表示)
- 不透明度
- 球谐系数(决定视角相关颜色)
解码器通常是一个轻量 MLP。之所以说“轻量”,是因为它不需要像 NeRF 的网络那样去记忆整个场景的颜色场,它只负责把特征映射成参数。场景的所有信息已经被压缩在隐式特征场里了。
这里有一个工程上的关键点:协方差矩阵必须保持正定,否则渲染时会出 NaN。所以实际实现中一般输出旋转四元数和缩放向量,再组合成协方差矩阵。如果直接让网络输出协方差矩阵的六个独立分量,优化过程中很容易让矩阵变得不正定,导致渲染崩溃。
4.5 可微渲染与损失计算
最后一步和标准 3DGS 一样,把所有生成的高斯投影到目标视角,做光栅化和 alpha blending,得到渲染图像。损失函数通常是 L1 损失加感知损失(LPIPS),也可以在训练时加入深度平滑损失或者多视角一致性损失来约束几何。
InfiniSplat 的训练目标是让网络做到:输入大基线图像,一次前向输出 3D 高斯,再渲染出新视角。整个流程端到端可微,所以梯度可以一直从渲染图像回传到特征提取网络,让网络自己学会如何提取对重建最有利的特征。
5. 与现有方法对比:InfiniSplat 的优势分布在哪些环节
为了让你对 InfiniSplat 的定位更清楚,这里把当前视图合成的主要技术路线放在一张表里对比。
| 方法类别 | 代表方法 | 输入 | 重建方式 | 大基线表现 | 渲染速度 |
|---|---|---|---|---|---|
| 每场景优化 NeRF | NeRF、Mip-NeRF 360 | 多张图像 | 逐场景优化 | 差到一般 | 慢 |
| 每场景优化 3DGS | 原始 3DGS | 多张图像 | 逐场景优化 | 一般 | 很快 |
| 前馈 NeRF | IBRNet、PixelNeRF | 少量图像 | 前馈重建 | 一般 | 慢 |
| 前馈 3DGS | pixelSplat、MVSplat、latentSplat | 少量图像 | 前馈重建 | 一般 | 快 |
| 隐式高斯解码 | InfiniSplat | 大基线多图 | 前馈重建 + 隐式解码 | 目标场景 | 快 |
从这张表能看出几个趋势:
第一,前馈重建是大方向。因为它不需要逐场景优化,输入几张图像立即输出场景表征,适合自动驾驶、机器人、AR 这类需要即时重建的场景。
第二,大多数前馈 3DGS 方法是针对“小基线多视角”设计的。它们假设输入图像之间的视角足够接近,能够形成有效的代价体匹配。一旦基线拉大,代价体匹配质量迅速下降,重建的几何会变得破碎。
第三,InfiniSplat 的差异化定位就是大基线。它通过隐式解码器引入更强的几何先验和上下文建模能力,希望在前馈速度和大基线鲁棒性之间取得一个更好的平衡点。
6. 伪代码示例:理解一次前向推理的完整流程
为了便于理解,下面给出一个基于方法思路整理的推理流程伪代码。注意这里的网络结构和具体维度是示意性的,不是论文的精确实现,但它能帮你把握整体数据流。
# 伪代码:InfiniSplat 风格的前馈推理流程 import torch import torch.nn as nn class InfiniSplatInference(nn.Module): def __init__(self, feature_extractor, cost_volume_net, implicit_decoder): super().__init__() self.feature_extractor = feature_extractor # 2D 特征提取网络 self.cost_volume_net = cost_volume_net # 代价体构建与编码网络 self.implicit_decoder = implicit_decoder # 隐式高斯解码器 def forward(self, ref_image, src_images, ref_pose, src_poses): """ ref_image: 参考视角图像 [B, 3, H, W] src_images: 源视角图像集合 [B, N, 3, H, W] ref_pose: 参考视角相机位姿 [B, 4, 4] src_poses: 源视角相机位姿 [B, N, 4, 4] """ # 1. 提取多视角特征 ref_feat = self.feature_extractor(ref_image) # 返回 [B, C, H', W'] src_feats = [self.feature_extractor(img) for img in src_images] # 每个 [B, C, H', W'] # 2. 构建代价体,编码隐式特征场 feature_volume = self.cost_volume_net(ref_feat, src_feats, ref_pose, src_poses) # 返回 [B, C', D, H', W'] # 3. 在特征场中采样 3D 查询位置(密度自适应) query_points = self.sample_adaptive_points(feature_volume) # 返回 [B, M, 3],M 为采样点数量 # 4. 查询隐式特征 query_features = self.sample_volume(feature_volume, query_points) # 返回 [B, M, C'] # 5. 解码高斯参数 gaussians = self.implicit_decoder(query_features, query_points) # 返回 dict,包含: # means: [B, M, 3] # quats: [B, M, 4] # scales: [B, M, 3] # opacities: [B, M, 1] # sh_coeffs: [B, M, 16, 3] return gaussians这个流程的关键点在于第三步的采样。如果采样点太少,重建质量不够;如果太多,推理速度变慢。一般会在边缘、纹理复杂区域做密集采样,在平坦区域做稀疏采样,这个策略可以通过一个轻量显著性预测头实现。
推理完成后,渲染部分直接用标准的 3DGS 光栅化引擎即可。要注意的是,不同高斯之间需要按深度排序,这个排序在光栅化阶段必须保证正确,否则会出现前后遮挡错误。
7. 如果要在项目中尝试这类方法:环境准备与实现建议
虽然 InfiniSplat 的官方代码可能还没完全开源,但如果你想在类似任务上做实验,下面这套环境准备和实现路径是可以直接参考的。核心依赖和 open3d、torch、pytorch3d 这些工具链完全一致,而且你可以基于现有开源 3DGS 项目改造。
7.1 环境准备
建议使用 Python 3.10 或 3.11,PyTorch 2.1 以上,NVIDIA GPU 建议显存不低于 16GB。如果只是跑推理验证,8GB 也可以,但训练时大基线多视角输入会非常吃显存。
# 创建虚拟环境 conda create -n infinisplat python=3.10 conda activate infinisplat # 安装 PyTorch pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 # 安装 3DGS 渲染相关依赖 pip install plyfile tqdm wandb opencv-python pip install submodules/diff-gaussian-rasterization如果你需要在训练时用到深度图做监督,可能还需要安装一个单目深度估计模型,比如 Depth-Anything 或 MiDaS,用来生成伪深度标签,辅助约束几何。
7.2 数据集格式
这类方法一般使用类似 COLMAP 的格式:图像文件夹加上 sparse 子目录里的相机位姿文件。如果使用 RealEstate10K、DL3DV 这类数据集,但相机位姿已经由数据集提供,不需要再跑 COLMAP。如果要用自己的数据,建议先跑一遍 COLMAP,确认稀疏重建点云没有明显漂移,再作为训练输入。
需要特别提醒的是,如果输入图像之间基线太大,COLMAP 本身可能匹配不到足够的特征点,导致重建失败。这种情况需要先补充中间视角图像,或者使用带 IMU 信息的图像序列做引导。
7.3 核心训练配置
训练前馈 3DGS 模型时,有几个配置项需要特别注意:
# config/train.yaml 示例 data: root: /path/to/dataset views_per_sample: 5 # 训练样本中包含的视图数量 img_size: [512, 512] # 输入分辨率 model: feature_extractor: dino_v2 # 特征提取骨干 cost_volume_depth: 64 # 代价体深度采样层数 decoder_hidden_dim: 256 # 隐式解码器隐藏维度 max_gaussians_per_sample: 4096 # 每个样本最多生成的高斯数 training: batch_size: 1 lr: 1e-4 lr_schedule: cosine lambda_l1: 0.8 lambda_lpips: 0.2 lambda_depth: 0.1 # 深度平滑正则系数这里特别说明一下views_per_sample。训练时每个样本需要包含一个参考视角和至少两个源视角,且源视角的位置要模拟大基线条件。如果训练数据全是小基线视频帧,模型学不到大基线匹配能力,测试时遇到大基线照样翻车。要在数据加载阶段人为控制视角间距,让模型在训练中见过足够多的大基线样本。
7.4 损失函数设计
除了渲染图像的 L1 损失和 LPIPS 感知损失外,建议加上深度一致性约束。因为大基线条件下,几何错误往往比颜色错误更致命。深度损失可以用预测高斯中心投影到各视角产生的深度图与单目深度估计值做比较。
# 损失函数组合示例 def compute_loss(pred_img, gt_img, pred_depth, gt_depth): l1 = F.l1_loss(pred_img, gt_img) lpips = vgg_perceptual_loss(pred_img, gt_img) depth_loss = F.smooth_l1_loss(pred_depth, gt_depth) return 0.8 * l1 + 0.2 * lpips + 0.1 * depth_loss注意,上面的gt_depth如果是单目深度估计得到的伪深度,它本身存在尺度歧义,所以需要做逐样本尺度对齐后再计算损失,否则会干扰几何学习。
8. 常见问题与排查思路
在实际运行 3DGS 相关代码或者复现前馈方法时,下面几个问题是最常见的。我直接给出排查顺序和解决方案。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 渲染图像出现大量黑色空洞 | 高斯数量不足或采样位置没有覆盖可见表面 | 打印生成高斯的中心分布,查看是否集中在图像中心附近 | 增加采样点数量;调整采样范围;降低表面阈值 |
| 训练时 loss 不下降 | 学习率设置不当或特征提取器没有收敛 | 查看每个 loss 项的数值变化,确认梯度是否能回传到特征提取器 | 降低学习率;使用 warmup;检查是否冻结了骨干网络 |
| 大基线输入重建出现重影 | 代价体匹配出现多峰响应 | 可视化代价体的深度响应曲线 | 增加代价体深度分层;加入一致性正则项;增加源视角数量 |
| CUDA memory overflow | 高分辨率输入 + 大量高斯同时参与渲染 | 查看最大显存消耗点 | 降低输入分辨率;限制最大高斯数量;使用梯度检查点 |
| 协方差矩阵出现 NaN | 网络输出了非法的旋转/缩放参数 | 在解码器输出后加入 clamp 操作 | 对缩放使用 softplus 激活,对四元数做归一化 |
| 位姿不一致导致渲染闪烁 | 相机位姿精度不足 | 检查 COLMAP 的重投影误差 | 重新跑 COLMAP;使用带位姿优化的变体方法 |
这里要特别强调:如果是自己采集的数据,位姿误差是大基线方法最大的隐形杀手。许多人在合成数据集上复现得很好,一上真实数据就废,原因不是模型不行,而是 COLMAP 在大基线图像上给出的位姿本身就带了几米的漂移。模型再强也不可能在错误的位姿上重建出正确的几何。
9. 技术边界与工程选型建议
InfiniSplat 这类隐式高斯解码方法很有潜力,但不要把它当成万能解药。从技术边界来看,下面几个方面仍然需要注意:
首先,大基线不等于任意稀疏。即便模型专门针对大基线优化,仍然需要输入视角之间存在一定的共视区域。完全没有任何重叠的两张图,任何方法都不可能可靠重建出几何。
其次,动态场景处理仍是难点。目前的 3DGS 框架主要处理静态场景。如果场景中有行人、车辆在移动,或者光照剧烈变化,前馈重建方法会把这些动态因素当作噪声处理,导致重建结果模糊。
第三,显存与算力仍然是实际瓶颈。隐式解码器相较于直接回归增加了查询复杂度,在百万级高斯量级下,推理开销会比直接回归方法高。如果目标是部署到边缘设备上做实时重建,需要做量化、剪枝和高斯稀疏化。
工程选型上,我的建议是分场景看待:
- 如果你的输入是小基线视频帧,目标只是快速重建静态场景,原始的每场景优化 3DGS 就够用了,不需要引入前馈方法的复杂度。
- 如果你需要从稀疏大基线图像做快速重建,比如自动驾驶环视相机或无人机航拍,InfiniSplat 这类前馈 + 隐式解码的方向值得重点关注。
- 如果你在做一个需要连续重建更新的系统,比如机器人 SLAM 或 AR 持久化,隐式高斯解码的连续特征场特性可能会带来额外的流畅性和稳定性优势。
从论文标题中的“Infini”这个词可以推断,这个工作大概率也考虑了场景无边界问题,这意味着它可能对户外大场景、航拍数据有更好的适应性。但具体的无边界处理策略还是要以论文正文为准。
10. 结语:这类方法论到底在改变什么
回顾 3DGS 这一两年的演进轨迹,其实能看到一条非常清晰的路:从逐场景优化到前馈重建,从直接回归参数到隐式解码生成。每一步改变都不是为了炫技,而是为了解决一个更具体、更棘手的问题。
InfiniSplat 所代表的方向,本质上是把“重建”这件事从“拟合一个场景”推向“理解一类场景”。当模型能够在看到几张跨度很大的图像后,立刻生成一个合理的 3D 高斯场景,说明它学到的不再是某个场景的特异性,而是“大基线图像之间如何关联”的通用规律。这对三维视觉的未来意义深远,因为它让机器第一次有了一种接近人类直觉的空间理解能力——即使只扫了一眼,也能大致想象出物体背后的结构。
对于开发者来说,这个方向的价值更多体现在工程侧:推理时不需要逐场景优化,省掉了大量迭代时间;隐式解码带来的连续特征场,让后续的增量更新、场景编辑和语义融合都变得更加方便。无论是做数字人、自动驾驶仿真、还是空间计算应用,这套方法论都会是一个值得长期跟踪的技术路线。
建议收藏这篇文章,等 InfiniSplat 的代码正式开源后,再对照论文里的模块设计和训练细节做进一步验证。你也可以先在 pixelSplat 或 MVSplat 的代码库上,把特征提取部分换成更强的视觉基础模型,把输出改成隐式解码结构,提前感受一下这条技术路线带来的变化。