Dynamic 3D Gaussians 精读
1. 为什么普通 3DGS 不能直接当 tracker
逐帧独立优化 3DGS 可以重建动态视频,但 densification、splitting 和 pruning 会不断改变 Gaussian 集合;即使每帧图像都好看,也无法知道某个 Gaussian 在下一帧对应谁。Dynamic 3D Gaussians 的首要设计是 persistence:颜色、opacity、scale 固定,Gaussian identity 跨时间保留,仅位置和 orientation 变化。
这让 tracking 成为 representation 的副产品,而不是额外训练的光流 head。一个 Gaussian 的 (xt,qt) 随时间构成 6DoF trajectory;局部邻域整体变化可表示非刚体运动。
2. 时序优化
首帧用同步深度相机点云初始化,并按普通 3DGS 优化。后续时间步:
- 用前两帧位置/四元数速度外推当前初值;
- 重置 Adam momentum;
- 从 27 个训练相机渲染并最小化 RGB/背景损失;
- 加入 local rigidity、rotation similarity、isometry 正则;
- 固定颜色、透明度与尺度,防止优化通过“改外观”逃避错误运动。
局部 rigidity 不是把整个人当刚体,而是让邻近 Gaussians 在短时间内保持相对结构。来源:原论文 Figure 2–4;版权归原作者及 3DV 2024 出版方所有,本站仅作学术解读。
3. PanopticSports 评测
作者从 Panoptic Studio 选六段 150 帧/30 FPS 运动,31 个相机中 27 训练、4 测试;使用 21 条手/脸 3D keypoint trajectories 和 371 条投影 2D tracks 评估。这个 benchmark 规模不大,但同时给出 metric 3D tracking 与 held-out view rendering。
平均结果:
- view synthesis:28.7 PSNR / 0.91 SSIM / 0.17 LPIPS
- 3D tracking:2.21 cm MTE / 71.4 accuracy / 100% survival
- 2D tracking:1.57 px MTE / 78.4 accuracy / 100% survival
PIPs 的 2D MTE 为 15.7 px、survival 79%。但比较并不完全公平:Dynamic 3DGS 看 27 个同步相机,PIPs 只看待跟踪单目视频;论文也明确承认这一点。
与 3GS-O 的差距主要在 tracking 而非渲染;持久身份和运动正则是核心变量。来源:原论文 Table 1–2;版权归原作者及 3DV 2024 出版方所有,本站仅作学术解读。
4. 消融说明
Juggle 场景完整模型 3D MTE 1.90 cm;去 background loss 为 8.46,去 parameter fixing 为 30.7,去 forward propagation 为 6.32,普通 3GS-O 为 32.81。说明“参数持久 + 前向初值”比某个单一局部正则更关键。去 rigidity 后 MTE 4.32,也表明邻域几何约束不可缺。
表中同时观察 rendering 与 tracking:某些消融的 PSNR 变化小,却让 trajectory error 成倍上升。来源:原论文 Table 3、Figure 5–6;版权归原作者及 3DV 2024 出版方所有,本站仅作学术解读。
5. 计算与局限
- 首帧约 10k iterations,后续每帧约 2k iterations/50 秒;150 帧总计约两小时。
- 需要同步、标定的密集多相机和初始深度点云,不适用于普通单目视频。
- 只能追踪首帧已见元素,新物体进入场景无法自动新增为持久 identity。
- 灰衣服与灰背景等低对比区域会发生 foreground/background 混淆。
- 只有 21 条 3D 真值轨迹,尚不足以覆盖所有稠密 Gaussian 的误差。
6. 我的判断
这篇工作的历史价值是把 3DGS 从“快速渲染 primitive”变成“带身份的动态状态 primitive”。对物体 pose 社区,它提供了另一种视角:不是先分割刚体再给每个物体一个 pose,而是先跟踪稠密局部 6DoF,再按需要聚合成刚体/部件。代价是数据和优化极重,离在线单目 tracking 仍有很大距离。