作者:Haofei Xu, Rundi Wu, Philipp Henzler, Nikolai Kalischek, Michael Oechsle, Fabian Manhardt, Marc Pollefeys, Andreas Geiger, Federico Tombari, Michael Niemeyer

单位:Google, ETH Zurich, University of Tübingen / Tübingen AI Center, Microsoft, KE:SAI, Technical University of Munich

会议:ICML 2026 / arXiv 2026

链接:https://arxiv.org/abs/2607.02515

研究动机

PointDiT 讨论的是单目几何估计中的一个具体表征选择:给定一张 RGB 图像,直接预测每个像素在相机坐标系下的三维点图 Point Map,而不是只预测标量深度图。深度图只给出每个像素的距离,需要相机内参才能反投影为三维结构;Point Map 则把每个像素表示为 $(X,Y,Z)$,因此更接近相机坐标系中的稠密三维几何。

论文把已有路线概括为两类:

  1. 确定性回归路线:以 MoGe、MoGe-2 等 point map estimator 为代表,通常使用 ViT + CNN 或复杂 decoder 的混合架构,再配合针对几何一致性设计的复杂损失。优点是推理直接、稳定;问题是单目几何本身具有多解性,确定性模型容易学习到条件分布的均值,在细杆、透明物体、遮挡边界等高不确定区域出现过平滑。

  2. 潜空间扩散路线:以 GeometryCrafter、Marigold 类方法为代表,把几何图压缩到 VAE latent space 中,再使用扩散模型建模。优点是可以利用生成模型处理歧义;问题是几何信号对高频边界和精确坐标非常敏感,VAE 的压缩与重建误差会成为上限,尤其是 point map 的取值范围不像 RGB 那样天然有界,构造一个高保真 tokenizer 并不简单。

PointDiT 的核心问题可以概括为:

能不能不使用复杂的混合回归架构,也不通过 VAE 压缩几何,而是直接在 point map 的像素空间中训练一个 plain ViT diffusion/flow-matching 模型,从而同时获得生成模型处理歧义的能力和 point map 空间的高频几何保真度?

这篇文章的动机并不难理解:如果 VAE 会损失几何细节,deterministic regression 又会平均掉多解结构,那么直接在原始 point map patch 上做 diffusion/flow matching,是一个很自然的折中方案。

核心方法

PointDiT-0

PointDiT 的方法非常简洁:输入 RGB 图像 $c$ 和带噪 point map $z_t$,输出干净 point map $x$。网络本体是 plain ViT,输入 point map patch token,同时用冻结的 DINOv3 提取图像 token 作为条件。除了 DINOv3 这个 image encoder 以外,Transformer backbone 和 prediction head 都是从头训练。

1. Point Map 作为几何空间

目标是预测:

其中每个像素保存相机坐标系下的三维坐标 $(X,Y,Z)$。这一步可以看成把深度估计任务从 scalar depth prediction 改写为 dense camera-coordinate geometry prediction。

这个选择的直接好处是:预测结果本身就是三维点云,不需要额外知道相机内参才能把标量深度提升到三维结构。它也继承了 MoGe 系列工作的一个核心设定:让模型直接学习相机坐标系中的稠密几何,而不是只学习深度图。

2. Flow Matching 路径

论文采用 flow matching 的线性插值路径:

其中 $t=0$ 是纯噪声,$t=1$ 是干净数据。对应的速度场为:

但 PointDiT 的关键不是直接做常规的 $v$-prediction,而是预测干净 point map,也就是 $x$-prediction。论文认为这一点继承自 JiT:在高维像素空间中,直接预测 clean data 比预测 velocity 更稳定。PointDiT 把这个结论从 RGB 图像生成迁移到了三维 point map 生成。

3. Point Map Normalization

Point map 的坐标范围和场景尺度强相关。室内、街景、航拍场景的坐标尺度差异很大,如果直接使用标准高斯噪声 $\epsilon$ 和原始 point map $x$ 做插值,数据尺度会压过噪声尺度,导致低 $t$ 区域也无法真正破坏几何结构。

因此论文对每张 point map 做归一化:

