Conference

MVD^2: Efficient Multiview 3D Reconstruction for Multiview Diffusion

Xin-Yang Zheng, Hao Pan, Yu-Xiao Guo, Xin Tong, Yang Liu

Microsoft Research Asia

一句话总结

MVD2 用一个轻量神经网络把多视图扩散(MVD)生成的稀疏、不一致图像直接映射到三维特征体,再解码出可微网格,配合视角相关训练策略,在一秒内完成高质量三维重建。

研究背景

多视图扩散(MVD)通过微调预训练大图像扩散模型,先从图像或文本提示生成物体的多个视图,再做多视图三维重建,因其泛化性、质量和效率成为热门的三维生成技术。

但现状存在明显痛点。MVD 生成的图像存在两个固有问题:视图稀疏(受算力限制通常只生成 4~16 张)和细节不一致(跨视图缺乏像素级三维一致性)。而 NeRF、NeuS 等传统重建方法是为稠密、一致的多视图输入设计的,无法处理这种稀疏且不一致的输入,导致重建结果模糊、扭曲,且优化过程缓慢。已有改进方法要么无法保证像素级一致性,要么(如 One-2-3-45++)用两阶段三维扩散,仍受训练用渲染图与推理用生成图之间的域差异限制,且三维扩散过程慢。

作者的核心想法是:既然多视图图像通常已包含恢复三维形状的充分信息,就设计一个轻量网络,通过视角投影和三维卷积把多视图图像特征直接映射到三维特征体并输出可微网格,并用视角相关的训练方案化解”输入-输出不匹配”的困境。

方法

整体框架

MVD2 先由 MVD 模型基于参考图生成多个视角图像,然后从这些图像为粗三维网格 \(G\) 中每个点提取并平均特征,插值到更细的网格 \(G'\),再以可微方式抽取表面网格。训练时用参考视角 \(v_0\) 的像素级损失监督,其他视角用结构损失监督。

flowchart LR
  A[参考图 I0] --> B[MVD 模型<br/>生成多视图 Ii]
  B --> C[DINOv2 提取<br/>2D 特征图 Fi]
  C --> D[视角投影 + 平均池化<br/>得到粗特征体 G]
  D --> E[3D 卷积<br/>+ 三线性插值到 G']
  E --> F[FlexiCubes<br/>可微网格抽取]
  F --> G[纹理映射]

关键设计

MVD 重建困境与三大观察。 作者归纳了 MVD 图像的三条共性:P1 视点已知且稀疏散布;P2 图像大致三维一致但缺乏精度;P3 越接近输入参考视角,生成图越接近真实物体。据此指出一个困境:既不能用真实三维形状监督(因为远离参考视的生成图会偏离训练物体),也不能直接和所有输入图比对(因为它们本身三维不精确一致)。量化验证显示,越靠近参考视 \(v_0\) 的视角 PSNR 越高(\(v_1\) 为 25.61,中间视降到 23 左右)。

视角相关训练。 用三维形状作代理构造训练输入,损失函数按视角区别对待:参考视 \(v_0\) 用像素级损失要求完全匹配细节,其他视角只用 LPIPS 感知损失要求结构相似。总损失为

\[L = \lambda_1 L_d(d_{v_0}, \hat{d}_{v_0}) + \lambda_2 L_n(n_{v_0}, \hat{n}_{v_0}) + \lambda_3 L_m(m_{v_0}, \hat{m}_{v_0}) + \lambda_4 \sum_{v_i, i \neq 0} L_{LPIPS}(n_{v_i}, \hat{n}_{v_i}) + L_{reg}\]

其中 \(v_0\) 的像素损失分别作用于深度、法向、掩码图,权重取 \(\lambda_1 = \lambda_3 = 1.0, \lambda_2 = 0.2, \lambda_4 = 0.1\)。由于训练样本用随机参考视合成,模型能在任意视角恢复准确几何。

2D 到 3D 特征变换(对 MVD 模型无关)。 用预训练 DINOv2 把图像转成 2D 特征图(37×37 上采到 64×64),对空间点 \(p\) 按视角投影取特征,再用平均池化融合,使模型对输入图数量和顺序保持不变(类似 PointNeRF 的多视图设计)。参考视 \(v_0\) 图像仅用于训练时的损失计算,推理时不需要。

网格表示。 采用 FlexiCubes 从学习到的特征网格生成有符号距离和形变函数,经 marching cubes 抽取等值面网格,全流程可微。整个网络仅约 20 M 参数(四层 2D 卷积、四层 3D 卷积、三层 MLP),\(R_G = 32\),\(R_{G'} = 80\)。

实验结果

在 GSO 数据集上做单视图三维重建评测(CD、EMD、SSIM、LPIPS 等值均乘 100)。同为 Zero-123++ 生成的 6 张 MVD 图,MVD2 相较 NeuS 全面更优:

MVD 模型 重建方法 CD↓ EMD↓ SSIM_d↑ LPIPS_d↓ SSIM_n↑
Zero-123++ NeuS 1.543 16.02 87.01 15.52 72.89
Zero-123++ MVD2 1.044 13.58 89.20 10.80 80.01
Shap-E - 4.553 24.48 84.48 18.83 73.31
LRM - 1.716 17.12 86.04 15.28 69.65

MVD2 也优于 Shap-E、LRM 等图像到三维方法。效率上,DINOv2 特征提取约 0.2 秒、网络前向约 0.2 秒(峰值显存 5.2 GB,RTX 3090),远快于 NeuS 的 15 分钟;单图到三维整体约需 12 秒生成视图加不到 1 秒重建。

亮点与局限

亮点。 精准识别了”输入-输出不匹配”这一 MVD 重建的独特困境,并用简洁的视角相关训练方案化解,思路清晰。网络极轻量(20 M 参数)却能在一秒内出高质量网格,速度比 NeuS 快约三个数量级。因基于视角投影加平均池化,模型对 MVD 模型无关,预训练后能泛化到 Stable Zero123、SyncDreamer、Wonder3D 乃至文本条件的 MVDream 等不同视图配置。消融实验(A1~A5)清楚证明:用生成图而非真实渲染图、且用视角相关损失,逐步带来质量提升。

局限。 依赖”输入视图包含充分三维信息”的假设,若大片区域在所有视图中都不可见(如茶壶底部),未见部分会退化成锥状等不合理几何。对生成图的轻微不一致鲁棒,但当视图高度不协调时会失败。受显存限制网格分辨率无法超过 \(80^3\),难以重建细薄结构。纹理映射算法仅用于可视化,未处理 MVD 图的不一致或遮挡区域的补全。

延伸思考

方法把”扩散生成”与”三维重建”解耦,用轻量前馈网络替代逐场景优化,这种”通用重建器”的思路对加速整个图像到三维流水线很有借鉴意义。视角相关损失本质是承认生成数据不同视角可信度不同,这一”按可信度加权监督”的观点或许可推广到其他用生成数据训练重建/感知模型的场景。局限也指向明确的后续方向:结合生成先验补全不可见区域、提升网格分辨率以支持细薄结构、以及把纹理生成也纳入一致性建模,都可能是把该框架推向实用级三维资产生成的关键。