← 返回 2026-04-16

Free Geometry:借助更长序列自身精炼三维重建 Free Geometry: Refining 3D Reconstruction from Longer Versions of Itself

Yuhang Dai, Xingyi Yang 📅 2026-04-15 👍 16 2026-07-13 08:36
LoRA 三维重建 多视角几何 测试时自适应 特征一致性 自监督蒸馏

用全视角特征指导部分视角,通过LoRA实现多视角3D重建的测试时自进化。

前置知识

前馈式多视角三维重建(Feed-Forward Multi-View 3D Reconstruction)

VGGT、DA3、DUSt3R 等基于 Transformer 的一次性前向模型,直接从 N 张图像回归相机位姿、深度图与点图。推理极快但 train-then-freeze 不可调整。

Free Geo 整套方案建立在'前馈模型冻结'前提上,理解这一点才能明白为什么要在 encoder 特征层做监督。

测试时自适应(Test-Time Adaptation, TTA)

在部署阶段用测试数据本身(不访问训练集、不依赖标注)对预训练模型做轻量调整的范式,代表方法有 TENT、TTT、Test3R 等,硬约束是开销必须小。

本文属于 TTA 在 3D 视觉的延伸,理解其'无标签、有限算力、单次部署'的约束,才能体会'<2 分钟、<0.2% 参数'的关键性。

LoRA(Low-Rank Adaptation)

参数高效微调方法,在冻结权重旁注入低秩矩阵 $A$、$B$,$r \ll d$。本文 LoRA 插在多视角 Transformer attention 上,$r=32$、$\alpha=32$。

Free Geo 能在单卡 2 分钟内完成每个数据集的'再校准',核心是只更新 LoRA 不破坏预训练知识,保证数值稳定与可重复部署。

教师-学生自监督蒸馏与特征一致性损失

把 teacher 模型的中间特征或软标签迁移给 student,常用 L2、Huber、cosine 对齐师生向量。本文用 $\mathcal{L}_\text{intra}=\text{Huber}+(1-\cos)$。

Free Geo 把蒸馏从'大模型→小模型'改造为'完整观测→掩码观测',full-view 因全局 attention 在架构上严格强于 partial-view。

关系型知识蒸馏(Relational Knowledge Distillation, RKD)

不要求逐样本特征对齐,而迁移样本间结构关系(距离、夹角)。Free Geo 用 $p$、$k_j$、$q$ 三个 patch token 在特征空间构成虚拟三角形 $\Phi \in \mathbb{R}^3$。

只用 intra-frame 对齐会丢失空间结构;关系型 loss 把'被掩码帧'在 teacher 中的结构信息注入 student,这是恢复遮挡/反射区域几何的关键。

研究动机

近年来 DUSt3R、VGGT、Depth Anything 3 (DA3) 等前馈式多视角三维重建模型把'几张图到 3D 场景'做到了毫秒级实时,在零样本任务上表现惊人。但它们普遍遵循 train-then-freeze 范式:训练完成后参数全部冻结,推理时无法对当前测试场景做任何调整。这种刚性导致在遮挡、镜面反射、低纹理、重复结构等歧义场景下,重建结果虽然看起来视觉上合理,几何上却存在系统性偏差(位姿漂移、深度错位、表面噪声)。最直接的应对思路是扩充训练数据规模,但高质量 3D 真值(激光扫描、RGB-D 对齐、相机标定)的采集成本极高、跨域不可复用,这使得直接重训变得不现实。Table 1 的统计可以量化这种代价:在 ETH3D 上,8 视角 VGGT 的 AUC@3 为 0.445 而 4 视角骤降到 0.318;在 7-Scenes 上从 0.315 跌到 0.254;在 HiRoom 上 F1 从 0.787 跌到 0.561——损失高达 30%-50%。也就是说,'多给点视角'这件事本身就能带来 30% 量级的提升,这本应是模型天然具备的能力,但冻结模型完全没法利用它。