其中 $\mu$ 是点图中心,$s$ 是所有点到中心的平均欧氏距离。这样 point map 被放到和标准高斯噪声接近的尺度上,flow matching 训练才更稳定。代价是模型预测的是仿射不变的 point map,即尺度和 shift 需要后处理恢复或对齐。

对于室外天空区域,论文不直接让无限远深度参与统计,而是排除天空点计算 $\mu$ 和 $s$,再把天空投影到半径为 3 的虚拟球面上,并在训练损失中降低 sky pixel 权重。这个设计本质上是给“无限远背景”一个有限的监督代理,避免天空区域主导训练。

4. Plain ViT + DINOv3 条件

PointDiT 的架构没有复杂 decoder:

  1. noisy point map $z_t$ 被 patchify 成 point tokens;
  2. RGB 图像经过冻结 DINOv3 得到 image tokens;
  3. point tokens 和 DINOv3 tokens 经过线性投影后输入 Transformer blocks;
  4. prediction head 输出 clean point map patches;
  5. unpatchify 得到完整 point map。

论文比较了多种 image patch embedding:plain linear embedding、DINOv2、DINOv3、MoGe-2 特征、Depth Anything 3 特征。结果显示,即使只用 linear embedding,模型也能工作;但使用 DINOv3 多层特征显著提升边界指标 BF1。值得注意的是,MoGe-2 和 DA3 特征在部分精度指标上更强,但论文主结果仍采用 DINOv3,以避免把收益归因到已经为几何任务调过的特征上。

5. 训练目标

PointDiT 使用 flow matching 的速度损失,但模型输出为 $x$-prediction,训练时由预测的 $\hat{x}$ 推回速度:

然后与真实速度 $v_t=x-\epsilon$ 做匹配。论文还加入了 point map 相对损失,进一步约束几何结构,但从消融来看,主收益来自 x-prediction、DINOv3 多层条件和 patch size 选择。

数据集

训练全部使用合成数据,真实数据只用于 zero-shot evaluation。

Stage 1:256 × 256 预训练

  • SceneNet-RGBD:约 535.95 万样本,室内合成数据。
  • 目的:低分辨率下先学习一个便宜、稳定的 image-to-point prior。

Stage 2:512 × 512 微调

论文使用 11 个合成数据集混合训练,总量约 621.77 万样本:

  • Hypersim
  • Virtual KITTI 2
  • UrbanSyn
  • Synscapes
  • TartanAir
  • OmniWorld-Game
  • EDEN
  • IRS
  • Dynamic Replica
  • MVS-Synth
  • TartanGround

每个数据集使用独立采样权重,而不是按原始样本数量自然采样。例如 TartanGround 样本量很大,但采样权重只设为 0.15;一些小规模高质量数据集则被上采样。这个策略避免大数据集在训练中完全主导。

Evaluation:真实世界 zero-shot 测试

  • DIODE
  • KITTI
  • NYUv2
  • ETH3D
  • HAMMER
  • iBims-1
  • Booster

其中 HAMMER、iBims-1、Booster 被用于额外评估边界清晰度 BF1,因为这些数据包含透明、镜面、平面边界或深度 discontinuity,对几何边界更敏感。

算力

论文报告了三个模型规模:PointDiT-B、PointDiT-L、PointDiT-H。

模型 参数量 256×256 预训练 512×512 微调
PointDiT-B 223M 16 × H100,30 epochs,12h 64 × H100,8 epochs,2.5h
PointDiT-L 771M 16 × H100,30 epochs,21h 64 × H100,5 epochs,7h
PointDiT-H 1807M 64 × H100,30 epochs,22h 128 × H100,3 epochs,5.5h

这个算力配置说明 PointDiT 虽然架构上“简单”,但并不是一个低成本方法。尤其是 PointDiT-H 使用 128 张 H100 做 512×512 微调,这种资源配置本身已经说明它更像是大模型 scaling 路线下的几何估计系统,而不是轻量级 monocular depth estimator。

实验结果

1. 主结果

论文在 7 个真实测试集、共 3444 个样本上比较了 GeometryCrafter、PPD、Depth Pro、UniDepthV2、DA3、MoGe、MoGe-2 和 PointDiT。

