跳转至

Pixel-Perfect Depth with Semantics-Prompted Diffusion Transformers

会议: NeurIPS 2025
arXiv: 2510.07316
代码: 项目主页
领域: 3D视觉
关键词: 单目深度估计, 像素空间扩散, DiT, 语义提示, 飞点消除

一句话总结

提出Pixel-Perfect Depth——在像素空间(而非潜空间)直接做扩散生成的单目深度估计模型,通过语义提示DiT(SP-DiT)引入视觉基础模型的高层语义表示和级联DiT设计,生成无飞点(flying-pixel-free)的深度图,在五个benchmark上超越所有已发表的生成式模型。

研究背景与动机

单目深度估计(MDE)是3D重建、新视图合成和机器人操作的基础任务。当前模型估计的深度图转化为点云时,在物体边缘处普遍存在飞点(flying pixels)问题——即边缘处出现漂浮的散乱点,严重限制自由视点广播、沉浸内容创作等实际应用。

飞点的根源因模型类型不同而异: - 判别式模型(如Depth Anything v2):在深度不连续边缘倾向于输出前景和背景的中间深度值(均值偏差),以最小化回归损失 - 生成式模型(如Marigold):理论上能捕获边缘的多模态分布,但微调Stable Diffusion需要VAE将深度图压缩到潜空间——VAE压缩不可避免地丢失边缘清晰度

一个直觉的解法:在像素空间直接做扩散。但作者发现这极其困难——像素空间高分辨率生成的核心难点在于同时建模全局语义一致性细粒度视觉细节。已有SNR分析表明,高分辨率像素空间扩散的主要困难在于感知和建模全局图像结构。

核心idea:引入预训练视觉基础模型的高层语义表示作为提示(Semantics-Prompted),让DiT在扩散过程中有全局语义"锚点",从而在像素空间也能稳定生成高质量深度图。

方法详解

整体框架

输入图像与噪声拼接 → 送入级联DiT(前半段大patch处理全局结构,后半段小patch处理细节)→ 同时输入图像提取语义表示并注入后半段DiT → 像素空间直接输出深度图,无VAE。

关键设计

  1. 语义提示DiT(SP-DiT)

核心问题:裸DiT在像素空间无法同时捕获全局语义和局部细节(ablation显示NYUv2 AbsRel 22.5%,几乎不可用)。