本文的目标是本文的具体目标是:在不依赖任何 3D 真值、不重新训练整个模型的前提下,让前馈式三维重建模型在测试时具备'自我进化'能力,即根据当前测试序列的几何特征做一次轻量再校准,使其在冻结基线的基础上同时提升相机位姿精度和点云重建质量。作者希望这种再校准满足三个硬指标:(1) 时间开销 < 2 分钟/数据集、单卡可完成;(2) 额外参数 < 0.2% 总参,不破坏预训练知识;(3) 一次适配能跨视角数泛化——只在 8→4 训练但对 4/8/16/32 视角推理都有效。

与已有工作不同的是,已有 TTA 方法虽然能在 2D 分类/分割上工作,但在 3D 重建上存在两类根本性短板:其一,基于熵、旋转预测、对比学习等'弱自监督信号'的方法与重建任务目标松耦合,优化方向未必和几何误差一致;其二,3D 域的 Test3R 用输出层对称一致性约束,但当一对图像重建好、另一对差时,对称 loss 会把它们拉向平均(回归均值),反而拖累好结果。Free Geometry 的独特切入角度正是论文核心观察——'视角越多,重建越好'(Longer is Better):完整观测因享有全局跨视角 attention 而在架构上严格优于掩码观测,因此可以用'full-view 特征当 teacher、partial-view 特征当 student'的方式建立一种架构保证的、由强到弱的不对称监督信号,并在 encoder 特征层(而非 decoder 输出)施加蒸馏,从而在<2 分钟内完成一次 scene-specific 的几何再校准。

核心方法

Free Geometry 的整体思路可以拆成'一个观察 + 一个框架 + 两个损失'。一个观察是:在前馈式多视角重建模型里,给同一组图像的子集(partial view)与全集(full view),full-view 预测因为享有更多跨视角 attention 而更准。Table 1 与 Fig. 2 用数字与可视化双重验证了这一点。基于这个观察,作者构建了一个 teacher-student 自蒸馏框架:teacher 分支是冻结的原始 backbone,处理全部 N 帧(例如 8 视角),产出 $F_\text{full}$;student 分支是同一 backbone 但在多视角 Transformer 上加了 LoRA 适配器,处理 $M$ 帧(例如掩码一半得 4 视角),产出 $F_\text{partial}$。两个分支共同抽出 encoder 输出端的 token 表征 $(B \times N \times (P+1) \times C)$ 和 $(B \times M \times (P+1) \times C)$,其中 $t=0$ 是 camera token。在测试时,只更新 student 分支的 LoRA 参数与 camera token(不到 0.2% 参),用一个双层特征一致性目标把 student 拉向 teacher。整套流程在单卡 RTX Pro 6000 上每数据集约 2 分钟,5 个 epoch 收敛,FP16 混合精度,AdamW + cosine LR schedule + 15% warmup。

本文的核心创新是把'长序列更好'从一个经验观察变成一条可学习的不对称监督信号,具体由三点本质区别于已有 TTA:第一,监督方向是严格单向的(teacher 必须强于 student),这在 Test3R 那种对称一致性里并不存在,从而避免'回归均值'的退化;第二,蒸馏发生在 encoder 特征层,而不是 decoder 输出层,理由是 DA3/VGGT 的 decoder 是逐帧独立的,跨视角信息融合只发生在 encoder 的多视角 Transformer 块里——因此误差的根源在 encoder 特征,直接优化它最快、最直接;第三,损失函数被设计成'intra-frame 模长/方向对齐'与'cross-frame 关系结构对齐'两层互补,既防止特征坍缩到 trivial solution,又把被掩码帧的几何上下文迁移到 student 的表征空间,这是首次在 TTA 中引入关系型自监督的工作。

方法步骤详情

