MeshFormer: High-Quality Mesh Generation with 3D-Guided Reconstruction Model

基本信息

项目 内容
论文标题 MeshFormer: High-Quality Mesh Generation with 3D-Guided Reconstruction Model
作者 Minghua Liu, Chong Zeng, Xinyue Wei, Ruoxi Shi, Linghao Chen, Chao Xu, Mengqi Zhang, Zhaoning Wang, Xiaoshuai Zhang, Isabella Liu, Hongzhi Wu, Hao Su
作者单位 1. UC San Diego; 2. Hillbot Inc.; 3. Zhejiang University; 4. UCLA
时间 2024
发表会议/期刊 arXiv preprint

方法概览

特点 文章性质
输入 稀疏多视角(如6张)的RGB图像及其对应的法线图(可由2D扩散模型预测)
输出 带纹理的高质量三角网格 (Textured Triangle Mesh)
所属领域 稀疏视角3D重建/生成

摘要

MeshFormer 是一个用于开放世界稀疏视角重建的模型,能够在几秒钟内从稀疏的多视角RGB和法线图像生成高质量、带纹理、具有细粒度几何细节的3D网格。与依赖triplane表示和纯Transformer的现有方法不同,MeshFormer采用显式的3D体素存储特征,并提出了结合Transformer与3D(稀疏)卷积的新型架构,以利用显式的3D空间结构和投影先验。除了RGB输入,模型还利用法线图作为输入提供几何指导,并采用带符号距离函数(SDF)监督与表面渲染相结合的统一单阶段训练策略,直接生成高质量网格,无需复杂多阶段训练。得益于这些显式的3D偏置,MeshFormer仅用8个GPU即可高效训练,并超越了许多需要上百个GPU的基线方法。

引言:出发点与动机

高质量3D网格在渲染、模拟和3D打印等领域至关重要。传统方法需要密集的输入视图和长时间处理。近期,开放世界3D生成取得了显著进展,主要范式包括:使用纯3D数据训练原生3D生成模型、使用SDS损失进行逐场景优化、以及先用2D扩散模型预测多视角图像再用前馈网络提升为3D模型。

其中,结合2D扩散模型预测多视角图再用前馈网络重建的策略,解决了纯3D模型泛化性差和逐场景优化方法耗时长、3D不一致的问题。然而,将多视角图像转换为3D的前馈模型仍有待深入探索。现有方法如One-2-3-45++、LRM等,或质量有限,或依赖triplane表示和体渲染,导致训练成本极高(需要上百GPU)且难以提取高质量网格。一些后续工作设计了复杂的多阶段“NeRF-to-Mesh”训练,但结果仍有改进空间。

因此,MeshFormer 的出发点在于:将多种3D原生先验(网络架构、监督信号、输入指导)显式地融入模型设计,以显著提升网格质量和训练效率。具体包括:采用显式3D体素表示、结合Transformer与3D卷积的架构、利用法线图作为几何指导、以及通过SDF监督实现稳定高效的单阶段网格训练。

创新点

  1. 显式3D体素表示与混合架构

    • 放弃Triplane,采用3D体素:相比于将3D特征分解为2D平面的triplane表示(缺乏显式3D空间结构,存在补丁边界伪影),MeshFormer选择显式3D稀疏体素来存储特征,保留了精确的3D空间结构。
    • VoxelFormer与SparseVoxelFormer:提出新颖架构,在3D UNet的瓶颈处集成Transformer层。使用局部3D卷积编码/解码高分辨率3D特征体,而全局Transformer层对压缩后的低分辨率特征体进行推理和先验记忆。这结合了3D卷积的局部结构感知和Transformer的强大表达能力。
  2. 投影感知交叉注意力

    • 为处理3D-2D交互,提出投影感知交叉注意力机制。对于每个3D体素,将其投影到多视图上获取局部2D特征(RGB特征、法线特征及像素值)。使用3D体素特征作为查询(Query),并将其与投影得到的m个2D特征共同作为键和值(Key/Value)进行交叉注意力计算。
    • 公式表示为:

    vextCrossAttention(Q={v},K={piv}i=1m+{v},V={piv}i=1m+{v})v \leftarrow ext{CrossAttention}(Q=\{v\},K=\{p_{i}^{v}\}_{i=1}^{m}+\{v\},V=\{p_{i}^{v}\}_{i=1}^{m}+\{v\})

    其中 $$v$$ 是3D体素特征,$$p_{i}^{v}$$ 是其在第i个视图的投影2D像素特征。相比传统MVS方法中的平均/最大池化,这种方式能更自适应地聚合多视角特征,更好地处理遮挡和可见性问题。

  3. 统一单阶段训练:表面渲染与SDF监督相结合

    • 现有方法常因训练不稳定而需要复杂的多阶段训练(如先训练粗糙NeRF)。MeshFormer提出在训练初期就引入显式的高分辨率(如512³)SDF监督
    • SDF损失为底层3D几何提供了明确的指导,起到了强大的正则化作用,使得模型能够直接从网格表示和可微表面渲染开始进行稳定的单阶段训练,无需依赖体积渲染或良好的几何初始化。
  4. 法线指导与几何增强

    • 法线作为输入:除了多视角RGB图像,MeshFormer还将多视角法线图作为输入。这些法线图可以由先进的2D扩散模型(如Zero123++)预测,为网络提供关键的几何线索,显著帮助捕获细粒度细节。
    • 学习法线纹理与后处理增强:模型额外学习一个3D法线纹理(通过一个独立的MLP)。在推理时,使用一种传统后处理算法,根据预测的法线纹理调整网格顶点位置,从而增强几何质量,生成锐利的细节。这种方式将法线纹理学习与底层几何学习解耦,使训练更稳定。