解决方案:从预训练视觉基础模型\(f\)提取高层语义表示\(\mathbf{e} = f(\mathbf{c}) \in \mathbb{R}^{T' \times D'}\),注入DiT令牌: $\(\mathbf{z'} = h_\phi(\mathbf{z} \oplus \mathcal{B}(\hat{\mathbf{e}}))\)$ 其中\(\mathcal{B}\)是双线性插值对齐空间分辨率,\(h_\phi\)是MLP融合层。

关键细节——L2归一化:发现语义表示\(\mathbf{e}\)的数值量级与DiT令牌的量级差异巨大,直接拼接导致训练不稳定。简单的L2归一化\(\hat{\mathbf{e}} = \mathbf{e}/\|\mathbf{e}\|_2\)即可解决,但效果提升巨大(NYUv2 AbsRel从22.5%降至4.3%,提升78%)。

可用的VFM:DINOv2、VGGT、MAE、Depth Anything v2——全部显著提升性能。

  1. 级联DiT设计(Cas-DiT)

观察:DiT中前期block负责全局/低频结构,后期block负责高频细节

基于此设计渐进patch策略: - 前N/2个block(标准DiT):patch size=16,token数\((H/16)\times(W/16)\)——低计算成本,聚焦全局结构 - 后N/2个block(SP-DiT):MLP扩展到\((H/8)\times(W/8)\)个token——等效更小patch size,聚焦细粒度细节

效果:推理时间减少30%(RTX 4090上),同时精度进一步提升。

  1. Flow Matching生成范式

采用Flow Matching作为生成核心(而非DDPM),学习从噪声到深度样本的连续变换: $\(\mathbf{x}_t = t \cdot \mathbf{x}_1 + (1-t) \cdot \mathbf{x}_0, \quad \mathbf{v}_t = \mathbf{x}_1 - \mathbf{x}_0\)$ 训练目标为MSE速度场损失\(\|\mathbf{v}_\theta - \mathbf{v}_t\|^2\)

损失函数 / 训练策略

  • 损失:MSE速度场损失 + 梯度匹配损失
  • 深度预处理:先取log、再做2%-98%分位数的min-max归一化到[-0.5, 0.5]
  • 512模型仅在Hypersim(54K样本)上训练;1024模型额外加入4个数据集
  • 纯Transformer架构,无卷积层

实验关键数据

主实验:五个benchmark的零样本相对深度

方法 类型 NYU AbsRel↓ KITTI AbsRel↓ ETH3D AbsRel↓ ScanNet AbsRel↓ DIODE AbsRel↓
Marigold 生成 5.5 9.9 6.5 6.4 10.0
Lotus 生成 5.4 8.5 5.9 5.9 9.8
DepthAny. v2 判别 4.5 7.4 13.1 6.5 6.6
Ours (512) 生成 4.3 8.0 4.5 4.5 7.0
Ours (1024) 生成 4.1 7.0 4.3 4.6 6.8

消融实验

方法 NYU AbsRel↓ ScanNet AbsRel↓ 推理时间(s)
DiT (vanilla) 22.5 25.7 0.19
SP-DiT 4.8 6.2 0.20
SP-DiT + Cas-DiT 4.3 4.5 0.14

SP-DiT提升78%(NYUv2),Cas-DiT在加速30%的同时进一步提升精度。

边缘感知点云评估

方法 Chamfer Dist↓
Depth Anything v2 0.18
Marigold 0.17
Depth Pro 0.14
GT(VAE) 0.12
Ours 0.08

GT(VAE)——即用VAE编解码真值深度——CD都有0.12,说明VAE压缩本身就是飞点的根源。

关键发现

  • 像素空间扩散+SP-DiT从"几乎不可用"(22.5% AbsRel)变为"SOTA"(4.3%)——语义提示是关键
  • L2归一化看似简单但效果巨大——解决了VFM特征与DiT令牌的量级不匹配
  • 所有测试过的VFM(MAE/DINOv2/VGGT/DAv2)都能显著提升性能
  • 从零训练(不依赖SD预训练权重),仅用合成数据即可实现优异泛化

亮点与洞察

  1. 彻底规避VAE瓶颈——几乎所有现有生成式深度模型都受限于VAE的信息损失,本文直接在像素空间工作
  2. 级联DiT的"先全局后局部"设计与人类视觉感知的层次结构一致
  3. 提出了边缘感知点云评估指标——填补了现有指标无法反映飞点问题的空白
  4. 纯Transformer、无卷积——设计极简但效果强大

局限与展望

  • 多步扩散推理比判别式模型慢(DepthAny V2 18ms vs PPD 140ms),轻量PPD-Small版本40ms有一定缓解
  • 应用于视频时缺乏时间一致性(帧间闪烁)
  • 仅关注相对深度,度量深度需要额外适配

相关工作与启发

  • SP-DiT的语义提示思路可应用于其他像素空间生成任务(如法线估计、光流)
  • 级联patch策略启示:在Transformer中不必全程用相同分辨率
  • 与REPA的对比表明:显式拼接语义信息远优于隐式对齐(REPA AbsRel 17.6 vs SP-DiT 4.3)

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 在像素空间做扩散深度估计的首次成功实现,SP-DiT和Cas-DiT设计新颖有效
  • 实验充分度: ⭐⭐⭐⭐⭐ 五个benchmark+多种VFM消融+边缘评估+REPA对比+轻量版本
  • 写作质量: ⭐⭐⭐⭐⭐ 问题定义清晰,消融有说服力,图示高质量
  • 价值: ⭐⭐⭐⭐⭐ 解决了生成式深度估计的核心痛点,实用性强

相关论文