Fin3R: Fine-tuning Feed-forward 3D Reconstruction Models via Monocular Knowledge Distillation¶
会议: NeurIPS 2025
arXiv: 2511.22429
代码: visual-ai/fin3r
领域: 3D视觉
关键词: 3D重建, 前馈式重建, 知识蒸馏, LoRA微调, 单目深度估计, DUSt3R, MASt3R, CUT3R, VGGT
一句话总结¶
提出 Fin3R,通过冻结 decoder 并用带重归一化的 LoRA 适配器对 encoder 进行单目知识蒸馏微调,以统一且轻量的方式提升 DUSt3R/MASt3R/CUT3R/VGGT 等前馈式 3D 重建模型的几何精度和鲁棒性。
研究背景与动机¶
前馈式 3D 重建兴起:DUSt3R、MASt3R、CUT3R、VGGT 等模型可在单次前向传播中从多视角图像回归 pointmap,避免了传统 SfM 的迭代优化,但几何细节仍然粗糙。
与单目方法的差距:尽管前馈式模型在效率上有优势,其深度预测的精细程度仍落后于 Depth Anything V2、MoGe 等最先进单目几何估计方法,边界模糊、透明/反光表面重建不准确。
高质量训练数据稀缺:现有真实世界数据集的深度标签噪声大,姿态标注不精确,且以室内场景为主,泛化能力受限。
长序列 pointmap 退化:多视角 pointmap 回归固有地耦合了姿态估计和深度估计,远离参考帧的视角会出现漂移和尺度不确定性,导致非参考视角细节丢失。
现有微调方案的局限:LoRA-3D、Test3R 等方法依赖逐场景的测试时优化,无法零样本泛化到新场景。Align3R、Pow3R 等注入外部深度先验的方法则引入额外推理模块和运行时开销。
encoder 是瓶颈:分析发现重建细节不足主要源自 encoder 的特征提取能力,而 decoder 的多视角匹配能力本身较强,因此仅对 encoder 进行针对性强化即可。
方法详解¶
整体框架¶
Fin3R 在预训练的前馈式 3D 重建模型基础上,冻结 decoder(负责跨视角匹配),仅对共享 encoder(负责特征提取)进行轻量级微调。利用强单目教师模型 MoGe 在大规模无标注数据集 SA-1B 上蒸馏知识到 encoder 中,通过定制的重归一化 LoRA 适配器实现。同一套实现直接适配 DUSt3R、MASt3R、CUT3R、VGGT 四种不同架构。
关键设计 1:Encoder-only 蒸馏¶
- 功能:冻结 decoder,仅用 LoRA 适配器微调 encoder,从 MoGe 教师模型蒸馏精细几何知识。
- 核心思路:encoder 负责单图特征提取,decoder 负责多视角关联;局部几何细节的不足源自 encoder,因此只强化 encoder 即可补齐这一短板。
- 设计动机:冻结 decoder 可以保留已有的多视角匹配能力;使用 LoRA 而非全参数微调可将新增参数量降至极低,推理时内存和延迟几乎不变。
关键设计 2:重归一化 LoRA(Re-normalization LoRA)¶
- 功能:在每个 LoRA 块中嵌入自定义的重归一化层,在权重更新后将合并权重的 L2 范数约束回原始权重的范数水平:\(W' = (W + \Delta W) \cdot \|W\|_2 / \|W + \Delta W\|_2\)。
- 核心思路:单目蒸馏会导致 encoder 特征范数持续增大,偏离冻结 decoder 期望的特征分布,从而损害多视角匹配能力。重归一化显式约束特征范数不漂移。
- 设计动机:实验发现朴素 LoRA + 多视角数据回放仍无法解决特征漂移问题(特征平均范数从 9.61 上升到 10.53/10.34),只有加入重归一化后才恢复到 9.73,多视角性能得以保持。
关键设计 3:多视角数据回放(Multi-view Data Replay)¶
- 功能:在蒸馏训练中混合使用少量多视角数据(Hypersim + TartanAir),与单目蒸馏数据联合训练。
- 核心思路:在大量单目蒸馏样本中混入多视角 pointmap 回归样本,确保 encoder 在学习精细几何的同时不遗忘多视角任务的需求。
- 设计动机:纯单目蒸馏即使冻结 decoder 也会导致多视角性能下降,数据回放为特征分布提供了锚定参考,与重归一化策略互补。
损失函数与训练¶
- 蒸馏损失:\(\mathcal{L}_{\text{distill}} = \beta^D \|D - \hat{D}\|_2^2 - \lambda \log \beta^D\),将预测深度 \(D\) 对齐教师 MoGe 的伪标签 \(\hat{D}\),\(\beta^D\) 为不确定性权重。
- Pointmap 回归损失:\(\mathcal{L}_{\text{pointmap}} = \mathbf{1}_{\text{mv}} (\beta^P \|P - P^{GT}\|_2^2 - \lambda \log \beta^P)\),仅对多视角样本施加 pointmap 监督。
- 训练配置:每 epoch 采样 SA-1B 20,000张 + Hypersim 1,000张 + TartanAir 1,000张,4×NVIDIA L20 GPU 训练 10 个 epoch,约一天完成。
实验¶
单目深度估计(Table 1)¶
在 7 个标准基准上评估 scale-invariant 相对深度,所有模型加上 Fin3R 后一致提升:
| 方法 | NYUv2 Rel↓ | KITTI Rel↓ | ETH3D Rel↓ | 平均 Rel↓ | 平均 δ₁↑ |
|---|---|---|---|---|---|
| DUSt3R | 3.83 | 7.64 | 5.35 | 7.03 | 92.3 |
| DUSt3R+Fin3R | 3.68 | 6.02 | 4.41 | 5.58 | 94.8 |
| VGGT | 3.14 | 5.83 | 3.64 | 5.77 | 94.0 |
| VGGT+Fin3R | 3.10 | 4.59 | 3.07 | 4.29 | 96.7 |
| MoGe (教师) | 3.02 | 4.39 | 2.96 | 4.14 | 96.9 |
VGGT+Fin3R 的平均性能已非常接近教师模型 MoGe。MASt3R 的 metric depth 平均 Rel 从 49.62 大幅降至 27.60。
相对位姿估计(Table 2 - ScanNet1500)¶
| 方法 | AUC@5 | AUC@10 | AUC@20 |
|---|---|---|---|
| DUSt3R | 31.61 | 53.77 | 70.99 |
| DUSt3R+Fin3R | 33.73 | 55.67 | 72.66 |
| MASt3R | 37.60 | 59.96 | 76.24 |
| MASt3R+Fin3R | 37.93 | 60.21 | 76.68 |
| VGGT | 28.40 | 47.36 | 61.51 |
| VGGT+Fin3R | 35.21 | 56.70 | 72.80 |
VGGT 提升尤为显著(AUC@5 从 28.40→35.21),微调后在 5° 阈值上超过了专用位姿回归模型 Reloc3R (34.79)。
亮点¶
- 极简且通用:同一套 LoRA 微调方案直接适配四种架构不同的前馈重建模型,无需修改模型结构。
- 几乎无推理开销:仅增加轻量 LoRA 权重,测试时内存和延迟几乎不变。
- 重归一化 LoRA 的洞察:发现并量化了单目蒸馏导致的特征范数漂移现象,提出简洁有效的修复方案。
- 全面的提升:单目深度、相对位姿、多视角深度、pointmap 回归四个任务均有一致提升,且不损害多视角性能。
局限性¶
- 教师模型 MoGe 本身的误差会传递给学生模型,蒸馏质量受限于教师上限。
- 重归一化策略虽然在多数情况下有效,但作者也承认不一定能解决所有类型的特征漂移。
- 仅微调 encoder 未触及 decoder,对于 decoder 本身匹配能力不足的场景无改善。
- 对动态场景(如 Sintel)的提升相对有限,可能受限于基线模型本身未在动态数据上训练。
相关工作¶
- 前馈式 3D 重建:DUSt3R 开创了从无标定图像直接回归 pointmap 的范式,MASt3R 增加匹配特征头,CUT3R 采用循环架构处理长序列,VGGT 使用全并行 Transformer。Fin3R 是针对这类模型的通用微调方案。
- 单目先验注入:Align3R、Pow3R、Mono3R 将外部深度预测注入 DUSt3R 风格模型,但需运行时额外模块。Fin3R 通过训练时蒸馏避免了推理开销。
- 测试时优化:LoRA-3D、Test3R 对每个场景做测试时微调,无法零样本泛化。Fin3R 只需一次性训练即可通用。
评分¶
- 新颖性: ⭐⭐⭐⭐ — 重归一化 LoRA 的洞察新颖且有理论/实验支撑,但整体框架仍属知识蒸馏+LoRA的组合
- 实验充分度: ⭐⭐⭐⭐ — 覆盖四个基线模型、四类评估任务、多个数据集,消融实验充分
- 写作质量: ⭐⭐⭐⭐ — 问题分析清晰(特征范数漂移的可视化尤佳),行文流畅
- 价值: ⭐⭐⭐⭐ — 方法简单通用、实用性强,对前馈式 3D 重建社区有直接价值