关键结果如下:

方法 Relp↓ δp1↑ Reld↓ δd1↑ BF1↑ 参数量 时间
GeometryCrafter 5.45 96.75 3.52 97.84 4.64 1937M 1178ms
PPD 5.54 96.59 3.88 97.78 9.28 804M 402ms
DA3 4.77 96.63 3.22 97.81 6.33 1356M 82ms
MoGe 4.21 97.45 3.10 98.01 5.61 314M 34ms
MoGe-2 4.53 97.46 2.90 98.45 7.40 326M 24ms
PointDiT-H 1 step 4.45 97.93 2.81 98.51 9.79 1807M 72ms
PointDiT-H 4 steps 4.40 98.02 2.75 98.54 10.49 1807M 204ms
PointDiT-L 4 steps 4.85 97.55 3.09 98.25 10.50 771M 131ms

几个观察比较重要:

  1. PointDiT-H 在 depth metric 上最强,PointDiT-L/PointDiT-H 在 BF1 边界指标上明显强于 MoGe/MoGe-2。
  2. MoGe 在 Relp 上仍然最好,说明 PointDiT 并没有在所有 point map 指标上全面压倒 deterministic regression。
  3. PointDiT 的 one-step 已经足够强,多步采样主要改善 BF1 和局部细节,对 Rel / δ1 的提升相对有限。
  4. 相比 GeometryCrafter,PointDiT 的速度优势很大;但相比 MoGe-2,PointDiT 仍然更慢、更大。

2. 单步推理与多步采样

论文强调 PointDiT 虽然按 flow matching 训练,但可以 one-step feed-forward inference。更有意思的是,单步推理时把初始噪声设为随机噪声或全零,结果几乎不变。论文据此认为模型已经学到了从 DINOv3 image token 到 point map 的鲁棒映射。

这点很关键:如果 one-step + all-zero noise 也能工作,那么 PointDiT 在实际推理时很接近一个条件回归器,只是训练方式来自 generative flow matching。换句话说,它的“生成性”主要体现在训练范式和多步 refinement 能力上,而不是一定要在推理阶段表现为强随机采样。

3. Flow Matching vs Deterministic Regression

论文做了一个比较干净的对照实验:保持同样架构、同样数据、同样训练流程,只把 PointDiT 的噪声和时间步固定为 0,使其退化为 deterministic regressor。

结果是 deterministic regressor 初期收敛更快,但之后出现过拟合;generative flow matching 更稳定,最终误差更低。边界指标 BF1 从 deterministic 的 10.90 提升到 generative 的 13.92。

这个实验是整篇文章最有价值的证据之一,因为它不是和外部 baseline 做不完全公平比较,而是在同一架构内隔离了“生成式训练范式”这个变量。

4. x-prediction vs v-prediction

论文的消融显示:

设置 Relp↓ δp1↑ Reld↓ δd1↑ BF1↑
v-pred 35.44 30.03 24.07 58.21 0.46
x-pred 9.29 91.18 5.54 95.08 13.47

这个结果非常夸张,说明在他们的 point map flow matching 设定下,v-pred 几乎训练失败,而 x-pred 是能否工作的关键。论文把这点解释为 JiT 结论在 3D point map 任务上的延伸。

5. DINOv3 条件和 patch size

DINOv3 多层特征显著提升 BF1。消融中,DINOv3 last layer 的 BF1 为 7.24,而 DINOv3 4 layers 提升到 13.47。patch size 也重要:512×512 下 patch size 16 明显优于 patch size 32,尤其是 BF1 从 6.17 提升到 10.37。这符合直觉:point map 估计需要 pixel-perfect 几何边界,过大的 patch 会牺牲局部结构。

优势与不足

