跳转至

Analysis-by-Synthesis Transformer for Single-View 3D Reconstruction

会议: ECCV 2024
arXiv: 无
代码: https://github.com/DianJJ/AST
领域: 3D视觉
关键词: 单视图3D重建, 分析合成范式, Transformer, 网格重建, 纹理生成

一句话总结

提出Analysis-by-Synthesis Transformer(AST),在统一框架中通过Shape Transformer和Texture Transformer分别建模像素到形状和像素到纹理的关系,仅使用2D标注就能实现高质量的网格重建和纹理生成,在CUB-200-2011和ShapeNet上超越已有方法。

研究背景与动机

领域现状:单视图3D重建旨在从单张2D图像恢复3D形状和纹理。深度学习方法在该任务上取得了显著进展,但主流方法通常依赖昂贵的3D标注(如3D网格、CAD模型、体素标注等)进行训练。近年来,Analysis-by-Synthesis(分析合成)范式受到关注——该范式通过"合成后比较"的方式学习3D重建,即预测3D形状/纹理后渲染成2D图像,与输入图像比较来训练,从而只需要2D标注(如轮廓掩码、2D关键点等)。

现有痛点:现有的分析合成方法在形状重建和纹理生成两方面都存在局限:(1) 形状方面——大多数方法通过简单的MLP或CNN从全局特征直接回归网格顶点位移,无法有效捕获图像像素与形状细节之间的精细对应关系,导致重建的网格缺乏细节且遮挡区域的恢复质量差;(2) 纹理方面——现有方法通常采用像素级的纹理采样策略(如基于投影关系从图像直接采样纹理),存在错误的归纳偏置——对可见区域直接复制图像像素,对不可见区域则无法获取合理纹理,导致纹理不连贯。

核心矛盾:形状重建需要理解图像的全局结构和局部细节与3D形状的对应关系,纹理生成需要从可见区域推断不可见区域的颜色信息。当前方法缺乏建模这两种复杂关系的能力,尤其在只有2D监督的条件下更加困难。

本文目标 1) 如何在只有2D标注的条件下建立图像像素与3D网格顶点的精细对应;2) 如何生成包括遮挡区域在内的完整、连贯的纹理;3) 如何在统一框架中同时解决形状和纹理两个子问题。

切入角度:作者认为Transformer的注意力机制天然适合建模图像像素与3D元素的长距离对应关系。通过设计可学习的shape queries和texture queries,让它们分别从图像特征中"查询"对应的形状变形和纹理信息,实现像素到形状和像素到纹理的精确映射。

核心 idea:用两个Transformer分别以可学习查询向量从图像特征中提取形状变形信息和纹理信息,通过交叉注意力建立像素级的2D-to-3D对应关系。

方法详解

整体框架

AST采用编码器-双分支解码器架构。输入单张RGB图像,通过CNN骨干网络提取多尺度图像特征。然后分两个并行分支处理:Shape Transformer接收可学习的shape queries并与图像特征进行交叉注意力,输出网格顶点位移;Texture Transformer接收可学习的texture queries并与图像特征进行交叉注意力,输出每个面的纹理信息。最后将重建的形状和纹理通过可微渲染器渲染成2D图像,与输入图像比较计算损失。

关键设计

  1. Shape Transformer:

    • 功能:从图像特征中提取形状信息,预测模板网格每个顶点的3D位移
    • 核心思路:初始化一组可学习的shape queries,每个query对应模板网格中的一个顶点或一组顶点。这些queries通过多层Transformer解码器与图像特征进行交叉注意力交互。在交叉注意力中,shape queries作为Query,图像特征作为Key和Value。每个shape query通过注意力机制自动学会关注图像中与其对应顶点相关的区域——例如表示鸟喙部分的query会关注图像中的喙区域。经过多层注意力迭代后,每个query被解码为对应顶点的3D位移向量 \(\Delta v \in \mathbb{R}^3\)。关键优势在于注意力机制能够建立非局部的像素-顶点对应,即使某些顶点在图像中被遮挡,也能通过全局上下文推断其形状
    • 设计动机:传统方法从全局特征直接回归所有顶点的位移,不同顶点共享同一个特征表示,难以捕获局部细节。Shape Transformer让每个顶点有独立的query,通过注意力机制建立个性化的像素对应,显著提高了重建精度尤其是遮挡区域的恢复
  2. Texture Transformer:

    • 功能:从图像特征中提取纹理信息,生成网格每个面的完整纹理
    • 核心思路:初始化一组可学习的texture queries,每个query对应网格中的一个面片(face)。Texture Transformer的结构与Shape Transformer类似,但目标不同——texture queries通过与图像特征的交叉注意力来聚合纹理信息。关键创新在于采用非局部的信息收集方式:不是简单地将每个面投影到图像上采样像素颜色,而是让每个texture query通过注意力在整个图像特征中搜索相关的纹理线索。这样,即使某个面在当前视角下被遮挡不可见,其texture query也能通过与可见区域的语义关联来推断合理的纹理
    • 设计动机:传统的投影采样方法存在严重的归纳偏置——它假设不可见区域应该从最近的可见像素获取纹理,但相邻区域的纹理可能完全不同(如鸟的腹部和翅膀)。Texture Transformer通过全局注意力消除了这种假设,让网络自己学习从哪里获取每个面的纹理信息
  3. 可微渲染与2D监督:

    • 功能:将3D预测渲染成2D图像,实现仅用2D标注训练3D重建模型
    • 核心思路:使用可微分渲染器(如PyTorch3D)将Shape Transformer输出的变形网格和Texture Transformer输出的纹理组合渲染成2D图像。渲染包括轮廓渲染(用于与真实掩码比较)和彩色渲染(用于与原始图像比较)。由于渲染过程可微,可以将2D层面的损失反向传播到3D预测中。此外,还利用2D关键点标注和相机参数作为辅助监督
    • 设计动机:3D标注获取成本高昂,而2D标注(图像+轮廓+关键点)相对容易获取。分析合成范式通过渲染连接3D预测和2D监督,大幅降低了标注需求