网络架构

MeshFormer 的整体流程包含两个核心模块,遵循由粗到细的策略:

  1. VoxelFormer:采用完整的3D卷积,处理输入的多视角特征,预测一个低分辨率(如64³)的粗略3D占用体素网格,标识哪些体素靠近表面。
  2. SparseVoxelFormer:对粗略预测中占用的体素进行细分,生成高分辨率(如256³)的稀疏体素。此模块采用3D稀疏卷积,预测这些稀疏体素的特征。
  3. 最终,通过插值从高分辨率稀疏特征体中获取任意近表面点的特征,输入多个小型MLP来分别预测SDF值、RGB颜色纹理和法线纹理。

特征提取

  • 2D特征提取:输入的多视角RGB和法线图像首先通过一个可训练的2D特征提取器(如DINOv2)进行处理,生成多视角的图像块特征。
  • 3D-2D特征聚合:通过投影感知交叉注意力机制,将每个3D体素投影到各个2D视图,并自适应地聚合对应的多视角2D特征,形成富含多视角信息的3D体素特征。
  • 3D特征编码与解码:通过3D卷积层进行下采样和上采样,并在UNet的瓶颈处使用Transformer层对压缩后的3D特征序列进行全局交互和增强。

三维模型细节

MeshFormer 生成带纹理的三角网格。得益于高分辨率SDF监督、法线输入的几何指导以及后处理几何增强,生成的网格具有非常高质量的几何细节,包括锐利的边缘和复杂的表面特征。论文中的可视化结果显示,其网格质量(几何准确性和纹理保真度)显著优于其他基线方法。

三维模型生成步骤

  1. 输入准备:给定单张图像,首先使用2D扩散模型(如Zero123++)生成稀疏多视角(如6张)的RGB图像和对应的法线图。
  2. 特征提取与3D体素化:RGB和法线图像通过2D特征提取器得到特征。一个可学习的共享token与3D体素坐标结合,通过投影感知交叉注意力开始构建3D特征体。
  3. 由粗到细重建
    • 粗略阶段:VoxelFormer 预测一个低分辨率占用体素网格,确定物体的大致空间范围。
    • 精细阶段:SparseVoxelFormer 在粗略占用的区域,以更高分辨率预测稀疏体素的特征。
  4. 场预测与网格提取:对空间中任意点,从其所在稀疏体素特征中插值得到特征向量,输入三个MLP分别查询其SDF值、RGB颜色和法线方向。使用 Marching Cubes 从预测的SDF场中提取三角网格。
  5. 几何增强(可选):使用后处理算法,根据网络预测的法线纹理调整网格顶点位置,进一步提升几何锐度。

相关工作与比较

  • 基于的工作/参考
    • 多视角扩散模型:如Zero123++,用于生成输入的多视角RGB和法线图。
    • LRM风格方法:如TripoSR, InstantMesh, MeshLRM,作为主要的性能对比基线。
    • 由粗到细策略:参考One-2-3-45++ 和 3D扩散模型的工作。
  • 比较的基线方法
    • One-2-3-45++:两阶段3D扩散模型。
    • TripoSR:基于Triplane的LRM。
    • CRM:基于卷积的重建模型。
    • LGM:大型高斯模型。
    • InstantMesh:结合多视角扩散和稀疏视角LRM的网格生成方法。
    • MeshLRM:专注于网格生成的LRM变体。
  • 评价指标
    • 3D几何质量:F-Score(阈值0.05),倒角距离(CD)。
    • 2D渲染质量:PSNR(峰值信噪比),LPIPS(学习感知图像块相似度),分别评估颜色和法线渲染图。

