A pedagogical survey · 1999 — 2026.05

当地图已经存在:
在数字孪生上做 SLAM

工厂、仓库、巡检场景里,99% 的几何结构十几年不动。与其每次开机 都临时跑一遍 SLAM,不如先一次性、超高精度地把场地扫成一份"数字 孪生",再让机器人在运行时只做定位 · 临时 delta · 偶尔 把真正的永久变化折回孪生——这一套思路在最近五年正式 长出了自己的论文家族。

预设读者:会基本的概率图模型、贝叶斯滤波、点云 / NeRF / 3DGS 的常识、本科线代和微积分。不会经典 SLAM 也没关系—— 我们从 MCL 讲起

~53 篇论文 · 4 个交互演示 · 最后更新 2026-05-19

阅读路径建议

零基础§1 开始顺读,primer 把 MCL + 渲染式 重定位的最小数学都补齐了。熟悉经典 SLAM可以跳到 §14(NeRF/3DGS 作为先验)或 §27(终身更新)。只看最新 直接进 §47(3D foundation models),那里有 MASt3R-SLAM / MASt3R-Fusion / Reloc3r / VGGT。本站不设独立的 "frontier" 章——2025–2026 的工作 已按 lineage 散入各章,每张卡的管道位置 标签会告诉你它在第 §3 节那条管道上具体改进了哪一步。

怎么读 paper card

每张卡片现在有四件信息:YYYY-MM(venue + arXiv 都 压成同一刻度);role 标签(在第 §3 节"最小重定位循环"伪代码里指出该方法改进的是哪个 步骤——init / likelihood / map-repr / change-detect / fold-back / front-end / dyn-handling / query-layer);痛 → 关键想法 → vs prior → ;最后是 局限 一句话——尤其点出已被后续工作明确 修复或绕开的限制。

§1什么是 "数字孪生 SLAM"

经典 SLAM (Simultaneous Localization and Mapping) 的承诺是: 机器人开机时一无所知,靠传感器在线同时估计自身轨迹和环境地图。这套 框架诞生于 1990s(EKF-SLAM、FastSLAM),在 2010s 视觉/激光时代达到 巅峰(ORB-SLAM、LOAM、Cartographer),是机器人学最美的章节之一。

但 "同时建图 + 定位" 在工业现场常常是个不必要的负担。把场景换成: 一个 8000 平米的物流仓库,过去十年只动过两台叉车的停放位、新增了 一条传送带、装了三个货架。地面、立柱、绝大多数货架都没变过。 这种 99% 静态、1% 变化的环境,与其每次开机重新建图,不如:

  1. 一次性用毫米级精度的全站仪 / TLS / 高密度无人机 摄影测量,把整座仓库扫成一份"超高精度数字孪生"(点云 / Mesh / 3DGS / BIM)。这一步很贵,但只做一次。
  2. 运行时机器人只需要:(i) 把自己的位姿对到 这份孪生里去;(ii) 把新出现的人、叉车、暂存货物当作临时 delta;(iii) 当某个 delta 反复多次出现、跨越足够多天,把 它从临时 delta 晋升为对孪生本体的永久编辑
关键想法 · 一句话

数字孪生 SLAM = 先验地图上的贝叶斯定位 + 临时 / 永久 delta 的层级化更新。 SLAM 的 "M" 几乎不再是问题;"L" 和 "$\Delta$" 才是。

这套思路不是新发明——它的祖师爷是 1999 年 Fox & Burgard 的 Monte Carlo Localization(在给定栅格地图里用粒子滤波找 机器人位姿)和 2007 年 Levinson & Thrun 的 Map-Based Precision Vehicle Localization(在预先扫好的 LiDAR 反射率地图里把车开 出 10 cm 精度)。最近五年,三件事让它重新变成 hot field: (a)3DGS / NeRF 让"先验地图"变成可微的稠密表示; (b)DUSt3R / MASt3R / VGGT 这一代 feed-forward 3D foundation model 可以一次前向就完成 "drop a scan, get the 6DoF"; (c)Khronos / CL-Splats / GaussianUpdate 把"折回数字孪生" 变成了可量化的工程问题。

§2核心方程 · Bayes on a Prior

所有"数字孪生 SLAM"在最底层都是同一个方程:在已知地图 $m$ 下,给定 里程计 $u_{1:t}$ 和传感器观测 $z_{1:t}$,求当前位姿 $x_t$ 的后验。

$$ p(x_t \mid z_{1:t}, u_{1:t}, m) \;\propto\; \underbrace{p(z_t \mid x_t, m)}_{\text{观测似然}} \int \underbrace{p(x_t \mid x_{t-1}, u_t)}_{\text{运动模型}} \, p(x_{t-1} \mid z_{1:t-1}, u_{1:t-1}, m) \, dx_{t-1} $$

和经典 full-SLAM 相比,关键差别是地图 $m$ 出现在条件里而不是 联合估计里——它是 given,不是 unknown。这一个小小的语法变化, 把整个估计问题从 $\dim(m)$ 维(可能是几百万)降到 $\dim(x_t)$ 维(6)。 所有后面会讲到的方法,本质上都是怎样高效地表示 $p(z_t \mid x_t, m)$ 这个观测似然

方法家族$p(z_t \mid x_t, m)$ 的形式计算方式
MCL / AMCL占据栅格 + 光线投射per-particle ray cast
NDT-MCL / GICP每 cell 一个高斯point-to-distribution
iNeRF / 6DGS差分渲染 vs 观测像素反向传播
SCR (ACE)2D→3D coordinate 回归 + PnP一次前向 + RANSAC
MASt3R-SLAM两视图 pointmap 直接预测对齐前向 + 二阶优化

当地图 $m$ 真的不变时,这个公式就是终点。但工业现场的 $m$ 是慢变的—— 有些区域今天和半年前一样,有些区域刚被改动。所以真正的形式应该是:

$$ p(x_t, m_t \mid z_{1:t}, u_{1:t}, m_0) \;=\; p(x_t \mid z_{1:t}, u_{1:t}, m_t) \cdot p(m_t \mid z_{1:t}, m_0) $$

后一个因子 $p(m_t \mid z_{1:t}, m_0)$——给定历史观测,地图相对原始 孪生 $m_0$ 漂移成什么样——是终身建图 (lifelong mapping) 的核心。 这就是为什么 Khronos、POCD、CL-Splats 这些工作必须存在:它们在维护 这个分布。

直觉

把数字孪生想成一张持久的、版本化的世界状态。 机器人每次启动只需"login"到当前最新版本(重定位),运行中把不一致 的观测以 patch 的形式 commit 到本地(临时 delta),后台进程根据 patch 的频率和持久度,定期把稳定的 patch merge 回主版本 (永久折回)。这套 git-for-the-physical-world 的隐喻在文献里是 隐含的,CL-Splats 是第一个把它说成 "version-controlled 3DGS" 的。

§3为什么这事在工厂里成立

"为什么不直接跑 SLAM?" 是这个领域必须正面回答的问题。答案有四点。

维度从零 SLAM数字孪生锚定
全局精度受回环约束,长走廊 $\sim 10^{-3}$ 量级 drift受先验精度约束,可达 $\sim 10^{-4}$(毫米级 TLS 扫描)
启动时间分钟级建图收敛秒级重定位
跨日一致性每次坐标系不同所有 session 共享孪生坐标系
动态干扰动态物体污染地图本体动态物体被识别为临时 delta,孪生不变
初始投入很低(机器人自己扫)高(一次性昂贵的离线建模)
边际新场景需要一次离线建模 pipeline

所以这套方案的真正适用域是 ①场景长期固定;②对全局 精度敏感(manipulation / 巡检 / 高速 AGV);③可以承担一次性离线建模 成本的工业现场。如果场景是开放道路或户外探索(autonomous driving 街道 更新例外),从零 SLAM 仍然是对的。

核心前向 · 教学伪代码

这段伪代码是整本 survey 的"管道总图"。后面每张卡片的 role 标签都对应到下面某一步——比如 likelihood = Step 3, fold-back = Step 5 + 后台 merge。

# 数字孪生锚定的最小重定位循环 — 用 particle filter 的写法做演示
# (实际系统会用 PnP / 差分渲染 / feed-forward 网络替换 likelihood 计算)

def relocalize_in_twin(prior_map, sensor_stream, N=1500):
    # Step 1 [init] — 在先验地图上铺一层均匀粒子 (6DGS / Reloc3r 改这里)
    particles = sample_uniform_over_freespace(prior_map, N)

    for z_t, u_t in sensor_stream:
        # Step 2 [front-end] — 每个粒子按里程计 + 噪声前推
        for p in particles:
            p.x = motion_model(p.x, u_t)

        # Step 3 [likelihood] — 把观测 z_t 在 prior_map 里渲染/匹配
        #   MCL: ray-cast 占据栅格        iNeRF: NeRF 差分渲染
        #   6DGS: 反投 3DGS 椭球到图像   Reloc3r: 一次前向给 relative pose
        #   ACE: 神经网络回归 scene coord  MASt3R: 两视图 pointmap 对齐
        for p in particles:
            p.w = sensor_likelihood(z_t, p.x, prior_map)

        # Step 4 [front-end] — 重采样
        particles = low_variance_resample(particles)

        # Step 5 [change-detect] — 不能被先验解释的残差就是 delta candidate
        delta = compute_residual(z_t, mean_pose(particles), prior_map)
        push_to_delta_buffer(delta)

        yield mean_pose(particles), delta