方法可分六步执行。第一步是数据构造:给定测试序列 $\{I_1, ..., I_N\}$,选偶数下标帧作为未掩码子集(共 $M$ 帧)构成 student 输入,全部 $N$ 帧送入 teacher。掩码规则保持参考帧一致,保证两个分支在相同 token 位置上可对齐。第二步是教师分支:全 $N$ 帧经冻结的图像 patch embedder(如 DINOv2)、多视角 Transformer、随机初始化 camera token,产出 $F_\text{full} \in \mathbb{R}^{B \times N \times (P+1) \times C}$,其中 $t=0$ 是 camera token,所有权重都不更新。第三步是学生分支:同样的 backbone,但在多视角 Transformer 的 attention 权重上插入 LoRA(秩 $r=32$、$\alpha=32$),camera token 改为可学习,处理 $M$ 帧得到 $F_\text{partial}$。第四步是 Intra-frame Consistency Loss:对每个未掩码帧 $b,s$ 在相同空间位置 $t$ 的 token 对 $(f^\text{full}_{b,s,t}, f^\text{partial}_{b,s,t})$,计算 $\mathcal{L}_\text{intra} = \text{Huber}(f^\text{full} - f^\text{partial}) + (1 - \cos(f^\text{full}, f^\text{partial}))$。Huber 提供鲁棒的模长对齐,cosine 提供方向对齐,联合避免 student 特征陷入平凡解。第五步是 Cross-frame Relational Loss:从 student 一个未掩码参考帧随机抽 $P=256$ 个 patch token $p$,在 teacher 的对应位置得到 $p'$;在 teacher 中所有掩码帧上按 cosine 极值(top-2 + bottom-2)选 $K=4$ 个 anchor token $k_j$ 作为'几何路标';再从 student 剩余未掩码帧随机抽 $Q=256$ 个 patch token $q$,对应得到 $q'$;用 $\Phi(p,k,q) \in \mathbb{R}^3$ 描述三个 token 在特征空间形成的虚拟三角形的三个内角,通过对 $\pi$ 温度 softmax 化后的有序对分布施加 KL 散度、并对 $\Phi$ 的差施加 L1 范数,联合约束 student 保持 teacher 的结构关系。第六步是优化与泛化:总损失 $\mathcal{L} = \mathcal{L}_\text{intra} + \mathcal{L}_\text{cross}$,AdamW 优化,权重衰减 $10^{-5}$,5 epoch,batch size 4,FP16。适配完成后,冻结的 LoRA 参数可以叠加到原模型,在 4/8/16/32 任意视角数下推理都不需要重训。

技术新颖性

技术新颖性可以归纳为三点。第一,把'更多视角=更好重建'从一个表格现象升级为一种'架构保证的、由强到弱的不对称自监督'——全局跨视角 attention 的单调性意味着 full-view 表征在理论上严格强于 partial-view 表征,这是 TTA 文献中少有的可证明监督信号;Test3R 等对称方法不具备这种理论保障,容易被'回归均值'问题拖累。第二,首次在 3D TTA 中引入 encoder 特征级的关系型自蒸馏(RKD 风格),通过掩码帧充当 anchor 把被忽略视角的几何上下文注入 student,补足了单纯 intra-frame 对齐会丢结构信息的缺陷;ablation 显示去掉 relational loss 后 ETH3D F1 从 0.2475 退到 0.2190,去掉 consistency loss 后 AUC@3 从 37.88 退到 35.87,两者协同贡献。第三,通用性与极低开销的结合是实际部署的关键卖点:8→4 训练后能在 4/8/16/32 视角同时拿到 +1.8% 到 +5.3% AUC@3 提升,平均 3.73% 相机位姿与 2.88% 点云提升,每数据集 2 分钟单卡完成、<0.2% 参更新,这是首个把'plug-and-play 自适应'做到前馈 3D 重建 SOTA 的工作。

Architecture of Free Geometry.
Fig. 3: Architecture of Free Geometry.
Self-Supervised Geometric Losses of Free Geometry.
Fig. 4: Self-Supervised Geometric Losses of Free Geometry.

实验结果