优势

  1. 范式组合清晰,验证相对干净。 论文没有在架构上堆大量复杂模块,而是把问题收束为:plain ViT 能不能直接在 raw point map patch 上做 flow matching?这一点比很多复杂 depth/geometry system 更容易分析。

  2. 去掉 VAE bottleneck 的论证有说服力。 对几何任务而言,VAE 的压缩误差确实可能比 RGB 生成更致命。PointDiT 直接在 point map 空间建模,避开 tokenizer 设计和 latent reconstruction 的上限,这个方向是合理的。

  3. x-prediction 的消融非常强。 v-pred 和 x-pred 的差距巨大,说明训练目标不是细枝末节,而是决定方法是否成立的核心 recipe。

  4. 对边界和透明区域的改善符合任务痛点。 BF1 和可视化结果都指向同一个结论:生成式训练确实更容易保留高频几何结构,尤其是 deterministic regression 容易平均化的区域。

不足

  1. 从创新范式上看,它更像 MoGe + JiT + Pixel-Perfect Depth 的融合。 Point map 表征和 camera-coordinate geometry 的价值主要来自 MoGe / MoGe-2;plain ViT pixel-space diffusion、x-prediction、从头训练的 recipe 明确来自 JiT;pixel-space diffusion 用于 monocular depth / geometry 的方向则与 Pixel-Perfect Depth / PPD 非常接近。PointDiT 的主要变化是把 PPD 的 depth map 换成 MoGe 式 point map,再采用 JiT 式 x-prediction 和 plain ViT recipe。因此它的贡献更像一次强工程整合与任务迁移,而不是提出了全新的理论机制。

  2. DINOv3 的引入并不是本质创新。 论文证明 DINOv3 条件有用,但这更像 foundation feature conditioning 的常规强化手段。更值得注意的是,MoGe-2 / DA3 特征在某些指标上甚至更强,这说明性能提升的一部分可以由更任务相关的视觉表征解释,而不是 PointDiT 框架本身完全决定。

  3. 多步采样的意义有限。 多步主要提升 BF1 和局部细节,但主精度指标在 one-step 时已经接近饱和。并且 all-zero 单步输入也能工作,这使得 PointDiT 在推理行为上很像一个经过 diffusion/flow matching 训练的 deterministic mapper。论文强调 generative formulation,但实际部署时未必真的依赖随机生成能力。

  4. 与 deterministic regression 的讨论还可以更深入。 论文的对照实验显示 deterministic regressor 先收敛、后过拟合,flow matching 更稳定。但这并不能完全证明“确定性回归天然不适合 point map”。一个可能的反问是:如果 deterministic 模型也引入中间时间步、噪声增强、teacher target 或者类似 DVD 中 timestep anchor 的设置,是否还能保持这种差距?论文没有系统探索这个边界。

  5. 资源成本很高。 PointDiT-H 使用 1807M 参数,训练阶段最高使用 128 张 H100。即使 one-step 推理比 latent diffusion 快,它仍然比 MoGe-2 更大更慢。因此它更像高性能几何 foundation model 的路线,而不是端侧或实时系统的直接答案。

  6. 合成到真实的泛化仍然依赖数据覆盖。 论文全部用合成数据训练,再在真实数据 zero-shot 测试,结果很好。但 outdoor 场景仍被论文自己列为有提升空间,说明 point map 的尺度、天空、远距离结构和真实传感器分布仍然是主要风险。

记忆点

  1. PointDiT 的一句话概括: 用 plain ViT 在 raw point map pixel-space 上做 flow matching,并用 DINOv3 image token 条件化。

  2. 最核心的 recipe 是 x-prediction。 在这篇论文的设定中,v-pred 几乎失败,x-pred 才是让 point map diffusion 成立的关键。

  3. 真正有价值的不是“用了扩散”,而是同架构下 generative flow matching vs deterministic regression 的对照实验。 这个实验支持了生成式训练能缓解过平滑和边界模糊。

  4. 批判性看法: 这篇文章的范式并不神秘,基本是 MoGe 的 point map 表征、JiT 的 pixel-space plain ViT + x-pred recipe、PPD 的 pixel-space diffusion for monocular geometry 三者融合。它的价值在于把这套组合做得足够简洁、规模足够大、消融足够清楚。

  5. 可借鉴方向: 对深度估计/几何估计而言,未来可以重点研究“生成式训练是否只是更强的 regularization”,以及 deterministic regression 是否也能通过时间步、噪声扰动或中间状态训练获得类似的细节与泛化收益。