# 后台 [fold-back] — 反复出现的 delta 升级为对 prior_map 的永久编辑
#   Khronos / CL-Splats / GaussianUpdate / LTGS / GS-LTS 都改这一步
maintain_twin(prior_map, delta_buffer)
Demo 1 · 痛点墙 / Drift Wall
run,看橙色(从零 SLAM)和墨绿(锚定数字孪生)两条 轨迹的 ATE 随时间发散。把 noise $\sigma$ 拉大,模拟更长的走廊:从零 SLAM 的开环漂移会迅速吞掉所有精度;锚定到先验的那条始终在 ~0.6 px 以内。 这就是为什么"先有数字孪生"——不是为了省去 SLAM, 而是为了把 SLAM 从"积分误差"问题变成"每帧重定位"问题。

§4四个痛点 a / b / c / d

即使你接受 "先建一次孪生再 localize" 是对的,剩下的几乎所有论文都在 回应下面四个痛点之一或多个。后面每一张 paper card 都会在 pain 句里 用 (a)/(b)/(c)/(d) 回指。

痛点 (a) · 冷启动 / Cold-start global pose

机器人开机时不知道自己在哪里。在 $100 \text{ m} \times 100 \text{ m}$ 的仓库里,6-DoF 位姿 空间太大,没法穷举。无 pose 先验的全局重定位是 MCL → Loc-NeRF → 6DGS → Reloc3r 这一长串工作的主驱动力。一个好系统 应该能在 < 1 秒内、不依赖 GPS / WiFi 指纹的情况下,从全局先验里 直接给出 6-DoF 位姿。

痛点 (b) · 临时 vs 永久 / Transient vs Permanent

眼前这个货架今天不在原位——是因为有个叉车把它挡住了(临时),还是它 被搬走了(永久)?错把临时当永久会污染孪生;错把永久当临时则会让 机器人在"看不见的墙"上撞死。POCD、Khronos、CL-Splats、GaussianUpdate 这一支专攻这件事。

痛点 (c) · 外观漂移 / Appearance drift

同一个仓库角落,早班开灯、晚班关灯,照片差异巨大;同一面外墙,雨天 湿、晴天干,纹理也不同。几何上几乎没变,但 RGB / 描述子完全不一样。 Stenborg 的 semantic localization、Splatfacto-W、WildGaussians 这一线 专门处理这类外观不变性。

痛点 (d) · 持久折回 / Long-term fold-back

当某个 delta 出现了 N 次、跨越 T 天,应该不应该把它编辑回数字孪生? N、T 怎么定?折回时是覆盖还是版本化?这是终身建图最难的一步—— Walcott-Bryant 的 Dynamic Pose Graph (2012)、Tipaldi 的 HMM (2013)、 Krajník 的 FreMEn (2017)、Schmid 的 Khronos (2024)、Ackermann 的 CL-Splats (2025) 是同一条 lineage 的不同阶段。

§6MCL / AMCL · 在已知地图上做粒子滤波

Foundations 这一章不是 "经典 SLAM 列表",而是后面所有家族都 要回指的祖师爷锚点。我们只挑必须解释清楚才能讲后续 lineage 的那 6 篇,再加 1 篇 2024 的 frontier (MS-Mapping) 作为"现代化封顶"。

MCL · AMCL — Monte Carlo Localization + KLD-Sampling Adaptive Particle Filter
1999-07 · 2001-12 init + likelihood Fox, Burgard, Dellaert, Thrun · CMU / U. Bonn / U. Washington · AAAI 1999 PDF · KLD-MCL PDF

痛点 (a):在给定栅格地图里,无 pose 先验时如何稳定地估计位姿。

关键想法:把"机器人在地图里的位姿"这个分布用 一组粒子表示——不假设高斯。每一帧用里程计前推、用激光观测重新 加权、然后重采样。KLD-MCL(即 ROS 里的 amcl)进一步 根据当前后验的不确定性自适应调整粒子数:刚开机时铺几千 个,收敛后压到几百个。

奠定了"地图作为 condition,位姿作为 unknown"这一整套框架的工程 范式——所有后面的"在先验地图里定位"方法都是它的某种变体,只是 把观测似然换成了更花哨的东西。

占据栅格 likelihood 假设地图完全静态;动态物体(人、叉车)的反射 会被当作"墙错位",污染整个粒子分布——直接催生了 §9 DynaSLAM 那 一支动态过滤工作。

§7 Demo · MCL Collapse · 粒子从均匀分布坍缩到真位姿
1500 个粒子被均匀撒在 floor plan 上。每点一次 step ×3 机器人前进 3 步,每步都用一组 16-beam 模拟 LiDAR 扫描 reweight + 重采样。 可以看到粒子云在 3-5 步内坍缩到真位姿附近——这就是 §6 AMCL 的算法 被压成的最小可视化。把 noise $\sigma$ 拉大模拟 LiDAR 不准,会看到粒子云 收敛更慢、更宽。

§8GICP & NDT-MCL · 连续似然场上的对齐

GICP / NDT-MCL — Generalized-ICP & Normal-Distributions-Transform MCL
2009-06 · 2013-11 likelihood Segal, Haehnel, Thrun · Stanford · Saarinen, Andreasson, Stoyanov, Lilienthal · Örebro · GICP PDF · NDT-MCL PDF

痛点 (a):占据栅格的离散性让 sub-cell 精度受限,工业 AGV 要求毫米级。

关键想法:把先验地图从"占据/空"的二值栅格升级 为每个 cell 一个高斯(NDT)或每个点带局部协方差 (GICP)。观测点云对先验的对齐变成 point-to-distribution,似然连续 可导,特别适合 LiDAR 在结构化室内场景。NDT-MCL 把这个观测模型 塞进粒子滤波,是今天许多 AGV 系统的事实标准之一。

与 MCL 同样是 "在先验地图上的概率定位",但把观测似然从离散的 "射线命中"换成了连续高斯——精度从 cm 量级压到 mm 量级。

高斯局部模型对 reflective / 重复几何(长走廊、玻璃幕墙)的歧义 无能为力;非结构化室外场景下性能急速下降——这正是后续 §15 NeRF / §47 DUSt3R 那条"换 likelihood"路线要解决的。

§9DynaSLAM · 把动态物体从地图里删掉

DynaSLAM — Tracking, Mapping and Inpainting in Dynamic Scenes
2018-10 dyn-handling Bescos, Fácil, Civera, Neira · Univ. Zaragoza · arXiv:1806.05620 · code

痛点 (b):动态物体(行人、车)混进 SLAM 地图,会让回环和重定位永久失败。

关键想法:在 ORB-SLAM2 前端加两道滤波—— (i) Mask R-CNN 把 a-priori 可能动的类别(人、车)整片抠掉; (ii) 几何一致性检查把剩下的"看起来不该动但实际在动"的 像素也抠掉。然后用历史关键帧把这些洞 inpaint 回静态背景,得到 一份干净的 keyframe map。

第一代"语义 + 几何"双判据动态滤除——后面所有 dynamic-aware SLAM (DS-SLAM, MID-Fusion, WildGS-SLAM) 都是它这种"先认出动的,再把它 从地图里扣掉"的范式延续。

仅对 a-priori 动态类别(COCO 里的人/车)有效;陌生类别(堆放的 临时纸箱、新型 AGV)不被识别,依然会污染地图——§39 4DGS-SLAM 转向"双 Gaussian 集合"正是为了显式建模未知动态体。

§10Panoptic Multi-TSDF · 把变化降到 object 粒度

Panoptic Multi-TSDF — A Flexible Representation for Online Multi-resolution Volumetric Mapping and Long-term Dynamic Scene Consistency
2022-05 map-repr + change-detect Schmid, Delmerico, Schönberger, Nieto, Pollefeys, Siegwart, Cadena · ETH ASL / Microsoft · arXiv:2109.10165 · code

痛点 (b)+(d):voxel 级的变化检测会把 "椅子动了一下" 拆成上千个 voxel update,无法支撑 object-level 决策。

关键想法:把整张全景地图从"一份大 TSDF"重构为 每个 panoptic instance 一份独立的 submap TSDF——背景一张, 每个椅子、桌子、机器各自一张。变化、删除、重新实例化都在 submap 粒度发生,配上每个 submap 的最后观察时间戳,object-level 终身一致 性成为可计算的属性。

把先前 voxel-级 long-term mapping (Pomerleau, FreMEn) 提升到 instance 级——Khronos 的 4D 时空 scene graph 即由此演化而来。

submap 间的接缝处易失配,需手工调节合并阈值;没有时间维度建模, "椅子早 8 晚 6 在那里"这种周期性信息丢失——§29 Khronos 用因子图 + 时序事件显式修了这两件事。

§11BIM-PoseNet · 用纯合成图把 BIM 当作训练数据

BIM-PoseNet — Indoor Camera Localisation Using a 3D Indoor Model and Deep Learning From Synthetic Images
2019-03 likelihood Acharya, Khoshelham, Winter · Univ. Melbourne · paper