Free Geometry 在 ETH3D、7-Scenes、ScanNet++、HiRoom 四个数据集上,搭配 VGGT 与 Depth Anything 3 (DA3) 两个 SOTA backbone 全面验证,核心发现可分四层。第一层是主表 Table 2(3 个种子均值,4/8 视角):在低观测 $N=4$ 场景提升最大,VGGT 在 ETH3D 上 AUC@3 从 0.157 提升到 0.178(+13.4%)、F1 从 0.102 到 0.110;在 7-Scenes 上 AUC@3 从 0.238 到 0.241、F1 从 0.196 到 0.197;在 ScanNet++ 上 AUC@3 从 0.408 到 0.419、F1 从 0.171 到 0.174;在 HiRoom 上 AUC@3 从 0.421 到 0.441、F1 从 0.276 到 0.307(+11.2% F1)。DA3 在 4 视角上同样全面上涨:ETH3D AUC@3 0.286→0.305、7-Scenes 0.280→0.302、HiRoom 0.708→0.719、F1 0.557→0.578。在 $N=8$ 时,Free Geometry 继续稳定改进,HiRoom 上 DA3 F1 从 0.777 涨到 0.781,VGGT F1 从 0.502 涨到 0.528(+5.2%)。第二层是 Table 3 跨视角数相对提升(4 数据集平均):VGGT 在 4/8/16/32 视角分别获得 +5.33% / +2.19% / +3.93% / +3.73% AUC@3 与 +4.51% / +4.32% / +3.03% / +2.88% F1,Chamfer Distance 下降 3.5%-8.7%;DA3 同样全面正向(0.57% 到 2.89% AUC 提升、0.21% 到 2.85% F1 提升、0.35% 到 8.73% CD 下降)。值得注意的是虽然训练只用 8→4 设置,改进能泛化到 32 视角,证明学到的'内部几何表征'是 scene-specific 而不是 view-count-specific。第三层是 Table 4 损失消融:在 ETH3D 4 视角下,完整 Free Geo 取得 AUC@3 37.88、F1 0.2475、CD 3.5473;去掉 relational loss 后 F1 退到 0.2190(说明关系型约束对几何是必要的);去掉 consistency loss 后 AUC@3 退到 35.87(说明逐点对齐对位姿稳定是必要的),两者完全互补。第四层是 Table 5 encoder 特征距离:Free Geo 把 VGGT layer 23 的 MSE 从 0.9039 降到 0.8384、cosine 相似度从 0.8581 升到 0.8684;DA3 layer 39 的 MSE 从 45.9079 降到 42.8949、cosine 从 0.8605 升到 0.8679,定量证明 student 表征被'几何再校准'到更接近 teacher 的目标空间。

Long Sequence Provides Better Reconstruction Accuracy.
Table 1: Long Sequence Provides Better Reconstruction Accuracy.
Free Geometry 3D Reconstruction Comparison.
Table 2: Free Geometry 3D Reconstruction Comparison.
Free Geo cross-view relative improvements (%).
Table 3: Free Geo cross-view relative improvements (%).
Ablations for Loss Components.
Table 4: Ablations for Loss Components.
Feature Consistency Comparison.
Table 5: Feature Consistency Comparison.
Qualitative Results On Multi-view Depth.
Fig. 5: Qualitative Results On Multi-view Depth.
Qualitative Results on 3D Reconstruction.
Fig. 6: Qualitative Results on 3D Reconstruction.
查看结构化数据
任务指标本文基线提升
ETH3D 多视角重建(4 视角, VGGT backbone) AUC@3 / F1 / AUC@30 AUC@3 0.178, F1 0.110, AUC@30 提升 +4.73% 冻结 VGGT AUC@3 0.157, F1 0.102 AUC@3 +13.4% 相对提升, F1 +7.8% 相对提升
ETH3D 多视角重建(4 视角, DA3 backbone) AUC@3 / F1 AUC@3 0.305, F1 0.209 冻结 DA3 AUC@3 0.286, F1 0.207 AUC@3 +6.6% 相对提升, F1 +1.0% 相对提升
HiRoom 多视角重建(8 视角, VGGT backbone) AUC@3 / F1 AUC@3 0.537, F1 0.528 冻结 VGGT AUC@3 0.516, F1 0.502 AUC@3 +4.1% 相对提升, F1 +5.2% 相对提升
跨视角数泛化(4/8/16/32 视角, VGGT, 4 数据集平均) AUC@3 / F1 / CD 相对变化 AUC@3 +5.33% / +2.19% / +3.93% / +3.73%; F1 +4.51% / +4.32% / +3.03% / +2.88%; CD -8.15% / -3.53% / -5.35% / -4.34% 冻结 VGGT 在各视角下的零样本指标 所有 4 个视角数、3 个指标全部正向,平均位姿 +3.73%、F1 +2.88%、CD -5.34%
Encoder 特征对齐(ETH3D, VGGT layer 23) MSE / Cosine Similarity MSE 0.8384, Cosine 0.8684 冻结 VGGT MSE 0.9039, Cosine 0.8581 MSE -7.3% 相对下降, Cosine +1.2% 相对上升,证实特征级几何再校准
损失组件消融(ETH3D 4 视角, 完整 Free Geo) AUC@3 / F1 / CD 完整损失 AUC@3 37.88, F1 0.2475, CD 3.5473 去掉 relational loss F1 0.2190 / 去掉 consistency loss AUC@3 35.87 两个损失互补:缺 relational 时 F1 -11.5%,缺 consistency 时 AUC@3 -5.3%

