π³: Permutation-Equivariant Visual Geometry Learning

把“多视图 3D 重建”从“选一个参考帧来定义世界”改成“不给任何帧特权、每帧只预测自己的局部几何和相对相机”,从而做成一个真正对输入顺序不敏感的 feed-forward 几何模型。

1. 在反对什么

作者批评的是现有很多方法都默认:

  • 先选一张参考图;
  • 把整套 3D 结果都定义在这张图的坐标系里;
  • 其他视图都“相对它”来预测。
    这个做法的问题是:参考帧是一个很强的人为偏置。如果参考帧视角差、遮挡重、纹理弱,结果会明显变差;作者还专门展示了 VGGT 这类方法对参考帧选择比较敏感。
    所以 π³ 的第一句话可以概括成:

不要再问“哪一帧当世界原点”,而要让模型自己学一个不依赖参考帧的几何表示。

2. 它输出什么

给定一组图像\(S=(I_1,\dots,I_N)\),网络输出每张图各自对应的三样东西:

\(T_i\):相机位姿
\(X_i\):该图的 pixel-aligned 3D point map
\(C_i\):该 point map 的 confidence map。

关键点在于:point map 不是世界坐标系下的

论文明确说\(X_i\)是定义在 第 (i) 张图自己的相机坐标系 里的。也就是每张图只负责回答:

“以我自己为原点,这个像素对应的 3D 点在哪里?”

这和 VGGT 很不一样。VGGT 是把 point map 定义到第一帧坐标系;π³ 则彻底放弃这个全局参考帧。

3. “Permutation-equivariant” 到底是什么意思

这是这篇最重要的数学性质:
\(\phi(P_\pi(S)) = P_\pi(\phi(S))\)
意思是,如果你把输入图像顺序打乱,输出也只会跟着同样打乱,而不会改变内容本身。
直观讲:

  • 输入 [A, B, C],输出 [A的pose, B的pose, C的pose]
  • 输入改成 [C, A, B],输出就变成 [C的pose, A的pose, B的pose]
    但每张图自己的预测不该因为“它排第几”而变掉。
    这件事的意义很大,因为它让模型:
  • 不依赖输入顺序;
  • 不依赖参考帧;
  • 更适合无序图像集合,不只适合视频。

4. 它怎么做到不依赖参考帧

实现上,作者做了两件很关键的事。

第一,不用任何“帧编号偏置”

他们显式去掉了所有依赖输入顺序的组件,比如:

  • 用来区分第几帧的 positional embeddings;
  • 像 VGGT 那样专门标记参考视图的 learnable token。

第二,仍然用多视图 attention,但不给任何帧特权

输入先经过 DINOv2 提成 patch tokens,再经过交替的 view-wise self-attentionglobal self-attention,最后由 decoder 输出结果。
所以它不是不用跨视图信息,而是:

跨视图信息照样融合,但融合方式不建立在“先选一个老大视图”上。

5. 它的几何表述为什么叫“scale-invariant local geometry”

因为每张图自己的 point map 是在本地相机系下预测的,而单目几何天然有尺度歧义。论文的做法是:

  • 让网络输出每张图的局部 point map;
  • 这些 point map 在同一场景内共享一个未知但一致的全局尺度;
  • 训练时再求一个最优尺度因子 (s^*) 去和 GT 对齐。
    这相当于说:

模型不直接承诺“绝对米制尺度”,而是先把形状跨图一致的相对尺度学对。

然后 point map loss 就是在这个最优尺度下算的,外加一个 normal loss 来鼓励局部表面平滑,还会训练 confidence map。

6. 相机为什么叫“affine-invariant camera pose”

因为既然没有固定全局参考系,网络输出的整组相机位姿天然只在一个相似变换自由度下可辨识:整体平移、整体旋转、整体尺度都可以一起变,而不影响图像解释。论文因此不直接监督“绝对全局位姿”,而是监督视图之间的相对位姿
具体做法是:
\(\hat T_{i \leftarrow j} = \hat T_i^{-1}\hat T_j\)
然后对所有视图对监督相对旋转和相对平移;相对平移的尺度仍用前面 point map 对齐得到的同一个 (s^*) 来校正。
所以你可以把它理解成:

几何监督的核心单位不再是“相对参考帧”,而是“任意两帧之间的关系”。

7. 和 VGGT 的关系怎么理解

最简单的理解是:

VGGT

  • 仍然有“第一帧/参考帧”的思想;
  • 预测很多 3D 量,能力很强;
  • 但带着 reference-view bias。

π³

  • 保留了“大 transformer + 多视图 attention”的路线;
  • 但把“参考帧坐标系”整个拿掉;
  • 改成每帧本地 point map + 相对 pose supervision。
    所以它不是“另起炉灶”,而更像是:

对 VGGT 这条路线的一次问题重定义:保留 backbone 思想,去掉 reference-frame inductive bias。

论文附录里甚至提到,最终模型不是完全从零训练,而是用预训练 VGGT 的 encoder 和 alternating attention 初始化,并冻结 encoder。

8. 为什么这个想法是“对的”

作者给出的证据主要有三类。

一是鲁棒性更好

它对输入顺序和参考帧变化更稳定,性能波动更小。

二是精度也更高

比如在 Sintel 上,论文报告相机 pose 的 ATE 从 VGGT 的 0.167 降到 0.074,视频深度的 Abs Rel 从 0.299 降到 0.233。

三是速度还快

论文报告其推理速度为 57.4 FPS,高于 VGGT 的 43.2 FPS,也远快于 DUSt3R 的 1.25 FPS。
所以它的结论不是只有“更优雅”,而是:

去掉 reference bias 不只是更干净,还是更稳、更准、更快。

9. 这个方法的直觉图景

你可以把 π³ 想成这样一个系统:

  • 每张图先独立形成自己的局部几何解释;
  • transformer 负责在多图之间交换信息;
  • 但交换完以后,输出仍然是“每张图自己的局部 3D”和“图与图之间的相机关系”;
  • 不再强迫所有东西投到某一个指定世界坐标系下。
    所以它更像是一个 reference-free, set-based visual geometry model

10. 一句话总结

这篇方法最该这样理解:

它不是在传统“选参考帧再重建”的框架里做小修小补,而是把问题改写成“对任意无序视图集合,预测每帧本地 point map 和两两相对相机关系”,并用 permutation-equivariant 架构保证输入重排不会改变几何结果。

[ref] https://arxiv.org/pdf/2507.13347 "\(\pi^3\): Permutation-Equivariant Visual Geometry Learning"

posted @ 2026-03-22 20:49  asandstar  阅读(4)  评论(0)    收藏  举报