ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

从数据到权重:Marigold V2两阶段训练全流程解析(SinkLoss、iREPA与单卡32GB训练秘诀)

从数据到权重:Marigold V2两阶段训练全流程解析(SinkLoss、iREPA与单卡32GB训练秘诀)

【免费下载链接】marigold-v2-0

项目地址:https://ai.gitcode.com/hf_mirrors/huawei-bayerlab/marigold-v2-0
点击查看免费下载

Marigold V2是由 HUAWEI Bayer Lab 联合 EPFL 与博洛尼亚大学发布的单目深度估计模型(SIGGRAPH Asia 2026),它基于 Qwen-Image-Edit-2509 扩散 Transformer,仅用 LoRA + 可选 VAE 解码器微调就达到了当前领先的零样本深度、法线与反照率估计水平。更难得的是:所有模型都在单张 32GB 显卡上训练完成。本文带你从训练数据、损失函数到最终权重,完整拆解这套两阶段训练流程。

🧭 项目速览:一个基座模型,多模态输出

Marigold V2 的架构思路很"轻"——不动基座模型,只训练可插拔的小权重(LoRA),同一套方法同时覆盖三种任务:

模态输出关键训练手段
深度(depth)对数/线性/逆深度两阶段训练 + SinkLoss
法线(normals)相机坐标系单位法向量角度损失 + iREPA + SinkLoss
反照率(albedo)线性 RGB 反照率L1 + iREPA

每个任务对应仓库中的一个权重目录,例如深度主线模型的最终权重在 depth/Log-stage2/trainables.safetensors,完整清单可见 README.md 中的 Checkpoints 表格。

📊 训练数据:约 7.4 万张合成图就够了

深度学习的直觉是"数据越多越好",但 Marigold V2 证明了高质量合成数据的效率:

  • 深度:Hypersim + Virtual KITTI 2,约74k 张图(沿用 Marigold V1 的打包格式)
  • 透视深度(see-through):LayeredDepth-Syn 数据集的第 8 层,专门学习"透过玻璃看几何"
  • 法线与反照率:Hypersim

这套数据规模对普通研究者非常友好——单卡 32GB GPU 即可完成全部训练,这也是本文"32GB 训练秘诀"的由来。

🏋️ 第一阶段:iREPA 对齐 + 多损失打基础

Stage 1 的目标是让模型先"看懂"几何,损失函数由四部分构成:

  1. Latent MSE:在扩散模型潜空间内做回归,稳定训练;
  2. L1 损失:直接约束重建误差;
  3. 梯度损失:约束几何边缘,让深度图不"糊边";
  4. iREPA:改进版表示对齐损失(Representation Alignment),把扩散模型中间特征向预训练图像编码器特征拉近,显著加速收敛、提升几何质量。

Stage 1 产出的权重是 depth/Log-stage1/trainables.safetensors,它是 Stage 2 与透视变体(layered)的共同起点。

🔥 第二阶段:SinkLoss 与 VAE 解码器微调

Stage 2 在 Stage 1 基础上继续微调,两个核心动作:

  • SinkLoss:针对仿射不变深度设计的损失。Marigold V2 的深度输出天然带有每张图未知的缩放和平移(scale & shift),SinkLoss 让模型在这种自由度下依然能稳定收敛,使输出可以直接用于零样本评测;
  • VAE 解码器微调:深度是密集回归任务,对像素级精度敏感,因此同步微调了 VAE 解码器(权重以VAE.*键保存在同一文件中),而不只是 LoRA。

两者叠加后得到论文主模型Log-stage2(对数参数化深度),也是代码库的默认检查点。

🧩 消融视角:Log、Uniform、Disparity 三种参数化

仓库同时发布了三种深度参数化的消融权重,方便对比研究:

检查点参数化说明
depth/Log-stage2对数深度(随距离增大)两阶段,论文主模型
depth/Uniform-base线性深度(V1 风格)Stage 1 配方,30k 步
depth/Disparity-base逆深度(随距离减小)Stage 1 配方 + VAE 解码器微调,30k 步

每个目录还配有 layered 变体(如 depth/Log-layered),在 LayeredDepth-Syn 第 8 层上继续训练,能预测玻璃后方的几何。

📦 权重与文本嵌入:仓库里有什么

仓库是纯推理权重包(inference_only_checkpoints),每个目录只有一个 trainables.safetensors,内部键为<component>.<parameter>形式(Diffuser.*LoRA 权重,含 VAE 微调时还有VAE.*)。

另一个小巧思在 qwen_text_embeddings/:每个模态预计算了 prompt 嵌入与掩码(如qwen_edit_2509_qwen_depth_prompt_embeds.pt),推理时完全不需要加载基座的文本编码器,进一步省显存。manifest.json 记录了所有文件的大小与 SHA-256 校验和,下载完整性可自验。

💻 单卡 32GB 训练秘诀与显存预算

Marigold V2 对硬件非常友好,关键数字如下:

  • 训练:所有模型均在单张 32GB GPU上完成;
  • 推理:1024² 约 17GB,2048² 约 29GB 显存;24GB 卡即可跑 1024²。

秘诀可以归纳为三点:

  1. LoRA 只训小权重——基座 Diffusion Transformer 冻结,可训练参数极少,显存主要留给激活而非梯度;
  2. 预计算文本嵌入——省掉文本编码器的常驻开销;
  3. 合成数据规模克制——74k 张图让单卡也能在合理步数内收敛(消融模型仅 30k 步)。

如需在本地获取权重,可直接克隆本仓库:

git clone https://gitcode.com/hf_mirrors/huawei-bayerlab/marigold-v2-0

推理、评测与训练代码位于官方代码仓库,运行时会把本权重仓库与基座模型下载到其assets/目录。

📈 零样本成绩:为什么值得看

使用Log-stage2权重、Pixel-Perfect Depth 协议的零样本结果(AbsRel ↓ / δ1 ↑,%):

数据集NYUv2KITTIETH3DScanNetDIODE
深度3.6 / 98.05.4 / 97.42.8 / 99.23.7 / 97.95.2 / 97.1

法线与反照率同样领先:法线在 NYUv2 上平均角误差 16.6°,反照率在 Hypersim 上 PSNR 20.78。

📁 关键文件路径速查

  • 项目说明与检查点表格:README.md
  • 文件校验清单:manifest.json
  • 论文全文(LFS):assets/paper/Marigold V2.pdf
  • 论文主模型权重:depth/Log-stage2/trainables.safetensors
  • 法线权重:normals/trainables.safetensors
  • 反照率权重:albedo/trainables.safetensors
  • 预计算文本嵌入:qwen_text_embeddings/
  • 许可证:LICENSE(权重为 Apache 2.0,基座模型遵循其自身协议)

总结:Marigold V2 的两阶段配方——Stage 1 用 iREPA 对齐 + 多损失打好几何基础,Stage 2 用 SinkLoss 兼容仿射不变输出并微调 VAE 解码器——证明了"小数据、小可训练参数、单卡 32GB"也能做出 SOTA 级别的单目深度估计。对新手而言,这是一套非常值得复现与拆解的训练范式。

【免费下载链接】marigold-v2-0

项目地址:https://ai.gitcode.com/hf_mirrors/huawei-bayerlab/marigold-v2-0
点击查看免费下载

相关推荐

上一篇:Qwerty Learner:把背单词和键盘肌肉记忆结合的开源英语打字练习工具
下一篇:如何快速备份QQ空间:面向普通用户的完整指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进