痛点 (a)+(c):室内 BIM 模型存在,但拍不到真实带 pose 的训练图——人工标注成本爆炸。

关键想法:BIM 自带几何 + 材质,可以渲染任意视角的 合成图。把整套 PoseNet 完全用合成图训练,部署时直接吃真实相机 图回归相对于 BIM 坐标系的 6-DoF——零真实图标注。BIM 同时是"地图" 和"训练数据生成器",是数字孪生 SLAM 在 BIM 一支里最干净的早期 展示。

与 PoseNet/AtLoc 这类"真实图监督"的 APR 不同,把 BIM 当成 ground truth 渲染源,绕开了真实数据采集。后面 MoLi-PoseNet(LiDAR 版本) 和 BIM2RDT(语义 + IoT 融合)都是同一种"BIM 作为可渲染先验"的思路。

完全依赖 BIM 与现实几何一致——as-built 偏差会让 pose 估计出现 系统性偏移。这正是 §42 Vega-Torres BIM-SLAM 引入"BIM 作为 session-0 + 真实 LiDAR 自动校正"的动机。

§123D Dynamic Scene Graphs · 永久与临时实体首次共一张图

3D DSG — 3D Dynamic Scene Graphs: Actionable Spatial Perception with Places, Objects, and Humans
2020-07 map-repr + query-layer Rosinol, Gupta, Abate, Shi, Carlone · MIT SPARK · arXiv:2002.06289

痛点 (b)+(d):从 mesh / voxel 这种"扁平"地图里看不出"哪些是永久结构、哪些是临时实体"。

关键想法:把场景表示成一张多层 scene graph—— 底层是建筑/房间/物体的几何,往上是语义关系,最上层放动态智能体 (人、移动物体)作为一等节点。"永久结构"和"临时实体"第一次 在同一份数据结构里被区分对待。

把 SLAM 的"地图"从 mesh/voxel 升级为结构化、可查询、可推理 的图——Hydra / Hydra-Multi / Khronos / DAAAM 是这条 lineage 的直系 后代。

虽然 dynamic agents 是图里的一等节点,但每个节点仍只代表"当前 时刻"的状态,没有时间维度——"昨天此时这把椅子在哪里"必须等到 §29 Khronos 才被首次系统处理。

§13MS-Mapping · LiDAR 多 session 终身建图的 2024 现代化封顶

MS-Mapping — Uncertainty-Aware Large-Scale Multi-Session LiDAR Mapping
2024-08 map-repr + fold-back Hu, Wu, Jiao, Zhang, Tan · HKUST · arXiv:2408.03723 · code

痛点 (d):把 Foundations 一节的 pose graph + atlas 思路推到现代大场景多 session 工程——graph bloat 是主要拦路虎。

关键想法:用 Wasserstein 距离做增量 keyframe 选取——只把"显著新增信息"的 frame 加进 graph;用 covariance-aware pose-graph merging 让多 session 融合时不会让 优化器 over-confident。结果是真正可工程化的"先验地图随每次 session 缓慢演进"流程。

§10 Panoptic Multi-TSDF 走"object-level submap"路线不同, MS-Mapping 仍在 pose-graph 层面,但引入了不确定性度量来控制 graph 大小——是 LiDAR-only 工程化 lifelong SLAM 的 2024 当下范本。

仍是纯 LiDAR pose graph,无对象级语义、无 3DGS / NeRF 兼容 ——object-level 查询和 photorealistic 渲染要等到 §29 Khronos 与 §33 CL-Splats 这两条线分别接管。

§14iNeRF · 把渲染当成可微的位姿目标函数

这一章的所有方法共享同一个范式:先验地图是一个可微的渲染 器(NeRF 或 3DGS),"找位姿"等价于"找让渲染最像观测的位姿"。 区别只在于 (i) 怎么提供一个好的初始位姿、(ii) 怎么避免落入局部极小。

iNeRF — Inverting Neural Radiance Fields for Pose Estimation
2020-12 likelihood Yen-Chen, Florence, Barron, Rodriguez, Isola, Lin · MIT / Google / Waymo · arXiv:2012.05877 · project

痛点 (a):有一个预训练好的 NeRF,能不能从一张新图直接 invert 回 6-DoF?

关键想法:把相机位姿 $\xi \in SE(3)$ 也当作 NeRF 的可学习参数。固定 NeRF 权重,梯度下降 $\xi$ 让 rendered pixels 像 observed pixels——analysis-by-synthesis。

首次把 NeRF 反演成位姿估计器——所有后续渲染式重定位(iComMa、 GSplatLoc、6DGS)都是它的某种收敛域扩展。

收敛盆地极窄——需 $\lt 30^{\circ}$ / 25 cm 初始 pose,否则陷入局部极小, 冷启动不可用。§15 Loc-NeRF 用粒子滤波修了这一刀,§18 6DGS 直接 转为闭式求解绕开了它。

§15Loc-NeRF · 全局初始化 = 在 NeRF 上跑 MCL

Loc-NeRF — Monte Carlo Localization using Neural Radiance Fields
2022-09 · ICRA 2023 init Maggio, Abate, Shi, Mario, Carlone · MIT SPARK · arXiv:2209.09050 · code

痛点 (a):iNeRF 的收敛盆地太窄,没有粗略位姿就完蛋。

关键想法:把 iNeRF 的梯度下降换成 MCL 的粒子 滤波——每个粒子代表一个候选位姿,observation likelihood 由 NeRF 渲染该位姿下的图与观测图的颜色一致性给出。配合粗略 motion 模型,可以从均匀全局初始化在几秒内收敛到正确 basin, 再做局部 refine。

本质上是把 §6 的 MCL 算法和 §14 iNeRF 的 NeRF-as-likelihood 拼一起—— 这是"数字孪生 SLAM"领域非常典型的合成模式:经典定位算法 $\times$ 新一代 地图表示。

NeRF 渲染慢(每粒子一次完整 forward),粒子数受限,大场景仍易失败 ——§18 6DGS 把这件事变成闭式后才真正解决冷启动问题。

§16 Demo · Render-and-Match · iNeRF / Loc-NeRF 的收敛盆地
上半部分:墨绿是"观测像素",橙色虚线是"用当前估计位姿渲染的像素"。 下半部分:photometric loss vs 候选位姿的整条曲线——可以直观看到 iNeRF 的多个局部极小
默认 init 故意放在一个 bad pose,反复点 gradient step 会卡在错误的局部极小(§14 iNeRF 的痛)。打开 global init 切到 Loc-NeRF 模式:先撒 24 个粒子全局搜,选 loss 最小的当起点 再 gradient descent——一步到位。这就是 §15 Loc-NeRF 相对 iNeRF 做的全部

§17iComMa · iNeRF 思路移植到 3DGS

iComMa — Inverting 3D Gaussian Splatting for Camera Pose Estimation via Comparing and Matching
2023-12 likelihood + init Sun et al. · XJTU · arXiv:2312.09031 · code

痛点 (a):3DGS 比 NeRF 渲染快 $100\times$,能不能用同样的 invert 思路但更快地做重定位?

关键想法:3DGS 的 splatting 渲染对相机位姿是可微的, 直接把 iNeRF 思路移植——梯度下降 $\xi$ 让 splatting 渲染像观测图。 为了缓解 photometric loss 的局部极小,额外引入一个 LoFTR 风格的 2D matching loss,把渲染图和观测图先做特征匹配再回传梯度,显著 扩大了收敛盆地。

把 iNeRF 的范式带进 3DGS 时代——同样是 analysis-by-synthesis,但 渲染快 $100\times$,并且加入 explicit feature matching 抢救收敛域。

仍需要粗略初始位姿;纹理稀疏(白墙、纯地面)场景下 feature matching 失效,回退到纯 photometric——大场景冷启动仍依赖 §18 6DGS 或 §51 Reloc3r 给的 prior。

§186DGS · 闭式、无需初始位姿

6DGS — 6D Pose Estimation from a Single Image and a 3D Gaussian Splatting Model
2024-07 init Bortolon, Tsesmelis, James, Poiesi, Del Bue · FBK / IIT · arXiv:2407.15484

痛点 (a):分析-合成式方法都需要初始位姿,6-DoF 全局搜索代价依然不小。

关键想法:反过来——不让位姿下降到匹配的渲染,而是 让 3DGS 的每个椭球反向投射"椭球射线"到观测图,三角化出相机 中心。整个过程是闭式的、一次前向、无需任何初始位姿、无需迭代。 把 6DoF 估计从优化问题转成几何代数问题。

与 iComMa / GSLoc 这些梯度优化路线正好相反:6DGS 把整套 invert pipeline 从迭代换成了 closed-form,是"无 pose 先验全局重定位" 最优雅的一种解法。

对 3DGS 的训练质量极敏感(椭球长得歪、覆盖稀疏,反投三角化噪声 爆炸);大场景下椭球数 $N^5$ 复杂度让闭式求解爆炸——是 §19 SplatLoc 转向"per-Gaussian 描述子 + PnP"的直接动因。

§19SplatLoc / GSplatLoc · 给 3DGS 每个椭球装上描述子

