点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
3D视觉硬件汇总,包括结构光3D相机(支持室内外,焊接,机械臂抓取等场景),相位偏折术、散斑、机械臂抓取和焊接软件,手持扫描仪(支持定位、重定位、稠密建图)、四足狗和小车定位和导航,底盘。点击->查看详情:
从“压缩-重建”到“直接生成”:单图3D重建的范式转换
单张图像重建3D场景,是计算机视觉领域最经典也最困难的问题之一。给定一张2D照片,模型需要“脑补”出每个像素在三维空间中的位置——这本质上是一个病态问题,因为无数种3D结构都可能投影到同一张2D图像上。
当前的主流方法分为两大阵营。
第一类是确定性回归模型,如MoGe、Depth Anything、UniDepth等。它们把点云预测当作一个回归任务,用复杂的混合架构(ViT+卷积)和精巧的损失函数来训练。但回归模型有一个根本性的局限:它们倾向于预测输出的“平均值”,导致几何结构被过度平滑——细长的椅子腿、透明的玻璃杯、薄薄的桌角,在这些模型中往往变成模糊的一团。
第二类是潜在扩散模型(LDM),如GeometryCrafter。它们把点云压缩到潜在空间,再通过扩散模型生成。但这里有一个两难困境:VAE的压缩是有损的,精细的几何结构在编码-解码过程中被磨平;同时,VAE重建 fidelity和扩散生成能力之间存在天然的冲突。即便没有扩散,仅VAE重建的点云就已经带有明显噪声。
图2a:点云VAE重建。即使没有扩散,VAE重建的点云也存在明显的噪声,从根本上限制了潜在扩散模型可达到的质量上限
PointDiT的答案是:为什么不绕过VAE,直接在像素空间用扩散生成3D点云?
图1:PointDiT架构总览。
为什么点云比深度图更有优势?
在深入PointDiT的技术细节之前,有必要理解为什么选择点云而非深度图作为预测目标。
深度图是2.5D表示:每个像素只存储一个标量值(到相机的距离),要恢复3D结构必须知道相机内参。但在真实场景中,相机内参往往不可获取——用户随手拍的一张照片,没有EXIF信息,没有校准标定。而点云直接存储每个像素的 坐标,不需要内参就能直接进行3D重建。
更重要的是,点云为扩散模型提供了天然的结构化空间:点云是三维的、连续范围的,而深度图是二维的、有界的。点云中的每个点都携带完整的空间信息,这为扩散模型提供了更丰富的几何信号。
方法:一个纯ViT,一张点云图,一个预测目标
PointDiT的核心理念是“极简主义”——用最少的组件完成最复杂的任务。
Flow Matching框架
PointDiT采用Flow Matching(流匹配)来建模点云生成。它学习一个常微分方程(ODE),将高斯噪声分布 连续地传输到数据分布 。
在时间 ,状态 定义为噪声 和真实点云 的线性插值:
当 时是纯噪声, 时是干净的点云。向量场 定义了从噪声到数据的直线路径。
关键设计:-prediction。与大多数Flow Matching模型预测速度(velocity)不同,PointDiT训练网络直接预测干净的点云 。然后通过重排插值路径将其转换为估计速度:
这个看似简单的选择至关重要——论文的消融实验(表3a)表明,-prediction会导致灾难性的失败(RelP高达35.44),而 -prediction 取得优秀结果(RelP 9.29),是模型成功的基石。
极简架构
PointDiT就是一个纯Vision Transformer(ViT)。它将噪声点云 分割成 的图块,通过线性投影得到点云token;同时用冻结的DINOv3编码器提取图像token,两者沿通道拼接后送入Transformer。
具体地,点云图块化后得到 个图块(),每个图块展平为 维向量,通过线性投影映射到嵌入维度 。图像分支从DINOv3的4个均匀间隔的中间层提取特征,沿通道维度拼接为 ,与点云token()拼接后形成 的输入序列,经线性层投影到 维后送入Transformer。
没有卷积、没有复杂的特征融合、没有精巧的损失函数设计——就是一个堆叠了自注意力和MLP的标准Transformer。
点云标准化与天空处理
3D点云的坐标范围因场景而异(室内 vs 室外),直接训练会导致数值不稳定。PointDiT对每个点云计算质心 和尺度 (点到质心的平均距离),将点云标准化为:
这使得数据尺度与噪声先验 相当,稳定了Flow Matching训练。
对于室外场景中深度无穷的天空,PointDiT在计算统计量时排除天空点,将其投影到半径为3的虚拟球面上,并在训练时给天空像素极低的权重()。推理时丢弃范数超过2.9的预测点——略低于天空球半径3,作为安全边际。
训练目标
Flow Matching损失(速度损失):
其中 是天空像素的降权因子(0.01 vs 1.0)。
相对点损失:
点云动态范围很大:远处的点坐标范数大,会主导标准误差度量,近处的细节被低估。相对损失通过除以目标点范数来归一化每个像素的误差,强调局部细节的重建。
总损失:,。与现有方法(如MoGe)通常依赖多个正则化损失不同,PointDiT主要由Flow Matching损失驱动,仅带一个轻量级辅助项。
噪声调度的关键细节
论文发现了一个重要的训练-推理不一致问题:原始的logit-normal噪声调度通过sigmoid将采样映射到时间域,几乎无法采样到精确的 ,导致模型从未见过纯噪声状态,推理时却从 开始。为解决这个问题,PointDiT以 的概率强制将采样时间步设置为 。这一简单修正显著提升了性能(表3b)。
单步推理的惊喜
虽然PointDiT是扩散模型,但它可以用单步推理就达到竞争性结果,更多步数则进一步细化细节(图3)。令人惊讶的是,从全零输入(而非随机噪声)开始,性能也几乎不变(表2)——RelP从4.45到4.45,从97.92%到97.93%。这意味着PointDiT已经学会了一个从DINOv3图像特征到几何点云的稳健映射,扩散过程只是锦上添花,而非必需。
图3:不同扩散采样步数的效果。
实验:超越复杂模型,边界清晰度全面领先
训练数据
PointDiT的训练全部来自合成数据集,分两个阶段:
阶段1(预训练) :在SceneNet-RGBD(McCormac et al., 2017)上训练,这是一个大型室内合成数据集,约536万样本。其规模和干净的室内几何让模型以低成本获得强大的图像到点云先验。
阶段2(微调) :在11个合成数据集的混合上训练(约622万样本),涵盖室内、户外地面级、空中等多样化场景。通过加权采样平衡各数据集的贡献(表4),确保小规模高质量数据集(如Synscapes, 2.5万样本)被充分采样(权重9%),而大规模数据集(如TartanGround, 417万样本)不会主导训练(权重15%)。
模型有三个规模变体:PointDiT-B(Base, 223M参数)、PointDiT-L(Large, 771M参数)、PointDiT-H(Huge, 1,807M参数)。
评估数据集
在7个真实世界数据集(DIODE、KITTI、NYUv2、ETH3D、HAMMER、iBims-1、Booster,共3,444个样本)上进行零样本评估,全部与合成训练集无重叠。其中HAMMER、iBims-1、Booster三个数据集特别关注边界(包含透明/镜面表面和尖锐平面不连续),用于评估边界清晰度指标BF1。
评估在 分辨率下进行。所有输入图像按短边缩放到512像素,中心裁剪到正方形。PointDiT预测仿射不变的点云,从中提取z分量得到仿射不变的深度图。评估时按MoGe的对齐协议,通过最小二乘法确定最优尺度和偏移来最小化预测与真值的差异。
表5:零样本评估数据集。全部为真实数据,与训练集无重叠。
核心结果
定量对比:PointDiT-H取得了最佳深度精度(Rel 2.75, 98.54%),PointDiT-L则取得了最高的边界清晰度(BF1 10.50)。在边界清晰度指标BF1上,PointDiT-L将此前的最佳结果(Depth Pro的9.41)提升到了10.50,相对提升 11.6% 。在单步推理(72ms)下,PointDiT-H就已经超越了所有此前方法。

