3D-C2FT

基本信息

项目 内容
论文标题 Hunyuan3D
作者 Hunyuan3D Team (腾讯团队)
作者单位 腾讯 (Tencent)
时间 2025
发表会议/期刊

方法概览

特点 文章性质
输入 标定之后的多视角图像
输出 Mesh
所属领域 MeshMVS

3D-C2FT: Coarse-to-fine Transformer for Multi-view 3D Reconstruction 论文总结

方法名称:3D-C2FT (3D Coarse-to-fine Transformer)
作者:Leslie Ching Ow Tiong, Dick Sigmund, Andrew Beng Jin Teoh
第一单位:韩国科学技术研究院 (Korea Institute of Science and Technology)
发表年份与会议/期刊:2022年,发表于国际计算机视觉会议 (ICCV) 或其他计算机视觉顶会 (根据引用风格推断)。

摘要精简

本文提出了一个名为3D粗粒度到细粒度Transformer (3D-C2FT) 的新模型,用于解决多视角3D重建问题。该模型引入了一种新颖的粗粒度到细粒度 (C2F) 注意力机制,用于编码多视角特征并以从粗到细的方式修正有缺陷的3D物体。C2F注意力机制使模型能够学习多视角信息流,并逐步合成3D表面修正。模型在ShapeNet和自建的Multi-view Real-life数据集上进行了评估。实验结果表明,3D-C2FT取得了显著效果,并在这两个数据集上优于多个竞争模型。

引言:动机与出发点

多视角3D重建任务面临诸多挑战,如从2D图像反推3D结构的病态逆问题、视图重叠违反以及环境条件无约束等。传统方法及早期基于CNN或RNN的深度学习方法存在局限:CNN编码器独立处理每个视角,难以利用视图间关系;RNN虽能融合特征,但处理时间长且对输入顺序敏感。近期基于Transformer的方法使用单尺度多头自注意力 (MSA) 来探索多视角图像关系,但未能充分探索后续层之间相关特征的关联性,不利于物体重建。为此,本文提出3D-C2FT,旨在通过一种新颖的多尺度C2F注意力机制,更好地聚合编码特征并以从粗到细的方式细化解码的3D物体。

创新点

  1. 新颖的C2F注意力机制:提出了粗粒度到细粒度 (C2F) 注意力机制,用于多视角3D重建。该机制在原生Transformer探索多视角关系的基础上,能够以从全局(粗)到局部(细)的顺序学习特征的相关性。这包括:
    • C2F补丁注意力 (C2F Patch Attention):用于2D视图编码器,逐步提取从全局结构到局部部件的多尺度特征。
    • C2F立方体注意力 (C2F Cube Attention):用于3D细化器,对解码得到的3D体积进行从粗到细的表面修正。
  2. 3D-C2FT模型架构:提出了一个集成了上述C2F注意力机制的完整Transformer模型,用于多尺度多视角图像编码、特征融合以及解码物体的从粗到细细化。
  3. Multi-view Real-life数据集:编译了一个新的、由真实网络图像组成的多视角数据集,用于支持多视角3D重建在真实场景下的评估。

网络架构与输入输出

整体架构:如图1所示,3D-C2FT由四个主要模块组成:图像嵌入模块 (Image Embedding Module)、2D视图编码器 (2D-view Encoder)、3D解码器 (3D Decoder) 和3D细化器 (3D Refiner)。
输入:单张或多张 (n张) 物体视角图像 X={X1,X2,,Xn}X=\{X^1, X^2, \cdots, X^n\}
输出:一个修正后的、体素化的3D体积 Y^\hat{Y},分辨率为 32×32×3232\times 32\times 32

特征提取

  1. 图像嵌入:使用 DenseNet121 作为图像嵌入模块。每张视角图像 XnX^n 被处理成补丁嵌入 PnR1×dP^n \in \mathbb{R}^{1\times d},其中嵌入维度 d=768d=768
  2. C2F多尺度特征提取:补丁嵌入 PnP^n 及其位置编码被送入编码器的 C2F补丁注意力块。该模块包含 JJ 个块,每个块有 II 层MSA和MLP。每个块输出的特征 EI,jnE_{I,j}^n 的维度会按2的比率逐块缩减,从而实现从粗到细的特征提取。最终,JJ 个块输出的特征被拼接起来,形成C2F补丁嵌入 FnF^n

    Fn=Norm([EI,1n,EI,2n,,EI,Jn])F^n = \text{Norm}([E_{I,1}^n, E_{I,2}^n, \cdots, E_{I,J}^n])