SplatLoc · GSplatLoc — 3DGS-based Visual Localization for AR + Grounding Keypoint Descriptors into 3DGS
2024-09 likelihood + map-repr Zhai et al. · ZJU · Sidorov et al. · SplatLoc · GSplatLoc · project

痛点 (a)+(c):渲染式重定位对外观漂移敏感;想用稳定的 2D-3D 匹配,但 3DGS 没有传统意义上的"地图点"。

关键想法:在每一个 Gaussian 椭球上蒸馏一个 XFeat / unbiased 3D descriptor,让 3DGS 同时既是渲染器又是 feature 数据库。query 图先提 keypoint,跟 Gaussian 的描述子做 2D-3D 匹配,PnP 出粗 pose,再用渲染做光度 refine。

与 6DGS 走"几何反投"不同,SplatLoc 走"特征匹配 + PnP"—— 完成了 3DGS 从"纯渲染器"到"可匹配地图"的身份转变,是 3DGS 重定位族在标准 benchmark 上的稳定 2024 SOTA。

描述子需 per-scene 蒸馏;跨场景泛化弱——把同一个 SplatLoc 模型 搬到新工厂要重训。§51 Reloc3r 直接用 foundation model 跳过了这件事。

§20STDLoc / GSVisLoc · 2025 3DGS 重定位的当下 SOTA

STDLoc · GSVisLoc — Sparse-to-Dense 3DGS Localization + NVIDIA's Visual Localizer
2025-03 · 2025-08 init + likelihood NVIDIA Tel-Aviv et al. · STDLoc · GSVisLoc

痛点 (a):SplatLoc / GSplatLoc / 6DGS 都需要某种 pose prior 或匹配阈值;想要彻底无先验、无 outlier 处理。

关键想法:STDLoc 提出 sparse-to-dense 投票,完全 取消 pose prior 假设;GSVisLoc (NVIDIA Tel-Aviv) 把 3DGS 重定位 pipeline 整体收紧到能稳定 deploy 的工业级精度。两者都在 2024 年 GSplatLoc / SplatLoc 之上有可衡量的提升——iNeRF / 第一代 3DGS-loc 已基本不再被 SOTA 对比表使用。

Part 3 lineage 的 2025 收尾:把无 pose prior + 跨场景稳定的两件事 第一次同时做到了工业级。

仍依赖一份预训练 3DGS——外观漂移大、夜间/雨天,3DGS 本身就脆弱时 精度下降;终极方案需配合 §40 WildGS-SLAM 风格的外观鲁棒训练。

§21GS-EVT · 把事件相机对到 3DGS 上

GS-EVT — Cross-Modal Event Camera Tracking based on Gaussian Splatting
2024-09 · ICRA 2025 likelihood (cross-modal) Liu et al. · arXiv:2409.19228 · code

痛点 (c):高速 / 强光 / 弱光场景下,传统 RGB 相机失效;先验地图用 RGB-based 3DGS,运行时传感器换成事件相机。

关键想法:把 3DGS 渲染一帧差分强度图,跟 event stream 积分出的强度图做匹配——跨模态的渲染式跟踪。证明 了 "数字孪生 = 一份固定的 3DGS、运行时可以换不同传感器去对" 这种 解耦是可行的。

把 3DGS 作为先验地图的概念扩展到非 RGB 传感器:先验是 RGB-3DGS, query 是 event stream,证明孪生与传感器的解耦不止理论上成立。

事件相机噪声模型被简化为高斯,强光/弱光极端下匹配仍脆弱;尚未与 IMU 融合,高速运动下跟踪会丢——同 §50 MASt3R-Fusion 的多模态融合 思路尚未在 event modality 上完成。

§22DSAC* · 把"图像→3D 坐标"塞进神经网络

SCR 这条 lineage 走的是另一种道路:先验地图被编码成一个 神经网络,输入一张 query 图,逐像素回归该像素对应的 3D 世界坐标。然后 PnP+RANSAC 出 6-DoF。这条线在 city-scale 室外 有很强 SOTA。

DSAC* — Visual Camera Re-Localization from RGB and RGB-D Images Using DSAC
2020-02 likelihood (learned) Brachmann, Rother · Heidelberg / TUD · arXiv:2002.12324 · code

痛点 (a):传统 SfM 重定位需要存大量描述子;想用一个紧凑神经网络代替整张特征地图。

关键想法:训一个 CNN 把每个像素回归到对应的 3D 世界坐标("scene coordinate"),用 differentiable RANSAC 选出 inlier 假设,然后 PnP。整张地图被压缩成一个 ~30 MB 的网络, 重定位时间 < 100 ms。

完全跳过显式 SfM 地图——地图就是网络权重。但要为每个新场景重新训练 几小时~几天,这是后续 ACE 系列要解决的痛。

每个新场景训几天的部署成本,与"工业 deploy 时只接受几分钟"严重 不符——§23 ACE 把 per-scene 训练压到 5 分钟才把这条路线变得可 工程化。

§23ACE / ACE-Zero · 5 分钟训完一个场景

ACE · ACE-Zero — Accelerated Coordinate Encoding + Scene Coordinate Reconstruction
2023-05 · 2024-04 likelihood + init Brachmann, Cavallari, Prisacariu, et al. · Niantic · arXiv:2305.14059 · ACE-Zero · project

痛点 (a):DSAC* 每个新场景训几天,与"工业 deploy 时只接受几分钟"严重不符。

关键想法:把 SCR 拆成场景无关的冻结 backbone + per-scene 训练的小 MLP head。每个 gradient step 在一个 超大随机视角 buffer 上做,5 分钟收敛到 DSAC* 几天的精度。ACE-Zero 更进一步——把"训练"和"poseless SfM"合并:边训 relocalizer 边 posed image collection,连初始 pose 都不需要。

把"为每个场景部署一个 SCR 网络"从几天压到几分钟。让 SCR 范式从 研究玩具变成可工程化的孪生重定位方案。

室内单房间精度很好,户外 city-scale 上精度崩——§24 GLACE / R-SCoRe 引入全局描述子才把这件事修好。

§24GLACE / R-SCoRe · 让 SCR 在户外大场景成立

GLACE · R-SCoRe — Global-Local ACE + Robust SCR for Large-Scale Localization
2024-06 · 2025-01 likelihood Wang, Jiang, Galliani, Vogel, Pollefeys · ETH / MS Spatial AI Lab · GLACE · R-SCoRe · code

痛点 (a):ACE 在小室内场景挺好,但在 Aachen Day-Night 这样的大户外场景训不动、精度崩。

关键想法:在 ACE 的 local feature 上拼接一个 预训练 R2Former 全局描述子,让网络同时知道"这是哪条街" 和"这是这条街的哪一段"——一个网络压住了 city scale。R-SCoRe 接着 引入 covisibility-graph driven 全局编码和 depth-adjusted reprojection loss,让 Aachen 上的精度比 ACE 高一个数量级,地图体积小 $5\times$。

把 SCR 从 indoor / 单个房间真正推到了 city scale——这是数字孪生 SLAM 在户外大场景的关键 enabler。

训练 backbone 大、需大量带 pose 训练数据;新场景部署虽快,但 "完全零 per-scene 训练"还要等 §26 SACReg / §51 Reloc3r。

§25Marepo · 用 SCR 地图喂给 APR

Marepo — Map-Relative Pose Regression for Visual Re-Localization
2024-04 init (APR) Chen, Cavallari, Prisacariu, Brachmann · Niantic · arXiv:2404.09884 · project

痛点 (a):APR (Absolute Pose Regression) 一直被诟病"对每个场景都要重新训",与 SCR 一样不通用。

关键想法:把"场景"作为额外条件输入到 APR ——具体做法是 ACE 算出的 scene coordinate map 作为 conditioning。 这样 APR 网络本身就场景无关,新场景只需训一个 ACE head(几分钟)。 "在数字孪生上 deploy" 的工程门槛进一步降低。

与传统 APR 相比,把"场景特异性"挪到一个轻量级的 SCR head 里,APR 本身可以一次训完终身用。Conceptually 是 SCR 和 APR 的 hybrid。

APR 本身精度(cm 级误差不稳)不及 PnP 方案,工业 manipulation 仍 需要后接 §17 iComMa 风格的渲染 refine。

§26SACReg · scene-agnostic 的 SCR transformer

SACReg — Scene-Agnostic Coordinate Regression for Visual Localization
2023-07 likelihood (scene-agnostic) Revaud et al. · Naver Labs Europe · arXiv:2307.11702

痛点 (a):连"per-scene 训 5 分钟"都嫌多——能不能彻底不训?

关键想法:训一个跨场景通用的 SCR transformer——输入是少量带稀疏 2D-3D 标注的数据库图 + query 图,cross-attention 直接预测 query 的稠密 3D 坐标图。新场景 只需提供少量先验图,零训练

SCR lineage 的逻辑终点:从 per-scene 训几天 → 几分钟 → 完全 零训练。下一步就交给 §47 DUSt3R / §48 MASt3R 这种 3D foundation model。

仍需要稀疏 2D-3D 标注作为输入;纯"零标注 + 零训练"重定位要到 §51 Reloc3r 才实现。

§27FreMEn · 把每个 cell 的占据当成时序信号