值得注意的是,在包含户外场景的数据集(KITTI、DIODE、ETH3D)上,PointDiT略逊于MoGe和UniDepthV2等强回归基线。论文作者将其归因于合成训练数据中户外场景覆盖不足——未来引入更多户外数据将缩小这一差距。
边界清晰度的视觉验证
在定性对比中,PointDiT在多个关键场景类型上都显著优于此前方法:
薄结构(图4第1行):椅子腿、桌角等细长结构在PointDiT中清晰锐利,在GeometryCrafter和MoGe中则模糊不清 透明物体(图4第2行):玻璃杯、透明塑料等在PointDiT中被准确重建,而其他方法要么丢失要么变形 全局相对尺度(图4第3、4行):整个场景的深度关系在PointDiT中保持一致,而其他方法在不同区域的尺度存在漂移
这种优势直接来源于两点:一是绕过了VAE的有损压缩(图2a),二是用生成式建模替代了确定性回归的“平均化”倾向(图2b)。
图4:点云对比。PointDiT在重建薄结构(第1行)、透明物体(第2行)以及保持全局场景的相对尺度(第3、4行)方面显著更优。
生成 vs 回归:一个精巧的控制实验
为了进一步证明生成式Flow Matching的优势,论文作者做了一个精巧的控制实验:用完全相同的网络架构、训练数据和训练流程,训练一个确定性回归器——固定时间步和噪声为0,即 。
结果(图5a)令人信服:
收敛行为:确定性回归器初期收敛更快,但很快就过拟合了;生成式模型稳定训练,最终达到更低的误差 最终性能:边界指标BF1从10.90(确定性)提升到了13.92(生成式),相对提升27.7%
视觉对比(图5b)更直观:确定性回归器产生模糊的边界,无法恢复薄结构和透明物体;生成式模型则重建出清晰得多的边界。
图5:生成式Flow Matching vs 确定性回归。(a) 确定性回归器初期收敛更快但很快过拟合,生成式模型稳定训练并达到更低误差。(b) 生成式模型恢复出更清晰的边界、薄结构和透明物体。整体上生成式公式将边界指标BF1从10.90提升到13.92。
消融实验:x-prediction是关键
论文的消融实验(表3)揭示了几个关键设计选择:
预测目标
| -prediction | 9.29 | 91.18 | 5.54 | 95.08 | 13.47 |
-prediction导致灾难性失败,而 -prediction取得优秀结果。这验证了 -prediction对于3D点云生成同样至关重要,将JiT(Li & He, 2026)在2D图像生成中的发现扩展到了3D几何领域。
噪声调度
| + 随机 | 9.68 | 90.54 | 6.00 |
原始的logit-normal调度()效果不佳,因为sigmoid映射几乎无法采样到精确的 。将均值向高噪声区域偏移()部分缓解了问题,但最终性能仍不及10%概率强制设置 的简单修正。
图像嵌入
| DINOv3(4层) | 9.29 | 91.18 | 13.47 |
即便没有预训练图像骨干(纯线性嵌入),模型已取得不错结果(BF1 9.68)。DINOv3优于DINOv2,而均匀采样4个中间层进一步大幅提升了性能,尤其是BF1指标(从6.00提升到13.47,**提升124%**)。有趣的是,MoGe-2和DA3的特征虽然提升了精度指标(Rel和),但DINOv3在边界清晰度上仍保持领先。论文作者推测,这是因为MoGe-2和DA3用回归目标训练,倾向于过度平滑几何,其表示保留的高频边界信息较少。论文不使用这些特征,以展示纯像素空间扩散框架的有效性。
训练损失
| Flow Matching + 相对点损失 | 9.10 | 91.48 | 13.92 |
仅Flow Matching损失已经非常有效,添加专门为点云数据设计的相对点损失进一步改善了结果(BF1从13.47提升到13.92)。
图块大小
| 16 | 5.01 | 97.34 | 10.37 |
在 分辨率下,图块大小16比32取得更好的整体结果和更清晰的边界——点云预测需要像素级精度,更大的图块会丢弃更多高频细节。图6的定性对比也证实了这一点。
图6:图块大小的影响。在 分辨率下,图块大小16比32恢复出更清晰的边界和更精细的局部结构。
推理效率:参数与速度的全面分析
各变体的训练成本和推理时间:
相比之下,GeometryCrafter(1,937M参数)推理需1,178ms,PointDiT-H(1,807M)仅需144ms——参数更少、推理更快、质量更好。单步推理下PointDiT-H仅需72ms,已经超越所有此前方法。
开源与使用
PointDiT的代码和预训练模型已全面开源:
代码仓库:https://github.com/google-research/pointdit 论文:https://arxiv.org/abs/2607.02515 项目页面:https://haofeixu.github.io/pointdit/
环境配置
conda create -y -n pointdit python=3.12
conda activate pointdit
pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
模型与推理
DINOv3权重是受限制的(gated),需要从官方DINOv3仓库申请访问权限,并将权重放置在 pretrained/dinov3/ 目录下。
所有模型权重可从MODELS.md获取,包括PointDiT-B、PointDiT-L、PointDiT-H的预训练权重。使用示例:
# 加载模型和权重
import torch
from pointdit.model import create_model
model = create_model("pointdit_l") # 或 pointdit_b, pointdit_h
model.load_state_dict(torch.load("checkpoint.pth"))
# 单步推理
with torch.no_grad():
# image: [1, 3, H, W], normalized to [-1, 1]
point_map, depth = model(image, num_steps=1)
结论与展望
PointDiT用极简的设计证明了一个重要的观点:单图3D重建不需要VAE、不需要复杂的混合架构、不需要精巧的损失函数。一个纯ViT,在像素空间直接用扩散生成点云,就能取得超越复杂模型的结果——边界更清晰、透明物体更鲁棒、推理更高效(单步72ms vs 潜在扩散的1,178ms)。
这项工作不仅为单图3D重建提供了新范式,更为未来的3D和4D生成模型指明了一个方向:直接建模复杂结构分布,而不是先压缩再生成。当生成式建模遇上3D几何,PointDiT告诉我们——有时候,“回归基本面”才是最大的创新。
论文最后坦诚地指出了几个局限:当前模型在固定分辨率(和)下训练,混合分辨率训练是未来方向;户外场景仍有提升空间,需要更多样化的训练数据;模型目前仅预测几何,但纯ViT的架构使其可以轻松扩展到联合输出RGB等额外模态——这为多视角生成、替代3D表示和更丰富的条件信号(如相机参数)打开了想象空间。
论文信息:
标题:PointDiT: Pixel-Space Diffusion for Monocular Geometry Estimation 作者:Haofei Xu, Rundi Wu, Philipp Henzler, Nikolai Kalischek, Michael Oechsle, Fabian Manhardt, Marc Pollefeys, Andreas Geiger, Federico Tombari, Michael Niemeyer 会议:ICML 2026 机构:Google、ETH Zurich、University of Tübingen、Microsoft、TUM 代码:https://github.com/google-research/pointdit
本文仅做学术分享,如有侵权,请联系删文。
。




添加微信:cv3d001,备注:姓名+方向+单位,邀请入群。