KITTI AbsRel从6.5压到5.4,Marigold V2用一张32GB卡把编辑DiT收成单步深度估计

《三年面试五年模拟》AIGC / LLM / AI Agent 算法工程师与开发工程师求职面试秘籍,独家资源见 WeThinkIn/AIGC-Interview-Book,欢迎 Star!
AIGC / LLM / AI Agent 算法岗与开发岗求职面试内推学习社群,涵盖 AIGC、LLM 大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI 等方向的最新面试干货与核心知识,欢迎加入(https://t.zsxq.com/33pJ0)


目录

本文要点

(1)Marigold V2是华为Bayer Lab、EPFL和博洛尼亚大学2026年9月放出的单目深度估计模型,骨干是图像编辑DiT模型Qwen-Image-Edit-2509。

(2)同量级数据下KITTI的AbsRel为5.4 ,ETH3D为2.8 ,摘要称相对上一名改进16%到26%。

(3)做法是4-bit QLoRA加两阶段微调,第一阶段用真值深度上的iREPA,第二阶段用SinkLoss并解开VAE解码器。

(4)短板是1024分辨率下比InfiniDepth慢将近十倍,反光、运动模糊和失焦区域论文自己也承认仍含糊。

(5)文末附官方README的推理命令。GitHub清单里Diffusers接入尚未完成。

华为Bayer Lab、EPFL和博洛尼亚大学在2026年9月8日把Marigold V2挂上arXiv,编号2609.08084。论文将收入ACM TOG第45卷第6期,并在同年12月的SIGGRAPH Asia上报告。

我把HTML版从头对过一遍,也对照了GitHub README和Hugging Face模型卡。代码和权重同一天开源。

事情本身很具体。作者把开源图像编辑模型Qwen-Image-Edit-2509收成一个单步单目深度估计器,微调用4-bit QLoRA,只在一张32GB显卡上做。同量级数据里,KITTI的AbsRel从FE2E的6.5落到5.4 ,ETH3D从3.8落到2.8。摘要把这两项相对改进写成16%到26%。

生成模型当感知器,到DiT还成立吗

单目深度估计是从一张RGB图恢复每个像素的远近。一张图对应无数种三维解释,模型必须靠对场景的常识来填空。

2024年的Marigold V1证明过一条便宜的路。把已经在海量图上训好的扩散生成模型拿来微调,合成深度数据只要7.4万张,就能得到能跨数据集零样本用的深度图。那一代骨干是Stable Diffusion的U-Net。

骨干换成Diffusion Transformer之后,这条路变贵了。论文相关工作写,从零训DiT要几十张GPU,DICEPTION花掉96个GPU日,Lotus-2用8张卡。个人和小组很难跟。

V2要回答的就是这件事。图像编辑模型本来就是图到图,潜空间里从RGB走到另一种图,比文生图更接近深度估计。

再把多步flow matching的时间步钉在0.5,一次前向直接回归,预训练权重压成4 bit,只训秩128的适配器。数据配比仍跟V1一样,HyperSim和Virtual KITTI 2,抽样概率90%对10%。

这样,生成模型当感知器的逻辑还在,账单回到单卡。

两阶段怎么训

部署时路径很短。VAE编码RGB,DiT走一次,VAE解码出深度图。训练分两段。

第一段只训QLoRA,VAE冻住。损失有四项,潜空间MSE、像素L1、空间梯度L1,再加一项叫iREPA-depth的特征正则。梯度项权重5.0,iREPA权重0.2。最终第一段跑16万步,论文写同一张32GB卡上略超过五天。

深度先变成仿射不变的对数深度,按有效像素的2%和98%分位数裁到负一到一,再复制成三通道灰度图,才能塞进本来吃RGB的VAE。

iREPA原本用来把扩散模型的内部特征拉向视觉编码器。DepthMaster、Pixel-Perfect Depth都从输入RGB抽特征。V2改成对真值深度图跑冻结的DINOv3。论文给的理由是几何监督更直接,推理时也不用额外挂一个编码器。

消融要分开看。3万步的对照里,对着深度做iREPA,五个测试集的AbsRel都好于对着RGB做的版本。

拉到16万步以后,数字差距缩小,NYUv2上去掉这项的AbsRel是3.62,加上是3.68。论文自己说,长训之后这项对视觉质量仍有帮助,对排行榜数字的贡献变弱。

第二段从第一段检查点接着训3万步,大约再花一天。VAE解码器解开,并加上SinkLoss。

SinkLoss针对的是真值本身的脏。HyperSim里细杆、纱帘这类半透明结构,渲染器用准蒙特卡洛采样,前景还是背景深度几乎是随机的。逐像素死盯真值,模型会学会复现这份噪声,点云里就飞像素。

做法是把图切成互不重叠的5乘5块。块内预测值和真值做熵正则的最优传输,只要求这25个深度值作为集合对得上,允许块内换位置。参数写死为温度0.1、5次Sinkhorn迭代。无效像素用大代价挡掉,不参与监督。

换到Stable Diffusion 1.5和FLUX.2 klein上,SinkLoss同样压低HyperSim上的Soft Edge Error。Qwen骨干上平均AbsRel从4.10微升到4.12,SEE3从0.449降到0.352。它几乎不刷AbsRel,主攻边界和细结构。

参数化也做了对照。同样配方下,对数深度平均AbsRel 4.72,线性深度5.04,视差5.28。最终论文模型用对数。

成绩单

评测跟Pixel-Perfect Depth同一套协议。预测先用RANSAC配到真值的尺度和平移,再算AbsRel和δ1。

AbsRel是平均相对误差,δ1是预测落在真值1.25倍以内的像素比例。除ETH3D按1008×672推理再上采样到2048×1360之外,其余数据集用原生分辨率。

表里训练数据超过500万的方法原文标灰,不参与同量级排名。下面只摘常被拿来比的几个,单元格是AbsRel ↓ / δ1 ↑,AbsRel按论文写成百分数。

模型 训练数据 NYUv2 KITTI ETH3D ScanNet DIODE
Marigold V2 74K 3.6 / 98.0 5.4 / 97.4 2.8 / 99.2 3.7 / 97.9 5.2 / 97.1
FE2E 71K 3.8 / 97.6 6.5 / 96.0 3.8 / 98.7 4.3 / 97.1 5.6 / 96.4
Lotus-2 59K 3.7 / 97.6 6.7 / 94.1 4.1 / 98.6 4.0 / 97.2 6.5 / 95.5
PPD (1024) 125K 4.1 / 97.7 7.0 / 95.5 4.3 / 98.0 4.6 / 97.2 6.8 / 95.9
InfiniDepth 3.1M 4.3 / 97.6 8.7 / 92.3 6.1 / 95.4 4.7 / 96.9 6.4 / 95.8
Marigold V1 74K 5.5 / 96.4 9.9 / 91.6 6.5 / 96.0 6.4 / 95.1 10.0 / 90.7
Depth Anything V2 62.6M 4.5 / 97.9 7.4 / 94.6 13.1 / 86.5 6.5 / 97.2 6.6 / 95.2

最后一行数据量不在同档,原文不参与排名。百万级判别模型里,MoGe在NYUv2上AbsRel是3.1,π³是2.9,都优于V2的3.6 。V2打的是数据量相当的生成式对手,外加ETH3D上从3.8到2.8这一档跨域。

HyperSim测试集上的Soft Edge Error专门看边界。SEE3、SEE5、SEE7,V2是0.352、0.333、0.320,PPD是0.404、0.385、0.371,InfiniDepth是0.470、0.451、0.436。

一张消费级卡上的账

论文在同一张32GB卡上测了延迟和峰值显存。

模型 1024×1024延迟 1024×1024显存 2048×2048延迟 2048×2048显存
InfiniDepth 0.2 s 1.9 GB 1.2 s 3.4 GB
PPD 1.4 s 5.6 GB OOM OOM
Lotus-2 8.9 s 26.1 GB OOM OOM
FE2E 3.9 s 27.5 GB OOM OOM
Marigold V2 1.9 s 16.9 GB 9.6 s 29.3 GB

1024分辨率下它比InfiniDepth慢将近十倍,显存也高得多。关掉锐化器的Lotus-2只要1.1秒,仍比它快。

优势在2048。PPD、Lotus-2、FE2E直接爆显存,它还能跑,峰值29.3 GB。模型卡写24GB卡覆盖1024,2048要32GB档。

量化的意义主要在训练和部署都能把大DiT塞进单卡。推理已经是单步,省掉的是多步采样。GitHub清单里Diffusers接入和ComfyUI插件都还没勾。

配方还能干别的

同一套损失换任务头,论文还训了法向、反照率,以及透过玻璃看后面几何的see-through深度。

法向在Sintel上平均角误差28.7,室内NYUv2是16.6,比Lotus-D的16.2和Marigold Normals V1.1的16.1都差一截。室外赢,室内并不全面领先。

反照率在HyperSim测试集上PSNR 20.78、LPIPS 0.195,两项是表里最好。SSIM 0.811,低于IID-in-the-wild的0.819。

see-through用LayeredDepth-Syn的第8层再微调3万步。验证集AbsRel从13.66降到8.17,δ1从83.96升到92.65。基础模型会把玻璃标成近处表面,这是HyperSim标注习惯带来的偏置。

深度补全那张表很长,NYUv2、iBims、KITTI-DC、DDAD上都报了数。它用测试时再挂一个秩16的LoRA去拟合稀疏点,代码仓库清单里Depth completion code仍未勾选。这篇不展开。

本地跑一遍

我没有在本机跑通权重。下面抄的是2026年9月8日仓库README的Quick start,模型卡上的命令与之一致。

bash 复制代码
git clone https://github.com/huawei-bayerlab/marigold-v2.git
cd marigold-v2
bash setup/setup_env.sh
conda activate marigold-v2

python scripts/download_assets.py --skip-datasets
python scripts/infer.py --image_dir assets/examples --output_dir output/examples

setup_env.sh默认装CUDA 12.8的包,可改成cu126等。--skip-datasets只拉Qwen-Image-Edit-2509和各检查点,评测集要另下。

默认检查点是depth/Log-stage2,也就是论文主模型。指定玻璃后几何可以用--checkpoint指向depth/Log-layered--modality可选depth、normals、albedo。

README写,1024边长大约17GB显存,2048大约29GB,与论文表6的16.9和29.3对得上。

DiT第一次加载会做4-bit量化,要等几分钟。VAE编码器有采样,同一张图两次结果可能略有差别,--seed默认2025。

文本编码器不用加载。仓库提供了预计算的prompt嵌入。输出是每张图未知尺度和平移的仿射不变深度,不能直接当米来用。

在线可以看Hugging Face Space huawei-bayerlab/marigold-v2-web

几点看法

V1那套小合成数据加生成先验,在DiT上仍然成立,前提是编辑模型和单步回归把账单砍下来。4-bit QLoRA让32GB单卡训得动。模型卡认为24GB卡推1024分辨率也够。

我更想抄的是SinkLoss的问题定义。细结构上真值不可信时,还用逐像素L1去逼,模型只能学会往点云里飞像素。允许块内置换以后,排行榜数字几乎不动,毛发和叶片反而清楚了。

做深度、法向这种边界敏感任务的人,可以把SEE这类指标和AbsRel放在一起看。

短板论文写得很直。骨干太大,做不到实时。InfiniDepth在1024上0.2 秒、1.9 GB,速度和显存差了一截。

反光、运动、失焦仍然含糊。室内法向也没有全面超过上一代。

想用于机器人实时控制,先要另找更快的模型。这篇留下的是画质和可复现配方。


参考链接

相关推荐
青少儿编程课堂41 分钟前
多源最短路与最小环(Floyd 算法图论解析)
c++·python·算法·bfs·信息学竞赛
Theo_xx41 分钟前
声学感知基础:7.Multipath 与 CFR
人工智能·无线感知·声学感知
论文复现现场42 分钟前
课程作业要跑 PyTorch 训练,学校机房不够用去哪租?云 GPU 选型、环境迁移与防丢数据指南
人工智能·pytorch·深度学习·云计算·gpu·cuda
A小码哥42 分钟前
开发转型AI Agent研发:拆解 Agent 的记忆系统、推理链路与决策机制
人工智能
艾莉丝努力练剑43 分钟前
【Git:综合复盘】Git 原理与使用
大数据·人工智能·git·elasticsearch·面试
HRaitest1 小时前
AI招聘系统架构深度拆解:传统外挂式AI vs AI原生基座的本质差异与潜能边界
人工智能·ai·系统架构·视觉检测·求职招聘
hhzz1 小时前
OpenCV 入门到精通 09】特征检测与匹配:从 Harris 到 ORB 图像配准
人工智能·opencv·计算机视觉·开源·交互
小淮AI1 小时前
企业文件管理方案选型观察:从部署模式、协作权限与集成能力看三个方向
人工智能
6Hzlia1 小时前
【Classic 150 刷题计划】 LeetCode 228. 汇总区间 | C++ 锚点游标与断点检测法
c++·算法·leetcode