这一章是整本 survey 的心脏——四个痛点里的 (b) 临时 vs 永久 和 (d) 持久折回都集中在这里。从 Krajník 2017 一路打到 GaussianUpdate 2025 和 DAAAM 2025。

FreMEn — Frequency Map Enhancement for Long-Term Mobile Robot Autonomy in Changing Environments
2017-08 change-detect + fold-back Krajník, Fentanes, Santos, Duckett · Univ. Lincoln · paper

痛点 (b)+(d):占据栅格只记"当前状态",无法表达"这个 cell 早上 9 点常常被占、晚上常常空"。

关键想法:把每个 cell 的占据序列展开成傅里叶 频谱,只保留几个主频。整张地图变成几百兆参数下的"周期性占据 预测器"——可以预测"明天上午 9 点该 cell 是否会被占",压缩比 $\sim 1:10^5$。

与"按观察次数滑窗 vote"的早期长期占据图相比,FreMEn 第一次让"周期 性 vs 非周期性占据"成为地图本身的属性——Khronos 的时空 scene graph 可以看成 FreMEn 的 instance-level + 数据驱动版本。

假设变化是周期性的;非周期事件(突然搬走一台设备)不被频谱建模, 会被当噪声丢弃——§28 POCD 把"周期"换成"object-level Bayesian" 才修了这件事。

§28POCD · object-level 概率变化检测

POCD — Probabilistic Object-Level Change Detection and Volumetric Mapping in Semi-Static Scenes
2022-05 change-detect Qian, Chatrath, Yang, Servos, Schoellig, Waslander · Univ. Toronto · arXiv:2205.01202

痛点 (b)+(d):传统 TSDF 差分检测把"物体微移 5 cm"也当成变化,根本没法 trigger fold-back。

关键想法:对每个物体维护一个 stationarity score 和 TSDF-change measure,通过 Bayesian update 把几何残差和 语义类别融成一个"该物体是否真的换位"的概率。低于阈值的视为同物体 略微观察噪声,高于阈值的明确触发 fold-back。

POCD 把 Panoptic Multi-TSDF 的 instance 级 submap 加上了一个明确的 "永久 vs 临时"贝叶斯判定准则——把第 4 节痛点 (d) 第一次形式化成 可阈值的工程量。

对象级 Bayesian 阈值需要良好 segmentation;非刚体物体(柔性管道、 布料)处理弱——§29 Khronos 加入时序事件因子图才能正确处理这类。

§29Khronos · 时空 4D scene graph

Khronos — A Unified Approach for Spatio-Temporal Metric-Semantic SLAM in Dynamic Environments
2024-02 · RSS 2024 (Best Systems) change-detect + fold-back + map-repr Schmid, Abate, Chang, Carlone · MIT SPARK · arXiv:2402.13817 · code

痛点 (b)+(d) 全部:动态前景 + 半静态家具 + 永久结构必须同时在一份地图里被一致地处理。

关键想法:把 spatio-temporal SLAM 拆成两个进程: (i) 短时程进程负责跟踪当前帧的动态前景; (ii) 长时程因子图进程负责推断每个物体的出生 / 消亡 / 移动 事件。最终产出是一份4D 地图——可以查询任意过去 时刻的场景状态。

Panoptic Multi-TSDF 给出 instance-level static representation; Khronos 在其上加了 time 维度,把"折回数字孪生"提升为"全时空 场景状态推断"——是这一章 lineage 在前 3DGS 时代的巅峰。

使用 TSDF + scene graph,无 3DGS / NeRF 表示兼容(不能 photorealistic 渲染);自然语言查询需外接 VLM——§30 DAAAM 在同一个组里把 language head 集成进来修了第二件。

§30DAAAM · Khronos 的语言-grounded 后裔

DAAAM — Describe Anything, Anywhere, at Any Moment
2025-12 query-layer Gorlo, Schmid, Carlone · MIT SPARK · arXiv:2512.00565 · project

痛点 (b)+(d):Khronos 给出 4D 地图,但回答"昨天下午 3 点货架 7 上有什么"还要外接 VLM。

关键想法:在 Khronos 的 4D scene graph 之上,把每个 时刻、每个实体的语言描述作为图节点的一等属性,由 localized captioning model 实时生成。"你刚才看到的红色叉车 5 分钟前停在哪里?" 成为可结构化查询。

Khronos 解决 "4D 数字孪生";DAAAM 在其上加 language layer,让数字 孪生第一次支持自然语言时空查询——MIT-SPARK 的直接 lineage。

4D 表示存储成本高;语言层实时性受 captioning 模型瓶颈限制(当下 ~几 Hz);与 3DGS-based 表示融合的工作尚未出现。

§31C-NeRF · 用两份 NeRF 的差异定位 3D 变化

C-NeRF — Representing Scene Changes as Directional Consistency Difference-based NeRF
2023-12 change-detect Huang et al. · arXiv:2312.02751

痛点 (b):用 RGB 差分检测 2D 像素变化会把"光线变了"也当成变化;必须在 3D 里比较。

关键想法:训两份不同时刻的 NeRF $f_0, f_1$, 定义方向一致性差异——同一 3D 点在两个 NeRF 下的密度 / radiance 对相机方向变化的响应差异。这个差异在 3D 中定位真正的 几何变化,对光照漂移不敏感。

与基于 2D 像素差分的 change detection 相比,C-NeRF 在 3D 里 做差,对 §4 痛点 (c) 外观漂移天然鲁棒。

需要两份 NeRF(一份是旧孪生、一份是新观测训出的),新 NeRF 训练 慢使整个流程不实时——§33 CL-Splats 转为"在原 3DGS 上做局部 优化"绕开了重新训练。

§32CL-NeRF · 把新观测往老 NeRF 上 patch 而不破坏旧区域

CL-NeRF — Continual Learning of Neural Radiance Fields for Evolving Scene Representation
2023-09 · NeurIPS 2023 fold-back (incremental) Wu, Liu, Cai, Wang et al. · arXiv:2308.12932

痛点 (d):在旧 NeRF 上直接 fine-tune 新观测会"灾难性遗忘"——旧区域被改坏。

关键想法:给 NeRF 主体加一组轻量 expert adapter, 只让 adapter 吸收新观测;用 conflict-aware distillation 让 adapter 的影响范围被空间局部化,不污染未观测区域。本质上是 LoRA 思想在 NeRF 上的对应。

与 C-NeRF 走"两份 NeRF 比差异"不同,CL-NeRF 走"在一份 NeRF 上做 增量编辑"——是 §4 痛点 (d) 持久折回在 NeRF 范式里的具象。

NeRF expert adapter 仍训练慢;adapter 数量随变化次数线性增长—— "终身"运行 1 年后会臃肿。§33 CL-Splats 把这套思路搬到 3DGS 上后 才真正轻量化。

§33CL-Splats · 版本化的 3DGS

CL-Splats — Continual Learning of Gaussian Splatting with Local Optimization
2025-06 · ICCV 2025 fold-back + change-detect Ackermann, Kulhanek, Cai, Xu, Pollefeys, Wetzstein, Guibas, Peng · arXiv:2506.21117

痛点 (d):每次有变化就重新 fit 整张 3DGS 既慢又会损失旧版本信息。

关键想法:change-detection 模块把"被改动"和"保持 不变"的 Gaussian 分开——只对改动区域做局部优化,其它部分 冻结。同时保留历史 Gaussian 状态作为可恢复版本, 使得 "回滚到昨天的孪生" 成为一次 git checkout。

CL-NeRF 在 NeRF 里做局部编辑;CL-Splats 在 3DGS 里做局部编辑, 并且首次提出 "version-controlled 3DGS"——是 §2 直觉里的 "git-for-the-physical-world" 第一个具象实现。

局部优化仍可能影响相邻 Gaussian(边界 leakage);版本化存储开销 随时间累积——§35 LTGS 引入"per-object 模板"才让长时间存储变可控。

§34GaussianUpdate · 把"变化类型"作为一等公民

GaussianUpdate — Multi-Stage Updating of Pre-Built 3DGS with Type-Aware Continual Learning
2025-08 · ICCV 2025 change-detect + fold-back Zeng, Zhao, Hu, Shen, Dang, Bao, Cui · arXiv:2508.08867

痛点 (b)+(d):CL-Splats 处理"变了"和"没变",但不区分变化的种类——遮挡、重排、光度漂移要不同的对待。

关键想法:在 3DGS 更新 loop 里把变化显式分类成 transient occluder · permanent rearrangement · photometric drift 三种,分别走不同 pipeline。配合 visibility-aware continual learning + 生成式 replay,不需要存历史图像。这是当下离"工厂运营 需要"最近的一个 fit。

与 CL-Splats 的"分变 / 没变"二分相比,GaussianUpdate 把变化的 "类型"作为模型的一等输入,使决策能匹配 §4 痛点 (b) 的真实物理 语义。

三类变化分类粒度仍粗——photometric drift 与 rearrangement 共现 (灯坏了 + 货架被搬走)时易混淆;分类置信度本身的校准是 open issue。

§35LTGS · 跨周 / 跨月的稀疏视角孪生维护

LTGS — Long-Term Gaussian Scene Chronology from Sparse View Updates
2025-10 · CVPR 2026 fold-back (sparse-view) Kim, Lee, Kim, Kim · arXiv:2510.09881 · project