局限与改进

作者在论文中明确或暗示的局限性可以归纳为四点。第一,论文只在 4 个数据集上验证,且都是室内/小型 RGB-D 场景(ETH3D 含室外但样本少),缺乏大规模室外街景、自动驾驶、航拍等极端尺度变化场景的实验,泛化边界尚未被充分刻画。第二,虽然 Table 1 与 Table 2 验证了 4/8 视角,但 Table 3 中 16/32 视角的提升主要来自 8→4 训练设置的'零成本迁移',作者并未提供'在 16→8 上训练'或'32→16 上训练'的对照,无法判断是否存在更优的视图配对策略;同时 32 视角时绝对提升仅 +3.73% AUC@3、+2.88% F1,远小于 4 视角的 +5.33% / +4.51%,说明'边际收益递减'但作者未给出解释为什么更长的 teacher 不一定带来更显著的改进。第三,Free Geometry 假设 full-view 总是比 partial-view 强(架构保证),但若测试序列本身存在严重运动模糊、剧烈光照变化或 rolling shutter,full-view teacher 也可能出错,此时 student 反而被错误信号拖累——这一失败模式论文未讨论。第四,relational loss 依赖在掩码帧中按 cosine 极值选 anchor(top-2 + bottom-2),这个设计在论文正文中没有充分的超参搜索或可视化解释,anchor 数量 $K=4$、patch 数 $P=Q=256$ 的选择是否最优尚未验证,可能对极端场景敏感。从独立观察看,论文也未报告与 Test3R 的直接对比数字,只是文字讨论了'对称 vs. 不对称'的区别,缺乏同条件下的实验验证。

独立分析的弱点

从方法与实验设计的角度独立分析,Free Geometry 仍存在以下可改进的弱点。第一,teacher 来自同一测试序列的 full-view 输入,意味着 teacher 和 student 在优化过程中共享输入域,当输入出现系统性偏差(例如相机标定错误、白平衡漂移)时,teacher 也会带着这些偏差去监督 student,缺乏对 teacher 自身鲁棒性的保护——改进方向是引入多序列 teacher(用一个 batch 内的其他序列做 cross-sample teacher)或对 teacher 表征加轻量去噪/异常值过滤。第二,LoRA 只插入在多视角 Transformer 的 attention 上,而 image patch embedder (DINOv2) 完全冻结,意味着每个单帧的底层特征没有针对当前场景做适配;在低纹理/反射等'单帧歧义'场景中,decoder 的输入依然存在底层歧义,改进方向是在 patch embedder 上也施加低秩适应(LoRA on ViT blocks)或对 patch 特征加一个 per-scene 轻量 affine 适配。第三,损失函数中 $\mathcal{L}_\text{intra}$ 的模长与方向项权重被设为相等(隐含 1:1),未做权重搜索;而 $\mathcal{L}_\text{intra}$ 与 $\mathcal{L}_\text{cross}$ 之间也未报告权重调优结果,可能不是最优配比,改进方向是引入可学习的不确定性加权(类似 Kendall 的 multi-task loss weighting)。第四,论文的训练样本规模、batch size 4、epoch 5 几乎是经验值,在 HiRoom 与 ScanNet++ 这种'基线已经很准'的数据集上,过度优化反而可能让 student 偏移 teacher 的稳定表征,缺乏 early stopping 或 validation-based 选择机制,改进方向是引入 teacher 表征的 EMA(指数移动平均)作为软监督目标,或监控测试集 N=4 视角上的小 batch 验证 loss。第五,论文报告 2 分钟/数据集 但没有报告 5 epoch 是否在所有数据集上都收敛,也没有报告 LoRA rank=32 是否对所有 backbone 都有必要——rank 32 已经是 LoRA 的较高档位,可能在小数据上有过拟合风险。