Loss 函数

MeshFormer 使用一个统一的多任务损失函数,结合了2D渲染损失和3D几何损失:

L=λ1LextMSEextcolor+λ2LextLPIPSextcolor+λ3LextMSEextnormal+λ4LextLPIPSextnormal+λ5Lextocc+λ6LextSDF\mathcal{L} = \lambda_{1}\mathcal{L}_{ ext{MSE}}^{ ext{color}} + \lambda_{2}\mathcal{L}_{ ext{LPIPS}}^{ ext{color}} + \lambda_{3}\mathcal{L}_{ ext{MSE}}^{ ext{normal}} + \lambda_{4}\mathcal{L}_{ ext{LPIPS}}^{ ext{normal}} + \lambda_{5}\mathcal{L}_{ ext{occ}} + \lambda_{6}\mathcal{L}_{ ext{SDF}}

其中:

  • \mathcal{L}_{ ext{MSE}}^{ ext{color}}$$ 和 $$\mathcal{L}_{ ext{LPIPS}}^{ ext{color}}$$ 是渲染的RGB图像与真实值之间的均方误差和感知损失。

  • \mathcal{L}_{ ext{occ}}$$ 和 $$\mathcal{L}_{ ext{SDF}}$$ 分别是低分辨率占用体素和高分辨率SDF体素与真实值之间的均方误差损失。

数据集

  • 训练集:从 Objaverse 数据集中筛选出的约395k个3D形状。为每个形状随机旋转并生成10个数据样本。每个样本包含:渲染的多视角(如6个)RGB图像、法线图像,以及计算得到的512³高分辨率真实SDF体素。
    • 训练输入:多视角RGB图像和法线图像。
    • 训练输出/监督:对应的SDF体素、占用体素,以及用于渲染损失的多视角RGB和法线真实图像。
  • 测试集
    • Google Scanned Objects (GSO):1,030个真实扫描物体。
    • OmniObject3D (Omni3D):从每个类别中随机采样最多5个,共1,038个形状。
    • 测试输入:单张测试图像(通过Zero123++生成多视角RGB和法线图作为MeshFormer输入)。
    • 测试输出:MeshFormer生成的网格。评估时与真实网格对齐后计算指标。

消融实验

  1. 法线输入的有效性
    • 实验设置:对比模型在有无多视角法线图作为输入的情况下的性能。
    • 结果:移除法线输入后,各项指标(PSNR, LPIPS, F-Score, CD)均显著下降(表3-a)。定性结果显示,没有法线指导,模型无法生成细粒度几何细节。
  2. SDF监督的有效性
    • 实验设置:在第一轮训练后移除SDF损失,仅使用表面渲染损失。
    • 结果:几何学习迅速恶化,导致几何质量差(表3-b)。这验证了SDF监督对于稳定单阶段网格训练至关重要。
  3. 投影感知交叉注意力的有效性
    • 实验设置:将投影感知交叉注意力替换为简单的平均池化。
    • 结果:性能显著下降(表3-d),证明该机制能更有效地处理3D-2D交互和遮挡问题。
  4. Transformer层的有效性
    • 实验设置:移除UNet瓶颈处的Transformer层。
    • 结果:纹理相关的质量指标(PSNR-C, LPIPS-C)下降(表3-c),表明纹理学习需要更广泛的先验,Transformer层对此有益。
  5. 几何增强的有效性
    • 实验设置:在推理时不使用法线纹理进行后处理几何增强。
    • 结果:定量指标略有下降(表3-e),定性结果(图5)显示后处理能产生更锐利的细节。
  6. 训练效率分析(对比Triplane)
    • 实验设置:在同等有限资源(8个H100 GPU训练48小时)下,对比MeshFormer与MeshLRM(基于Triplane)。
    • 结果:MeshLRM未能收敛且性能大幅下降,而MeshFormer已收敛至不错的结果(表2),证明了其显式3D结构带来的卓越训练效率。
  7. 输入法线质量的影响
    • 实验设置:使用预测的法线图(而非真实法线)作为输入。
    • 结果:性能介于使用真实法线和无法线输入之间(表3-f),表明2D法线预测模型的误差会影响最终重建质量。