损失函数 / 训练策略

训练损失包含多个2D监督项:(1) 轮廓损失(IoU loss)——渲染轮廓与真值掩码的一致性;(2) 纹理损失(感知损失+L1损失)——渲染图像与原始图像的颜色一致性;(3) 关键点损失——预测网格上关键点投影到2D后与标注关键点的距离;(4) 网格正则化损失——包括拉普拉斯平滑项、法向一致性项、边长正则化项,确保网格表面光滑且无自相交。还引入了多阶段训练策略:先训练形状分支至收敛,再联合训练形状和纹理分支。

实验关键数据

主实验

数据集 指标 AST 之前SOTA 提升
CUB-200-2011 3D IoU↑ 最优 CMR/UMR等 显著提升
CUB-200-2011 FID↓ (纹理) 最优 前序方法 纹理质量大幅改善
ShapeNet (Car) 3D IoU↑ 最优 DIB-R等 在多类别上验证
ShapeNet (Chair) 3D IoU↑ 最优 前序方法 复杂形状上优势明显

消融实验

配置 3D IoU FID 说明
Full AST 最佳 最佳 完整模型
w/o Shape Transformer (用MLP替代) IoU下降明显 - 证明Transformer的像素-顶点对应的重要性
w/o Texture Transformer (用投影采样) - FID上升 说明非局部纹理采集优于投影采样
不同query数量 平滑变化 - query数与网格分辨率匹配时最优
不同Transformer层数 有饱和点 - 4-6层性能饱和

关键发现

  • Shape Transformer在遮挡区域的重建质量显著优于CNN/MLP方案——注意力机制能利用全局上下文推断不可见区域的形状
  • Texture Transformer生成的纹理在不可见区域明显更合理——传统投影采样在背面产生严重伪影,而Texture Transformer通过语义关联学到了合理的纹理推断
  • 在CUB鸟类数据集上表现尤为突出,因为鸟类有丰富的纹理模式和明确的语义部件结构,Transformer的查询机制能很好地捕获这些结构
  • 在ShapeNet的多类别上也能工作,说明方法不限于特定类别的形状

亮点与洞察

  • 两个Transformer的对称设计:Shape和Texture Transformer使用几乎相同的架构但解决不同的问题(形状vs纹理),体现了Transformer作为通用关系建模工具的灵活性。这种"同一工具、不同任务"的设计思路值得借鉴
  • 可学习查询作为3D先验:shape/texture queries在训练中学到了特定部位的先验知识——某些query固定关注鸟头、某些关注翅膀。这种通过注意力自动发现语义部件的特性非常有趣,无需显式的部件标注
  • 消除投影采样的归纳偏置:传统纹理获取假设"投影位置就是正确的纹理来源",Texture Transformer彻底打破了这一假设,让网络自己学习最佳的纹理信息来源,在不可见区域的表现大幅提升

局限与展望

  • 依赖模板网格(如球体)作为初始形状——对于拓扑结构与模板差异很大的物体(如有孔洞的形状),网格变形方式无法处理
  • 当前只支持单物体重建,多物体场景需要先检测分割再逐个重建
  • 可学习的query数量固定,限制了网格分辨率的灵活性。可以考虑动态query数量或多分辨率query方案
  • 训练仅使用2D标注,但仍需要相机参数估计和2D关键点标注,完全无标注的设置是更有挑战性的未来方向
  • 可以探索将Texture Transformer扩展为生成式模型(如结合扩散模型),在更多视角生成一致的纹理
  • 对于高频纹理细节(如毛发、条纹)的生成能力有限,受限于query的数量和分辨率

相关工作与启发

  • vs CMR (Category-Specific Mesh Reconstruction):CMR使用CNN全局特征直接回归顶点位移,缺乏像素级对应;AST通过Shape Transformer建立精细的像素-顶点映射,尤其在遮挡区域明显更优
  • vs UMR (U-CMR):UMR引入了纹理流来改善纹理质量,但仍基于投影采样范式;AST的Texture Transformer完全放弃投影假设,通过注意力进行非局部纹理收集
  • vs DIB-R:DIB-R使用可微渲染实现端到端训练,但形状预测仍依赖简单的变形网络;AST将Transformer引入变形过程,提供了更强的建模能力
  • 该工作展示了Transformer在2D-to-3D建模中的强大潜力,query机制特别适合建模跨维度(2D→3D)的对应关系

评分

  • 新颖性: ⭐⭐⭐⭐ 将Transformer的查询机制引入分析合成范式的3D重建,Shape和Texture双分支设计创新
  • 实验充分度: ⭐⭐⭐ 在两个数据集上验证,消融较完整,但缺少与最新方法的比较
  • 写作质量: ⭐⭐⭐⭐ 问题分析清晰,方法描述流畅,但部分技术细节需参考补充材料
  • 价值: ⭐⭐⭐⭐ 为2D监督的3D重建提供了新的Transformer方案,query发现语义部件的特性有启发

相关论文