论文阅读_One-2-3-45
One-2-3-45: Any Single Image to 3D Mesh in 45 Seconds without Per-Shape Optimization
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | One-2-3-45: Any Single Image to 3D Mesh in 45 Seconds without Per-Shape Optimization |
| 作者 | Minghua Liu (UC San Diego), Chao Xu (UCLA), Haian Jin (Cornell/ZJU), Linghao Chen (UC San Diego/ZJU), Mukund Varma T (IIT Madras), Zexiang Xu (Adobe), Hao Su (UC San Diego) |
| 作者单位 | UC San Diego(第一单位) |
| 时间 | 2023(根据引用和内容推断) |
| 发表会议/期刊 | 暂未明确标注,应属预印本或待发表论文 |
方法概览
| 特点 | 文章性质 |
|---|---|
| 输入 | 单张RGB图像 |
| 输出 | 带纹理的三角网格 (Textured Triangle Mesh) |
| 所属领域 | 单图像三维重建(单视角→三维网格) |
摘要精简
本文提出了一种从单张图像快速生成完整360度带纹理三维网格的方法,名为 One-2-3-45。该方法无需逐场景优化,通过前向传播即可在约45秒内完成重建。流程分为三步:
- 使用视图条件扩散模型 Zero123 从单图生成多视角图像;
- 通过一个高程估计模块推算输入图像的相机姿态;
- 将多视角图像与姿态输入一个基于SDF的可泛化神经表面重建模块,输出带纹理的网格。
该方法在几何质量、三维一致性和对输入图像的贴合度上均优于现有方法,并可扩展至文本→3D任务。
引言与研究动机
单图像三维重建是计算机视觉中的经典难题,需从单一视角推断物体完整三维结构。传统方法通常依赖类别特定先验或在3D数据集上训练的生成模型,泛化能力有限且受3D数据规模制约。
近年来,2D扩散模型(如Stable Diffusion)在互联网规模图像上训练,学习了丰富的视觉概念和三维世界先验。因此,许多研究尝试利用这些2D先验辅助3D生成任务,典型做法是基于可微分渲染进行逐场景优化(如DreamFusion、Magic3D)。然而这类方法存在以下问题:
- 耗时长:优化需数万次迭代,通常需要数十分钟;
- 内存密集:高分辨率渲染时显存需求大;
- 3D不一致:容易产生“双面”(Janus)问题;
- 几何质量差:从密度场提取高质量网格困难。
为此,本文提出一种免优化的前向传播方法,结合2D扩散模型与基于成本体积的3D重建技术,实现快速、高质量、一致的单图像→网格生成。
创新点
1. 免优化的前向传播流水线
摒弃逐场景优化范式,首次将视图条件2D扩散模型与可泛化神经表面重建结合,实现单图→网格的端到端前向生成。
2. 两阶段源视图选择策略
训练时采用两阶段视图选择:先采样若干全局视角,再为每个视角用Zero123生成4张临近视角预测,确保局部对应关系与多视角一致性。
3. 地面真值与预测混合训练
训练时部分使用真实渲染图(提供深度监督),部分使用Zero123预测图,使网络能适应预测中的不一致性,并提升对真实数据的泛化能力。
4. 高程估计模块
设计一个模块通过四张临近视角预测输入图像在Zero123规范坐标系中的高程角,解决了输入视图姿态未知的问题。
5. 支持文本→3D扩展
方法可与现有文本→图像扩散模型(如DALL·E 2)结合,实现文本→图像→3D的流程,在保持快速的同时生成与文本对齐的网格。
网络架构
整体流水线包含三个核心模块:
-
多视图合成模块
使用Zero123模型,输入单张图像和相对相机变换 ,输出目标视角的图像。 -
姿态估计模块
输入单张图像,用Zero123生成四张临近视图,通过枚举高程角并计算重投影误差,估计输入图像的高程角 $ heta$。 -
3D重建模块
基于SparseNeuS(一种基于SDF的可泛化神经表面重建方法),输入多视角图像及其相机姿态,通过以下步骤重建网格:- 提取2D特征图
- 构建3D成本体积(基于多视角特征方差)
- 用稀疏3D CNN编码几何体积
- 通过两个MLP分别预测SDF和颜色
- 使用SDF渲染技术输出RGB和深度
- 通过Marching Cubes提取网格并查询顶点颜色
特征提取方式
重建模块首先使用一个2D特征网络从输入的多视角图像中提取特征图。接着,对每个3D体素投影到各视角特征平面上,取多视角特征的方差构建3D成本体积。该成本体积经过稀疏3D CNN处理,得到几何编码体积,用于后续SDF和颜色的解码。
生成的三维模型细节
生成的模型为带纹理的三角网格(Textured Triangle Mesh),支持完整360度视图。网格质量较高,几何细节清晰,纹理贴合输入图像,且在多数情况下保持三维一致性,避免“双面”问题。
三维模型生成步骤
- 输入单张图像
- 用Zero123生成8个全局视角的预测图像(均匀采样球面)
- 为每个全局视角生成4张临近视角预测(共32张)
- 通过高程估计模块计算输入图像的姿态
- 将32张预测图像及其计算出的相机姿态输入3D重建模块
- 模块前向传播输出SDF场和颜色场
- 用Marching Cubes提取网格,并为顶点着色
- 输出带纹理的360度网格
相关工作和对比
基于的工作
- Zero123:视图条件2D扩散模型,用于多视角合成
- SparseNeuS:基于SDF的可泛化神经表面重建方法
- DreamFusion / Magic3D:基于优化的文本/图像→3D方法
- Shap-E / Point-E:3D原生扩散模型(OpenAI)
对比的方法
- Point-E
- Shap-E
- Zero123 + Stable Dreamfusion
- 3DFuse
- RealFusion
评价指标
- F-Score(阈值0.05):衡量重建几何与真实网格的匹配程度
- CLIP相似度:衡量生成图像与输入图像的语义相似性
- 运行时间:在A100 GPU上的总耗时
损失函数
训练重建模块时使用以下损失:
其中:
- :渲染颜色与真实颜色的L1损失
- :渲染深度与真实深度的L1损失
- :Eikonal项,约束SDF梯度为单位长度
- :稀疏性项,鼓励几何紧凑
权重设置为:。
数据集使用
训练数据集
- Objaverse-LVIS:包含46k个3D模型,涵盖1156个类别
- 输入:单张图像 + Zero123预测的多视角图像
- 输出:带纹理的网格
测试数据集
- Objaverse:合成数据
- Google Scanned Objects (GSO):真实扫描物体
- 输入:单张图像
- 输出:预测的网格
消融实验内容
1. 训练策略消融
测试了以下变体:
- 不使用两阶段源视图选择(直接使用32张均匀视角预测)
- 仅使用8张源视图(无临近视角)
- 训练时不使用深度损失
- 训练时全部使用真实渲染(无Zero123预测)
- 训练时全部使用Zero123预测(无真实渲染)
结果:两阶段选择 + 混合训练 + 深度监督效果最佳。
2. 高程估计消融
展示了错误高程角(如±30°偏移)会导致重建形状扭曲;使用估计高程角可匹配真实高程结果。
3. 源视图数量影响
测试不同视图数量(如16、32、64),方法对视图数量不敏感,只要对应训练即可。
4. 360°重建 vs 多视图融合
比较了直接360°重建与分别重建各视角后融合的策略,后者因Zero123预测不一致而效果较差。
其他说明
- 方法支持与文本→图像模型(如DALL·E 2)结合,实现文本→3D生成
- 在A100上总耗时约45秒(其中重建模块约5秒,Zero123预测约32秒)
- 代码和项目页面公开在:http://one-2-3-45.com