三维场景生成步骤

  1. 编码:多视角图像经DenseNet121嵌入后,通过编码器的C2F补丁注意力块提取多尺度特征 FnF^n
  2. 解码:解码器接收所有视角的 FnF^n 和一个可学习的视图解释矩阵 HH,通过一个3D重建块(包含MSA和MLP)将其融合并转换为一个初始的3D体积 DD

    D=σ(MLP(MSA(H,Fn)))R32×32×32D = \sigma\left(\text{MLP}(\text{MSA}(H, F^n))\right) \in \mathbb{R}^{32\times 32\times 32}

    其中 σ\sigma 是Sigmoid激活函数。此时的 DD 通常存在缺陷。
  3. 细化:有缺陷的 DD 被送入细化器。细化器包含 LL 个C2F立方体注意力块,每个块处理不同尺度的体素嵌入(例如 8×8×88\times8\times8, 4×4×44\times4\times4)。通过C2F立方体注意力机制,细化器逐步、从粗到细地修正 DD 的表面,最终输出高质量的3D体积 Y^\hat{Y}

损失函数

采用组合损失函数 Ltotal\mathcal{L}_{\text{total}},结合了均方误差损失 (LMSE\mathcal{L}_{\text{MSE}}) 和3D结构相似性损失 (L3D-SSIM\mathcal{L}_{\text{3D-SSIM}}):

Ltotal(Y,Y^)=LMSE(Y,Y^)+L3D-SSIM(Y,Y^)\mathcal{L}_{\text{total}}(Y,\hat{Y}) = \mathcal{L}_{\text{MSE}}(Y,\hat{Y}) + \mathcal{L}_{\text{3D-SSIM}}(Y,\hat{Y})

其中:

LMSE(Y,Y^)=1M3x=0My=0Mz=0M(Yx,y,zY^x,y,z)2\mathcal{L}_{\text{MSE}}(Y,\hat{Y}) = \frac{1}{M^3}\sum_{x=0}^{M}\sum_{y=0}^{M}\sum_{z=0}^{M}(Y_{x,y,z} - \hat{Y}_{x,y,z})^2

L3D-SSIM(Y,Y^)=1(2μYμY^+c1)/(2σYY^+c2)(μY2+μY^2+c1)(σY2+σY^2+c2)\mathcal{L}_{\text{3D-SSIM}}(Y,\hat{Y}) = 1 - \frac{(2\mu_Y\mu_{\hat{Y}}+c_1)/(2\sigma_{Y\hat{Y}}+c_2)}{(\mu_Y^2 + \mu_{\hat{Y}}^2 + c_1)(\sigma_Y^2 + \sigma_{\hat{Y}}^2 + c_2)}

YY 是真实3D体积,Y^\hat{Y} 是重建的3D体积,M=32M=32c1=0.01c_1=0.01c2=0.03c_2=0.03。该损失函数同时优化体素精度和3D结构相似性。

训练与测试数据集

训练数据集:使用 ShapeNet数据集 的一个子集(13个类别,共43,783个物体)。每个物体有24个渲染视图。按照70:10:20的比例随机划分为训练集、验证集和测试集。
测试数据集

  1. ShapeNet测试集:用于定量评估(IoU, F-score)和遮挡鲁棒性测试。
  2. Multi-view Real-life数据集:作者自建的真实世界图像数据集,包含13个类别共60个样本,用于定性评估模型在真实场景下的泛化能力。

推理与部署的输入输出变化

  • 训练阶段:输入是固定数量(如8张)的随机采样的多视角图像及其对应的真实3D体积。模型学习从图像到3D体积的映射。
  • 推理/部署阶段:输入可以是任意数量(1张或多张)的视角图像。模型通过编码器处理这些图像,解码器融合特征生成初始3D体积,最后由细化器输出最终的、修正后的3D重建结果。这种设计使得模型在测试时对输入视图数量具有灵活性。

消融实验测试的组件

  1. C2F注意力机制可视化:通过注意力滚降 (attention rollout) 可视化编码器中不同C2F块(C2F1, C2F2, C2F3)的注意力图,验证了其确实从关注物体中心(全局粗特征)逐步转移到关注边缘和具体部件(局部细特征)。
  2. 细化器的重要性:对比了带细化器的3D-C2FT和不带细化器的版本 (3D-C2FT-WR)。结果显示,细化器能显著提升重建表面的质量和完整性,去除解码器输出中的噪声。
  3. 损失函数:对比了单独使用 LMSE\mathcal{L}_{\text{MSE}}、单独使用 L3D-SSIM\mathcal{L}_{\text{3D-SSIM}} 以及使用组合损失 Ltotal\mathcal{L}_{\text{total}} 的效果。组合损失取得了最佳性能,证明了同时优化体素误差和结构相似性的有效性。
  4. 训练时视角数量:研究了训练时固定输入视角数量(4、8、12)对模型性能的影响。实验发现,使用8个视图进行训练能在测试时取得最佳且最均衡的性能,过多(如12)或过少(如4)的固定训练视图数反而不是最优。