π³: 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-attention 和 global 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"

浙公网安备 33010602011771号