痛点 (d):CL-Splats / GaussianUpdate 假设新观测密集;现实是机器人每周才"路过"某区域几次。

关键想法:为每个物体建立可复用结构 prior 模板, 时间演化退化成逐模板的轻量级变换而不是稠密重优化。这样 每周几张新照片就能维持月级别的孪生时间线。

与 CL-Splats / GaussianUpdate 相比,LTGS 把"更新"从"逐 Gaussian" 抽象到"逐模板",是和真实工厂"稀疏巡检"调度匹配最好的方案。

假设场景由可复用模板组成;非物体化的渐变(漏水后墙面发霉这种连续 形变)不适用——需要继续等针对"非物体化"持续场的工作。

§36GS-LTS · service robot 的 active 数字孪生维护

GS-LTS — 3DGS-Based Adaptive Modeling for Long-Term Service Robots
2025-03 fold-back (active perception) Fu, Li, Zhang, Wang, Chen · arXiv:2503.17733

痛点 (d):CL-Splats / GaussianUpdate / LTGS 都是被动等观测;service robot 应该主动去捕获变化。

关键想法:robot 单图检测到场景变化后,自主规划 重采样视角采集 multi-view 数据,再把新数据 in-place 编辑进 persistent 3DGS。这是数字孪生 SLAM 第一个完整的 "detect change → actively recapture → fold-back into twin" 闭环。

Part 5 lineage 的执行端封顶:把"更新"本身从被动统计推到主动决策 ——和 §35 LTGS 的稀疏视角策略互补(LTGS 等机器人路过、GS-LTS 让 机器人主动去)。

需要 service robot 主动控制权(manipulator + 移动底盘);被动 多机器人场景(固定 AGV 沿固定路径)不适用——仍是单机器人范式。

§37 Demo · Transient vs Permanent Fold-in
每个圆点是仓库里观察到的一个 "delta"——可能是走过的行人、来回穿梭的 叉车、或一个被搬走的货架。拖动 N / T 阈值,看哪些 delta 被晋升为 permanent (折回孪生),哪些保持 transient (只跟踪不折回),哪些被当作 ghost 忽略。 试试把 T 拉到 15 以上:大部分 forklift 都会从 permanent 被降回 transient——这正是 §29 Khronos 长时程因子图在做的事。

§38Dynamic 3D Gaussians · 持续追踪每个 Gaussian 的身份

这一章的所有方法都有同一个目标:从一段同时包含动态前景和 静态背景的视频,恢复出"持久数字孪生"那部分静态场。前景被 single-out 出去后,剩下的就是 §27 那一章可以维护的 static field。

Dynamic 3D Gaussians — Tracking by Persistent Dynamic View Synthesis
2023-08 · 3DV 2024 dyn-handling + map-repr Luiten, Kopanas, Leibe, Ramanan · CMU / MPI / TU Aachen · arXiv:2308.09713

痛点 (b):dynamic-3DGS 大多重建一帧扔一帧,没有"跨时间稳定的 Gaussian 身份"。

关键想法:所有 Gaussian 有持久 ID—— 每个 Gaussian 维护 6-DoF 时序轨迹,靠 local rigidity 正则把 "属于同一刚体的 Gaussian 一起动"。结果是每个 Gaussian 的运动可以被追踪、合成新视角的同时显式给出 6-DoF 跟踪。 这种"持久身份"让"哪些是 static field"成为可计算属性。

与 4DGS / 4D-Gaussians 这种"每帧重新拟合"的 dynamic 3DGS 不同, Luiten 让 Gaussian 跨时间保持身份——是 §27 章节"持久 fold-back" 的几何底座。

仅在 multi-view 同步视频上有效;单目部署还很弱——§40 WildGS-SLAM 把单目这件事推到了 SOTA。

§394DGS-SLAM · 静态 + 动态双 Gaussian set

4DGS-SLAM — 4D Gaussian Splatting SLAM
2025-03 dyn-handling + map-repr Li, Fang, Zhu, Li, Ding, Tombari · arXiv:2503.16710 · code

痛点 (b):传统 dynamic-aware SLAM 都"扔掉"动态像素,但工厂里 AGV、人本身就是 task-relevant。

关键想法:在 SLAM 内同时维护两组 Gaussian 集合——静态集合是数字孪生本体,动态集合用稀疏 control points + MLP 建模其时变变换。是数字孪生 SLAM 范式里"static-field-as-twin" 最干净的工程实现。

与 DynaSLAM 这种"动态像素丢弃"的 1st-gen dynamic SLAM 相比, 4DGS-SLAM 既保留了静态孪生又显式建模动态实体——为下游 manipulation/avoidance 提供 ready-to-use 的动态前景模型。

动态集合的稀疏 control points + MLP 对快速、非刚体运动(行人步态) 表达仍粗糙;高速 AGV 场景下时间分辨率不足。

§40WildGS-SLAM · 单目 dynamic 3DGS-SLAM 的新 SOTA

WildGS-SLAM — Monocular Gaussian Splatting SLAM in Dynamic Environments
2025-04 · CVPR 2025 dyn-handling + front-end Zheng, Zhu, Bieri, Pollefeys, Peng, Armeni · Stanford GradientSpaces / ETH · arXiv:2504.03886 · code

痛点 (b)+(c):单目 + 动态环境是最难的组合——既没深度先验,动态像素又会污染 BA。

关键想法:在 DINOv2 feature 上训一个 uncertainty MLP,给每个像素打一个 "属于静态背景的可信度" 分数;tracking 和 mapping 都按此 mask 加权。WildGS-SLAM 的 ATE 在 MoCap benchmark 上 0.46 cm,对比 MonoGS 47.99 cm,Splat-SLAM 8.71 cm——一个数量级 的提升。

与 4DGS-SLAM 显式建模动态前景不同,WildGS-SLAM 干脆"算出每个像素 属于背景的概率"——纯单目下的新 SOTA,让"在普通相机上 deploy 数字 孪生 SLAM"变得现实。

单目精度受 DINOv2 特征质量限制;高速运动下 tracker 易丢——需配合 IMU / §50 MASt3R-Fusion 风格的多模态前端才能稳态部署。

§41DG-SLAM / DGS-SLAM · 动态感知的 RGB-D 3DGS-SLAM

DG-SLAM · DGS-SLAM — Robust Dynamic 3DGS SLAM with Motion-Mask Generation & Adaptive Gaussian Management
2024-11 dyn-handling + front-end · DG-SLAM · DGS-SLAM

痛点 (b):把 §27 章的"用 3DGS 当持久孪生"做成可在 RGB-D + dynamic 上稳定跑的 SLAM 系统。

关键想法:用 motion-mask 检测 + hybrid point-to-point / point-to-plane tracking,让静态 3DGS field 在动态 环境里持续 grow 而不被污染。静态 field 即是 §33 CL-Splats 后续要 accumulate 的孪生本体。

与 WildGS-SLAM 单目不同,DG-SLAM 是 RGB-D 工程化路径——精度更 稳,是 BIM-anchored 工业部署最容易接入的一支。

需要 RGB-D(depth 传感器);纯 RGB 部署性能下降。在 LiDAR-only 设置下退化为 §13 MS-Mapping 路线。

§42BIM-SLAM (Vega-Torres) · BIM 作为多 session SLAM 的 session-0

这一章的核心范式:数字孪生不一定是新扫的 3DGS,可能是建筑 设计阶段就有的 BIM/CAD。BIM 自带语义、自带 geometry、自带 单位,是工业现场最现成的孪生来源。

BIM-SLAM — Integrating BIM Models in Multi-Session SLAM for Lifelong Mapping using 3D LiDAR
2023-07 · 2024-08 (extended) init + fold-back Vega-Torres, Braun, Borrmann · TU München · arXiv:2408.15870

痛点 (a)+(d):施工 / 巡检场景的"先验地图"应该直接是 BIM,但 BIM 是 as-designed,现实是 as-built——两者不一致。

关键想法:把 BIM 合成成一份 "session-0" 的 pose graph + 描述子,让真实 LiDAR session 像普通 multi-session SLAM 那样锚定到它。再用 multi-session 优化让 as-built 的差异通过 新 session 的观测自然 fold 回 BIM——施工进度即是 fold-back 的天然 trigger。

把 BIM 从"被动比较参考"变成"主动 session 0",让 BIM-anchored SLAM 第一次直接套用 multi-session SLAM 的成熟工具链。

BIM 几何精度差使 session-0 描述子噪声大;BIM 中缺失的元素(临时 脚手架、新装设备)完全无法用——需 §46 BIM2RDT 的 IoT + agentic 框架补全缺失。

§43Hendrikx · 语义 BIM 按技能动态生成地图

Hendrikx-BIM — Connecting Semantic Building Information Models and Robotics
2021-09 · ICRA 2021 map-repr (BIM→skill view) Hendrikx, Pauwels, Torta, Bruyninckx, van de Molengraft · TU/e + KU Leuven · paper

痛点 (a)+(c):把 IFC-BIM 转成一份"通用的占据栅格"会损失语义;不同 robot skill 需要不同的地图。

关键想法:让 BIM 按 robot skill 动态生成"恰好够 用"的地图视图——导航用 traversability grid,对接用 ICP-friendly mesh,clean-up 用 semantic label map。BIM 是 single source of truth, 地图是 query-on-demand 的物化。