未来方向

作者在论文里点到的未来方向有:把'多视角更好'这一观察推广到'多模态更好'(如加入 IMU、LiDAR、深度传感器);把 Free Geometry 应用到其他前馈式几何任务(光流、点云配准、新视图合成)。基于方法本身还可以延伸出几个具体方向:第一,把 teacher 从'同序列 full-view'扩展为'测试场景的同类别其他序列的 full-view',做类似 Test3R 那种 cross-scene 一致性;第二,引入在线更新机制,让 LoRA 在推理时按 streaming 方式持续微调(目前是每序列一次);第三,关系型 anchor 选择可以做自适应——例如用图像显著性(Saliency)或 SfM 特征点(SIFT/SuperPoint)指导 anchor 选取,而不是固定 top-2/bottom-2 cosine;第四,把 Free Geometry 与 Test3R 风格的对称一致性结合,既保留 full-view 的不对称强度信号,又增加跨视角对的互信息;第五,探索在 patch embedder 上联合做 LoRA 的'两层'适配,缓解低纹理歧义;第六,把方法推广到视频序列(时序)输入,把'多视角'扩展为'多视角+多时间步',在动态场景下做 joint spatio-temporal 几何再校准;第七,理论层面,可以尝试用'全局 attention 单调性'的视角给出 free-view vs. partial-view 表征的严格误差界(error bound),把经验观察变成可证明结论。

复现评估

复现评估整体偏正面但有一定门槛。开源方面,作者在论文与 abstract 末尾明确给出代码仓库 https://github.com/hiteacherIamhumble/Free-Geometry,采用主流深度学习栈(PyTorch + HuggingFace Transformers),核心实现是 LoRA 注入(peft 库)+ 两个自定义 loss;数据集方面,4 个 benchmark 全部公开可下载:ETH3D 多视角 stereo 官网、7-Scenes Microsoft 公开数据集、ScanNet++ 官方、HiROOM 来自 DA3 论文附录;算力方面,作者明确报告单卡 RTX Pro 6000 + FP16,每个数据集 5 epoch、batch size 4,约 2 分钟,普通单卡(A100 40GB 或 RTX 4090 24GB)即可复现;超参方面,LoRA rank=32、$\alpha=32$、AdamW weight decay $10^{-5}$、15% warmup cosine LR、5 epoch 全部报告,数据集特定的 learning rate 与训练样本数在补充材料里。复现难度评估:对熟悉 LoRA、ViT、PyTorch 分布式训练的研究者来说大约 1-2 周可跑通全部 Table 2/3/4/5;对不熟悉 peft 库或多视角 Transformer 实现的同学,主要门槛在'把 LoRA 正确注入到 DA3/VGGT 的多视角 attention 块'这一工程步骤,以及跑通 DA3 的官方推理流程(它依赖较新的 transformers 版本与 flash-attn)。值得注意的是论文没有给出完整训练日志与随机种子对结果方差的影响,Table 2 只说'3 seeds 平均',未报告单 seed 误差棒,这是判断稳定性的一个小缺口。