Pixal3D:基于像素对齐的图像到三维生成方法 Pixal3D: Pixel-Aligned 3D Generation from Images
把图像特征直接反投影回三维体素空间,让生成与输入像素严格一一对应,从根本上解决 image-to-3D 的保真度瓶颈。
前置知识
三维潜在扩散模型 (3D Latent Diffusion)
借鉴 Stable Diffusion 思路,先用 VAE 把三维表示 (稀疏体素 SDF、点云、triplane) 压缩到潜空间,再在潜空间训练 DiT 做去噪扩散,最后解码回 3D。代表工作有 3DShape2VecSet、TRELLIS、Direct3D-S2。
Pixal3D 是在 Direct3D-S2 这套稀疏体素 + DiT 框架上改造的,不理解潜空间扩散就不知道 cross-attention 在哪里、为什么 back-projection 是有意义的替换。
Cross-Attention 图像条件注入
主流做法是把 DINOv2/CLIP 的图像 token 与 3D 潜码 token 一起送入 DiT 的 cross-attention 层,让 3D token 学会「注意」2D token。这种关联是隐式模糊的:同一 2D 区域可能解释多个 3D 位置。
Pixal3D 论文的核心论点是:保真度问题的根因正是 cross-attention 的 2D-3D 对应模糊。理解这点才能看懂论文的动机与设计。
相机坐标系下的体素化与反投影 (Back-projection)
给定相机内参 $K$、外参 $[R|t]$,体素 $(i,j,k)$ 可投影到像素 $(u,v)$:$[u,v,1]^T \sim K[R|t]X_{i,j,k}$。反之,相机射线上所有 3D 点共享同一像素特征——这是 MVS、NeuralRecon 等工作的几何基础。
Pixal3D 的 back-projection 条件器正是把这个几何先验从重建领域搬到了生成领域,是论文最核心的工程创新。
稀疏体素 SDF 与 Marching Cubes
SDF 是表示物体表面的有符号距离场。在 Direct3D-S2/TRELLIS 体系中,物体被表达为稀疏体素形式的 SDF 潜码,VAE 编/解码后用 Marching Cubes 抽 mesh。
Pixal3D 的训练目标是 pixel-aligned 稀疏 SDF,VAE 在像素对齐坐标系下重新训练,是论文方法链路上的关键一环。
研究动机
近两年 3D 原生生成模型 (TRELLIS、TripoSG、Hunyuan3D-2.1、Direct3D-S2) 在几何、纹理、可控部件上突飞猛进,但在「给我一张图,给我长得像它的 3D 资产」上仍力不从心。Toys4K 指标量化问题:Hunyuan3D-2.1 的 PSNR 21.96、SSIM 0.889、LPIPS 0.179,TRELLIS 20.98/0.883/0.204,Direct3D-S2 19.49/0.851/0.268;法向中值误差 14-23°,30° 准确率 63-76%。在 150 张复杂图用户研究上,TRELLIS 保真度仅 1.86/5、TripoSG 2.25、Hunyuan3D-2.1 2.77、Direct3D-S2 3.21,键盘错位、人脸飘移、花瓣数错等错误普遍。论文把这种系统性偏差归因于「2D-3D 对应模糊」:现有方法在 canonical pose 生成物体再 cross-attention 注入图像,同一 2D 区域在未知姿态下可解释很多 3D 位置,cross-attention 只能学到退化的「全局语义」近似,丢失像素级保真度。
本文的目标是Pixal3D 的目标是在保持 3D 原生生成可扩展性的同时,把 image-to-3D 的保真度推进到接近单视图重建的水平。具体包含四点:(1) 提出一个能在大规模数据上训练、可扩展的像素对齐 3D 生成范式,从根本上消除 canonical pose + cross-attention 的对应模糊;(2) 给出一种基于几何投影的图像条件机制(back-projection conditioning),在像素和体素之间建立显式一一对应;(3) 把这套范式自然扩展到多视图生成,不需要重新设计架构;(4) 利用像素对齐输出天然相机对齐这一性质,构建一个模块化的图像到 3D 场景生成流水线。
与已有工作不同的是,已有工作中最接近思路的是 3D 重建+生成的融合 (ReconViaGen、CUPID),但它们要么把 VGGT 等重建特征灌进 canonical 生成器,要么联合预测 canonical 物体和相机位姿,2D-3D 对应仍然是「预测出来」的隐式量,对相机估计误差敏感,跨物体、跨部件的对应仍会出错。Pixal3D 的独特切入角度是:不预测对应,而是用相机几何直接确定对应——把图像特征沿着相机射线 back-project 到 3D 体素,让「每个像素 ⇒ 每条射线 ⇒ 一组体素」这件事变成由相机内参和外参决定的硬约束,从而把生成模型从「学对应」解放到「学补全」。这一做法在范式上与 canonical 生成彻底不同,也天然规避了 SAM3D 等场景合成方案中估计 7-DoF 位姿的脆弱步骤。
核心方法
Pixal3D 的整体思路是把生成从 canonical pose 搬到输入图像的相机坐标系 (view-centric, pixel-aligned):模型直接预测「从这张图看上去」的 3D 物体,而不是归一化到固定朝向的抽象 3D 物体。技术上沿用 Direct3D-S2 的两阶段稀疏体素潜码 + DiT 框架,把跨注意力替换为「反投影条件器」:用 DINOv2-Large 提特征、NAF 把 patch token 上采样到 518×518,再把每个体素按相机投影关系映射回像素平面,双线性采样多尺度特征,得到一个 64³ 的 pixel-aligned 3D 特征体;这个体直接加到 DiT 噪声体上作为条件,再把 DINOv2 的 CLS token 走 cross-attention 注入全局语义。多视图情形下,对每个视图分别 back-project 再逐体素平均融合;场景生成则串接 SAM3 分割 + Qwen-image-edit 补全 + Pixal3D 单物体生成 + MoGe 全局点图最小二乘对齐四个模块。
核心创新是「用相机几何硬约束替代 cross-attention 软搜索」。具体说,cross-attention 是一种「内容寻址」:3D 潜码 token 通过 query-key 匹配去「问」图像 token 找语义关联,对应关系是数据驱动学到的,对局部细节、重复部件、多视图歧义天然脆弱。Pixal3D 反其道而行:每一个三维体素 $(i,j,k)$ 沿着相机射线投影到图像,得到唯一一个 $(u,v)$ 像素,然后把 $(u,v)$ 处的图像特征取出来填进体素。这种 one-shot、无歧义的 2D-3D 映射完全由相机内外参决定,不需要网络学。条件信号从「3D token 全局询问图像」变成「每个 3D 体素只接收自己那条射线上的图像特征」,代价是要求相机参数已知或可推断(推理时通过「固定单位立方体 + 让四条对角射线打到立方体背面四角」的几何公式自动求解 $d$),收益是保真度上限从「学到什么是什么」提升到「和重建一样紧贴输入图像」。
方法步骤详情
训练四步。(1) 数据:TRELLIS-500K 做 watertight + 随机旋转 + 多 FoV 渲染,得 pixel-aligned 图像-SDF 对。(2) VAE:沿用 Direct3D-S2,微调解码器适配 pixel-aligned 稀疏 SDF。(3) DiT:DINOv2-Large 提 patch feature,NAF 上采样到 518×518;64³ back-projected 特征体逐元素加到 3D 噪声体;CLS token 走 cross-attention 注入全局;dense DiT 约 50 万步,sparse DiT 在 256→1024 四档累计约 42 万步。(4) 多视图微调:单视图模型加 2-6 视角微调,推理时 back-project 体素按平均聚合。推理无需相机参数:$s=1$ 单位立方体 + 小 FoV,由 $d = 1/(2\tan(\text{FoV}/2))$ 解距离;Marching Cubes 输出 mesh。场景:SAM3 分割 + Qwen-image-edit 补全 + Pixal3D + MoGe 对齐。
技术新颖性
技术新颖性体现在三个层面。第一层是范式层面:第一次明确提出「3D 原生像素对齐生成」的概念,并论证它在大规模数据上可行 (稀疏体素 + DiT 仍能 scale),打破了「生成必须 canonical」的隐含假设。第二层是机制层面:把 multi-view stereo / NeuralRecon 时代就有的 unprojection lifting 思想首次系统地用于 3D 生成式条件注入,并替换掉 cross-attention 这种主流做法;多尺度 DINOv2 + NAF 上采样的设计让高分辨率特征条件几乎零成本地加入 (相比 cross-attention 在高分辨率下不可承受的计算量)。第三层是统一性层面:单视图、多视图、场景生成在同一个「像素对齐 + 反投影」框架下自然展开,多视图用平均聚合,场景用全局点图最小二乘;这种统一性在 SAM3D、ReconViaGen 这类工作里是不存在的,它们要么要估计 7-DoF 位姿,要么要在 canonical-像素之间反复切换。
实验结果
论文在 Toys4K 单视图基准 (表 1) 上 Pixal3D 在十个指标全面领先 SOTA:IoU 93.57 vs Hunyuan3D-2.1 的 83.33 (+10.24),PSNR 24.21 vs 21.96 (+2.25 dB),LPIPS 0.108 vs 0.179 (-39.7%);法向 30° 准确率 85.35% vs 75.83%。多视图 (表 3) 同样领先,2 视角 CD 5.27×10⁻⁴、F-Score 64.94,TRELLIS 21.39/43.68,VGGT 613.55/9.67;视数 2→6 时 CD 降到 4.16×10⁻⁴、F-Score 升到 69.04。复杂 in-the-wild 图 (表 2) 用户研究保真度 4.91/5、质量 4.74/5,远超次优 Direct3D-S2 的 3.21/3.64,几乎所有受试者偏好 Pixal3D。消融 (图 8) 上,去掉 NAF 上采样会细节丢失和对齐偏移;去掉 back-projection 改回 cross-attention 则训练不稳定、收敛慢、保真度明显劣化。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 单视图 3D 生成 (Toys4K) | IoU (法向重叠率) ↑ | 93.57 | Hunyuan3D-2.1: 83.33;TRELLIS: 79.48;Direct3D-S2: 74.23;TripoSG: 73.54 | +10.24 相对 Hunyuan3D-2.1;+19.34 相对 Direct3D-S2 |
| 单视图 3D 生成 (Toys4K) | PSNR (dB) ↑ | 24.21 | Hunyuan3D-2.1: 21.96;TRELLIS: 20.98;Direct3D-S2: 19.49 | +2.25 dB 相对 Hunyuan3D-2.1 |
| 单视图 3D 生成 (Toys4K) | LPIPS ↓ | 0.108 | Hunyuan3D-2.1: 0.179;TRELLIS: 0.204;Direct3D-S2: 0.268 | 相对 Hunyuan3D-2.1 降低 39.7% |
| 单视图 3D 生成 (Toys4K) | 法向角度 30° 准确率 ↑ | 85.35% | Hunyuan3D-2.1: 75.83%;TRELLIS: 70.80%;Direct3D-S2: 63.20% | +9.52 pp 相对 Hunyuan3D-2.1 |
| 单视图 3D 生成 (in-the-wild 用户研究) | 保真度主观分 (1-5) ↑ | 4.91 | Direct3D-S2: 3.21;Hunyuan3D-2.1: 2.77;TripoSG: 2.25;TRELLIS: 1.86 | +1.70 分 (几乎所有受试者偏好 Pixal3D) |
| 多视图 3D 生成 (Toys4K, 2 视角) | Chamfer Distance (10⁻⁴) ↓ | 5.27 | TRELLIS: 21.39;VGGT: 613.55 | 比 TRELLIS 低 4.06 倍 |
| 多视图 3D 生成 (Toys4K, 6 视角) | F-Score ↑ | 69.04 | TRELLIS: 46.02;VGGT: 9.67 | +23.02 比 TRELLIS |
局限与改进
作者自己在 4.5 节承认了三个主要局限:(1) 对像素级噪声 (如 SAM 分割边界不干净) 非常敏感,因为 back-projection 是「所见即所得」地把 2D 误差直接放大到 3D;(2) 多视图假设相机位姿已知且准确,否则不同视图的 back-project 体在相机坐标系里对不上,融合会出现重影;(3) 场景生成依赖 Qwen-image-edit 做 2D 遮挡补全,遇到复杂遮挡或大面积缺失时补全结果不稳定,错误会传到下游 3D 生成。我自己的额外观察:(4) 论文基线用的 Toys4K 几何相对简单,与 in-the-wild 上的视觉对比才是真正说服力的来源,但用户研究只跑了 30 人,主观结论的统计显著性需要更大样本验证;(5) 推理时依赖「单位立方体 + 视锥对齐」的隐式相机求解,对超大或超小物体、近距离拍摄等情况的几何鲁棒性没有压力测试;(6) 论文只评估了几何保真度,没评估纹理/材质,因为还没有 PBR 合成模块,对实际 ready-to-use 资产流程的支持有限。
独立分析的弱点
三个值得关注的弱点。第一个是「像素对齐」的代价是物体尺度/位置编码到相机射线里,模型不能像 canonical 生成那样学到「同一类物体共享先验」,对罕见姿态、严重遮挡可能反而比 canonical 差;改进方向是训练时混合多相机距离+FoV,并显式把物体尺寸/距离编码成可学习先验。第二个是 back-projection 条件器把图像信息一次性灌进 3D 体,没有给生成模型「挑选」信息的自由——图像有遮挡/阴影/镜面反射时噪声像素被无差别注入;改进方向是引入 monocular depth 不确定性图做门控,或在 DiT 中保留轻量 cross-attention 过滤低置信度区域。第三个是当前 pipeline 没有纹理合成模块,几何再准但没 PBR 材质也不算可用资产;改进方向是借鉴 NaTex、TEXGen 思路,把像素对齐潜码作为几何约束,再训练一个 pixel-aligned texture diffusion。
未来方向
作者在第 4.5 节给出了三个明确方向:(1) 在像素对齐几何骨干之上加 texture/material 合成;(2) 通过 2D 像素操作实现 3D 编辑 (因为每个体素都能追溯到具体像素,编辑一张图就能直接编辑对应的 3D 区域);(3) 把像素对齐范式扩展到视频输入,连接 3D 资产生成与可控制世界构建。基于论文成果还可以延伸的方向包括:(4) 用 back-projection + 隐式相机求解把范式推广到 loose / weakly calibrated 多视图 (例如手机视频),让普通用户也能用;(5) 与大语言模型结合,让 LLM 根据用户描述在图像上「画」出目标 3D 编辑 mask,再借助像素对应自动定位 3D 区域;(6) 把 pixel-aligned 3D 作为 robotics / embodied AI 的中间表征,方便策略网络对单张图直接做 3D 空间推理。
复现评估
复现友好度中等偏上。代码承诺公开 (project page https://ldyang694.github.io/projects/pixal3d/),训练数据用公开 TRELLIS-500K (Objaverse 子集),评估用 Toys4K 公开集,baseline (TRELLIS、TripoSG、Hunyuan3D-2.1、Direct3D-S2、VGGT) 全部开源。架构沿用 Direct3D-S2 的 VAE+DiT,仅替换 cross-attention 为 back-projection,改动范围可控。算力上 sparse DiT 训练需 4 个分辨率 (256→1024) 累计约 42 万步,dense DiT 约 50 万步,加 DINOv2-Large 推理和多视图微调,单机 8×A100 80G 大致需 1-2 周;推理单卡几秒到十几秒。难度主要在数据流水线 (pixel-aligned 图像-SDF 配对) 和 back-projection 条件器的向量化实现 (voxel-to-pixel 投影 + 双线性采样),需吃透 Direct3D-S2 仓库。
论文图表
消融实验可视化。每行一张输入图,对应 Direct3D-S2 / 去掉 Back-proj Condition / 去掉 Feature Upsample / 完整 Pixal3D 四个变体。可以直观看到去掉 NAF 上采样会出现细节缺失和错位,去掉 back-projection 训练不稳定且保真度明显劣化。
用最小代价证明 back-projection 和多尺度上采样都是不可或缺的设计。