与 BIM-PoseNet 把 BIM 当"渲染数据生成器"不同,Hendrikx 把 BIM 当 "可任意 view 的真理来源"——更接近工业部署里 BIM 的实际角色。

只演示了 2D LiDAR;3D / camera modality 不支持——§45 BIM-Informed VSLAM 把这件事推到 RGB-D + BA factor 才补齐。

§44Speak Same Language · 无 pose 先验的 LiDAR→BIM 全局对齐

Speak Same Language — Global LiDAR Registration on BIM via Pose Hough Transform
2024-05 init (global LiDAR↔BIM) · arXiv:2405.03969

痛点 (a):在 BIM 里冷启动 6-DoF——传感器是 LiDAR 点云,地图是 IFC,描述子甚至不在同一空间。

关键想法:把"对齐"变成 6-DoF Hough 投票—— LiDAR 点云的每对几何特征,去 BIM 的特征空间投一票候选 transform。 投票最多的 transform 就是全局位姿。无需初始 guess、无需训练。

与基于特征匹配 + RANSAC 的传统点云对齐相比,Hough 投票天然 multi-modal,避免特征匹配在跨模态 (real LiDAR vs BIM mesh) 上的 脆弱性。

Hough 投票对场景规模二次复杂度;大型仓库($\gt 10000 \text{ m}^2$)下性能 受限——需要 Reloc3r-style learned 投票替代手工特征。

§45BIM-Informed Visual SLAM · 把 BIM 墙塞进 BA

BIM-Informed VSLAM — BIM Informed Visual SLAM for Construction Monitoring
2025-09 front-end (BA constraint) Bikandi, Fernández-Cortizas, Shaheer, Tourani, Voos, Sánchez-López · SnT Luxembourg · arXiv:2509.13972

痛点 (a):RGB-D SLAM 在大型空旷工地容易飘,BIM 的墙面是稳定的结构 prior 没用上太可惜。

关键想法:从 RGB-D 实时检测出平面,把它们与 BIM 的墙面 IFC entity 匹配,作为 factor 注入 SLAM 后端 factor graph。BA 同时优化轨迹和"对齐到 BIM",trajectory error 下降约 24%。

与 BIM-SLAM (Vega-Torres) 把 BIM 当 session-0 锚定不同,这里把 BIM 元素当成软约束 factor——更细粒度,与 ORB-SLAM3 式 BA 框架原生兼容。

仅利用 BIM 平面墙;曲面 / 复杂结构(管道、设备外壳)无对应约束 ——非建筑结构密集的场景退化为普通 RGB-D SLAM。

§46BIM2RDT · BIM + IoT + LLM 的 agentic 数字孪生

BIM2RDT — BIM to Robot-Ready Site Digital Twins (Agentic AI Framework with Semantic-Gravity ICP)
2025-09 likelihood + map-repr + agentic Akhavian, Amani, Mootz, Ashe, Beheshti · arXiv:2509.20705

痛点 (a)+(b)+(d) 全部:BIM 是 as-designed,传感器是 noisy real,IoT 提供活动 hint——这三个源得在 runtime 实时融合。

关键想法:把 BIM 几何、IoT 活动流、机器人 LiDAR / 视觉一起喂给一个agentic LLM,由 LLM 推理出 "哪些 BIM 元素 最可能仍然有效" 并驱动一种 Semantic-Gravity ICP—— 点云对齐时不再"几何最近邻",而是受语义先验"加重力"指引。

与传统 BIM-SLAM 把 BIM 当被动 prior 不同,BIM2RDT 把 BIM 当成 agent 决策的初始状态,并把 IoT 实时数据作为更新源——是当前最 接近 "runtime BIM-anchored autonomy" 的工作。

重度依赖 LLM 推理时延,runtime 性能未公开;IoT 数据可用性是强 假设——非数字化车间(无 IoT 部署)退化为 §45 那一支。

§47DUSt3R · 一次前向出共享坐标系的稠密 pointmap

这一章是 2024–2026 整个领域被搅动最深的一支。 3D foundation model 让 "drop a scan, get the 6DoF" 第一次成为 现实——而且不需要 per-scene 训练,不需要相机内参,不需要 初始 pose。它正在悄悄重写 Part 3 / Part 4 两部 SCR 和 NeRF/3DGS-loc 的 许多假设

DUSt3R — Geometric 3D Vision Made Easy
2023-12 · CVPR 2024 front-end + map-repr Wang, Leroy, Cabon, Chidlovskii, Revaud · Naver Labs Europe · arXiv:2312.14132 · code

痛点 (a):传统 calibration + SfM + dense MVS 流水线脆弱、慢;想要"两张图扔进去出 3D"。

关键想法:一个 transformer,输入任意两张图, 同时输出两张图各自在共享坐标系下的稠密 pointmap。 Calibration、对应、对齐被一次前向收敛——没有显式 keypoint matching、 没有 essential matrix。

把"3D 几何视觉"从一长串脆弱的几何步骤,浓缩成一次前向。后面所有 MASt3R / VGGT / Pi$^3$ / CUT3R 都是它的迭代。

仅两视图;全场景需后续 global alignment 步骤——§52 VGGT 在 multi-view 上彻底替代了这一限制。

§48MASt3R · 加上稠密 local feature 头

MASt3R — Grounding Image Matching in 3D with MASt3R
2024-06 · ECCV 2024 front-end + likelihood Leroy, Cabon, Revaud · Naver Labs Europe · arXiv:2406.09756 · code

痛点 (a):DUSt3R 给稠密 pointmap,但工业重定位还需要可匹配的稀疏特征。

关键想法:在 DUSt3R 基础上加一个稠密 local feature 头和 fast reciprocal matching——一次前向同时给出度量 3D 和稳健 matching,赢下了 2024 年 Map-Free Visual Relocalization 挑战赛。

DUSt3R 是"几何代数 + dense";MASt3R 是"几何代数 + dense + matching" ——后面 MASt3R-SLAM / MASt3R-Fusion / Reloc3r 都是它的下游应用。

度量但只 up-to-scale;缺 IMU/GNSS 时绝对尺度不固定——是 §50 MASt3R-Fusion 接入 IMU+GNSS 才修了的痛。

§49MASt3R-SLAM · 实时 SLAM 也走 foundation model

MASt3R-SLAM — Real-Time Dense SLAM with 3D Reconstruction Priors
2024-12 · CVPR 2025 front-end Murai, Dexheimer, Davison · Imperial Dyson Robotics · arXiv:2412.12392 · code · project

痛点 (a):foundation model 是离线工具——能不能直接当 SLAM 前端?

关键想法:把 MASt3R 作为两视图 3D prior,在 SLAM pipeline 里实时调用:描述子 retrieval 触发回环、相邻帧对的 pointmap 直接喂二阶全局优化。单 GPU 15 FPS、不需要固定相机模型。

与传统 ORB-SLAM3 / DROID-SLAM 这种"逐帧几何"的前端不同, MASt3R-SLAM 的前端本身就是 foundation model—— SLAM 前端第一次 从手工几何切到 learned 3D prior。

尺度 up-to-scale;长时间运行仍会缓慢漂移——§50 MASt3R-Fusion 加 IMU/GNSS 才解决。

§50MASt3R-Fusion · 加 IMU/GNSS 进入度量、无漂移 SLAM

MASt3R-Fusion — Foundation-Model-Driven SLAM with IMU + GNSS Fusion
2025-09 front-end (metric + drift-free) GREAT-WHU group · arXiv:2509.20757 · code

痛点 (a):MASt3R-SLAM 是 metric-up-to-scale;工业部署需要真实尺度 + 无漂移。

关键想法:在 MASt3R 的视觉前端外接 IMU 和 GNSS, 用分层 Sim(3) / SE(3) 因子图融合,重度依赖回环。 第一个 metric-scale、drift-free、跑在 foundation model 上的 SLAM 系统——"室外厂区 / 堆场" 的关键 enabler。

与 MASt3R-SLAM 相比,加了 IMU+GNSS 后从 "up-to-scale 单目视觉" 跨到 "真实尺度无漂移"。直接对接室外大场景 BIM-anchored 系统。

GNSS-denied 室内回退到 visual-only,回退后性能未公开量化;IMU bias 校准对开机静止假设敏感——工业 hot-swap 部署仍要工程化封装。

§51Reloc3r · 用 foundation model 直接回归相对位姿

Reloc3r — Large-Scale Training of Relative Camera Pose Regression for Generalizable Visual Localization
2024-12 · CVPR 2025 init + likelihood (scene-agnostic) Dong, Wang, Liu, Cai, Fan, Kannala, Yang · arXiv:2412.08376 · code

痛点 (a):iNeRF / 6DGS / GSplatLoc 这些方法都依赖一份预训练的 NeRF/3DGS;能不能对任何新场景都直接重定位,无需训练?

关键想法:用 8M posed image pair 训一个 DUSt3R 风 的相对位姿回归头,加最简 motion-averaging 给绝对位姿。 25 ms 推理、对 MegaDepth-1500 零样本 81% $\text{AUC}@20^{\circ}$。

与所有"先训地图再 deploy"的重定位方法相反——Reloc3r 让"地图就是 一组带 pose 的图"成为可能,凭借 foundation model 跨场景泛化。 这是数字孪生 SLAM 范式上一个值得警觉的范式转移。

仅相对位姿;密集 multi-view 全局约束尚未集成——大规模 warehouse 部署仍需配合 §52 VGGT 风格的全场景 SfM。

§52VGGT · 一个前向出 cameras + depth + pointmaps + tracks

VGGT — Visual Geometry Grounded Transformer
2025-03 · CVPR 2025 Best Paper front-end + map-repr Wang, Chen, Karaev, Vedaldi, Rupprecht, Novotny · Oxford VGG + Meta · arXiv:2503.11651 · project

痛点 (a):DUSt3R 是两视图、MASt3R 是稠密两视图——大场景需要 100+ 视图同时对齐。

关键想法:单一前向 transformer,输入 1 到几百张 图,同时输出相机参数、稠密深度、稠密 pointmap、跨视图 3D tracks,1 秒内完成。是 2024 DUSt3R 系列向 "scene-scale 一次 前向" 的总结性工作。

DUSt3R 解决两视图,VGGT 解决多视图——把"对一个场景的全部 SfM" 从分钟级算法链压成秒级前向,是数字孪生建立阶段 的关键基础。

视图数 $\le$ 数百;流式部署 (一辈子持续输入) 不行——§53 CUT3R 系列 把这件事推进 streaming 范式。

§53CUT3R / $\pi^3$ / Fast3R · 流式、置换等变、超大规模

CUT3R · $\pi^3$ · Fast3R · MUSt3R — Continuous / Permutation-Equivariant / Scaled-up Variants of the DUSt3R Family
2025-01 · 2025-07 · 2025-01 · 2025-03 front-end (streaming / scale / equivariant) · CUT3R · $\pi^3$ · Fast3R · MUSt3R

痛点 (a)+(c):online 流式输入、不固定参考帧、大规模都是 DUSt3R/MASt3R/VGGT 还没完全解决的工程问题。

关键想法:CUT3R 把状态持续地维护起来,每来 一帧增量更新一个 persistent 3D state;$\pi^3$ 让模型对输入顺序置换 等变,没有"参考帧"概念;Fast3R 在 A100 上 251 FPS 处理 1000+ 张图;MUSt3R 在 DUSt3R 之上加多层 memory,输出全局坐标。

这四篇是 DUSt3R lineage 不同方向的横向扩展——下一个 SLAM 前端 架构原型很可能就来自这里。

仍是研究原型,未在终身 SLAM 闭环(含 fold-back)中端到端验证—— 把它们嫁接到 §33 CL-Splats 上是 2026 最值得做的工程。

§54仍然没解决的问题

整本 survey 走完后,下面这几个 gap 是当下(2026 年 5 月)一篇好的 PhD thesis 可以瞄准的方向:

  • 统一的"重定位 + 终身更新 + 动态处理"系统。 当前最接近的组合是 WildGS-SLAM + CL-Splats 或 BIM2RDT + Khronos, 但没有一篇论文把三件事同时端到端做好。
  • 真正 warehouse-scale 的 foundation-model 重定位。 Reloc3r / MASt3R-Fusion 在房间 / 街道级很好,但还没有公开 demo 证明 能在 $5000 \text{ m}^2$ 仓库的全场景下稳定 deploy。"放一份 3DGS twin + 一个 Reloc3r 模型,机器人秒级 6-DoF" 是 2026 最该出现的 paper。
  • BIM-as-3DGS 的标准化。BIM2RDT 已展示 "BIM + 实测 + LLM",但 "把 BIM 自动渲染成同等精度的 3DGS twin" 这个 pipeline 还没有公认基础工作——这是建筑机器人量产的关键中间件。
  • "折回阈值"的工程学。POCD 给出 Bayesian formulation,但 N 和 T 在实际工厂的合理值取决于流水线节拍、班次、季节 ——还没有跨行业的 benchmark。
  • 跨传感器孪生。GS-EVT 证明 RGB-3DGS + event camera 可以工作,但 LiDAR + 雷达 + IMU + camera 在同一份 twin 上的多模态 重定位还很零散。
  • 2025-2026 的 lifelong-SLAM survey。整个领域上一次 被系统综述是 Sousa et al. JFR 2023——三年内 3DGS / foundation model 完全改写了游戏规则,需要一篇新综述。
总结一句话

"数字孪生 SLAM" 的故事可以浓缩成两件事: (a) 把先验地图做厚到能解释绝大多数观测 (TLS → BIM → 3DGS → foundation model 内化的 prior), (b) 把剩下的不一致管成可治理的 delta 流 (transient ignore / temporary track / permanent fold-back)。 所有 §6§53 的论文都是在 (a) (b) 的某个角落"上一颗螺丝"—— 每张卡片的 role 标签就告诉你那颗螺丝拧的是 §3 管道 伪代码里的哪一行。

§A名词表 · Glossary

术语解释
数字孪生 (Digital Twin)对一个物理空间的高精度、可持久的 3D 表示——可以是 mesh / 点云 / BIM / 3DGS field。本文中特指 SLAM 的先验
先验地图 (Prior Map)SLAM 之外、提前建好的地图。在工业场景下数字孪生即是先验地图,但反之不必然。
重定位 (Relocalization)给定先验地图和一帧观测,估计 6-DoF 位姿。包括冷启动(无 pose prior)和跟踪(有 pose prior)。
BIM (Building Information Model)建筑设计 / 施工阶段的语义化 3D 模型,IFC / Revit 格式。as-designed,可能与 as-built 不一致。
TSDF (Truncated Signed Distance Field)用截断符号距离场表达 surface 的体素表示。KinectFusion / Voxblox / Panoptic Multi-TSDF 的核心数据结构。
NeRF用 MLP 表达 5D radiance field 的隐式场景表示,可微渲染。
3DGS (3D Gaussian Splatting)用一堆带 SH 系数的椭球高斯表达场景,splatting 渲染。比 NeRF 快 $100\times$,是当下的主流可微稠密表示。
MCL / AMCLMonte Carlo Localization + adaptive 粒子数版本。ROS 里 amcl 包就是它。
SCR (Scene Coordinate Regression)用神经网络对每个像素回归 3D 世界坐标,再做 PnP 重定位。DSAC / ACE / R-SCoRe lineage。
APR (Absolute Pose Regression)用神经网络直接回归 6-DoF 绝对位姿。PoseNet / Marepo lineage。
PointmapDUSt3R 系列的核心输出:把每个像素映射到一个 3D 点的稠密 $H \times W \times 3$ 张量。
Lifelong / Long-term mapping跨天 / 周 / 月 / 年维护一份持续有效的地图。痛点 (d)。
Change detection检测先验地图与当前观测的不一致,并将其分类(噪声 / 临时 / 永久)。
Fold-back本 survey 自定义术语——把累计到一定频率/天数的 delta,编辑回数字孪生本体的动作。
Static field4DGS-SLAM / Dynamic 3D Gaussians 等系统里的"持久背景 Gaussian 集合",即可被 fold-back 的孪生本体。
4D scene graph带时间维度的 scene graph——每个实体在每个时刻的状态都可被查询。Khronos / DAAAM 提出的核心数据结构。
role 标签本 survey 自定义——每张 paper card 上的小 tag,标明该方法改进的是 §3 管道伪代码里的哪一步(init / likelihood / map-repr / change-detect / fold-back / front-end / dyn-handling / query-layer)。

§B推荐阅读顺序

不是按年份,是按教学价值。零基础进入这领域的人应该按下面这个顺序 读 8 篇原文:

  1. Fox & Burgard 1999 (MCL) + Fox 2001 (KLD-MCL) — 整本 survey 数学的源头,理解一次粒子滤波就理解了 80%。
  2. Cadena et al. 2016 "Past, Present, Future of SLAM" — 经典 SLAM 综述。让你知道我们绕开了什么、保留了什么。
  3. Tipaldi 2013 "Lifelong Localization" — Lifelong SLAM 的祖师爷一篇,明白 §4 痛点 (d) 在十年前就被定义了。
  4. iNeRF (Yen-Chen 2020) — 理解"渲染 = 似然 = 可微定位"这个范式转移。
  5. ACE (Brachmann 2023) — SCR 这条路的工程化里程碑,5 分钟训一个场景。
  6. Khronos (Schmid 2024) — 整本 survey 里 Part 5 的高峰,全方位看 "怎样把时间维度纳入 SLAM"。
  7. MASt3R + MASt3R-SLAM (2024–2025) — 3D foundation model 的范式革命,理解 Part 8 为什么颠覆性。
  8. CL-Splats (2025) — version-controlled 3DGS,Part 5 lineage 的当代落点,让你明白"git for the physical world"是认真的。

Made for learning. 完整 BibTeX、勘误、补遗欢迎以 issue 形式反馈。 最后更新 2026-05-19。

本站所有内容基于公开发表论文 / arXiv preprint / 项目页 / 官方代码仓。 交互演示是 Canvas2D 的教学玩具,数值不代表论文实际性能。 Mustard tag 标记的 2025–2026 frontier 论文为时间敏感引用—— deploy 前请自行核实当前最新版本。