基于单幅图像进行三维重建是一项具有重要应用价值的任务,但实现起来也非常困难,需要模型对对自然世界具有广泛的先验知识。
之前有工作通过在2D扩散模型的引导下优化神经辐射场来解决这个问题,但仍存在优化时间过长、3D结果不一致以及几何形状不佳等问题。
最近,来自加州大学圣迭戈分校、加州大学洛杉矶分校、康奈尔大学、浙江大学、印度理工学院马德拉斯分校以及Adobe的研究人员联合提出一个新模型One-2-3-45,以任意物体的单张图像作为输入,只需45秒即可在一次前馈过程中生成一个完整的360度的3D纹理网格。
图片
论文链接:https://arxiv.org/pdf/2306.16928.pdf
项目主页:https://one-2-3-45.github.io/
在线Demo:https://huggingface.co/spaces/One-2-3-45/One-2-3-45
图片
One-2-3-45主要包括三个组件:
1. 多视角合成:使用视图条件的二维扩散模型Zero123,以两阶段的方式生成多视图图像,输入包括单幅图像和相对相机变换,参数为相对球面坐标;
2. 姿态估计:根据Zero123生成的4个邻近视图估计输入图像的仰角,再将指定的相对位置与输入视图的估计位置相结合,获得多视图图像的位置;
3. 三维重建:将多视图姿态图像输入基于SDF的通用神经曲面重建模块,进行360°网格重建
由于无需使用开销较大的优化操作,该方法在重建3D形状时相比其他方法耗时显著缩短。
此外,该方法还可以生成更好的几何形状,产生3D一致性更好的结果,并更忠实于输入图像。
在实验部分,研究人员对该方法在合成数据和全新图像上都进行了实验,证明了该方法在网格质量和运行时间上的优势。
该方法也可以通过集成与现成的文本到图像的扩散模型,无缝地支持文本到3D的任务。
One-2-3-45
Zero123:以视图为条件的2D扩散模型
通过在互联网规模的数据上进行训练,二维扩散模型可以学习到通用的视觉概念,并且控制条件也从文本扩展到其他模态,例如可视边缘、用户涂鸦、深度和法线图等。
Zero123模型采用类似的思路,将条件设为视点(viewpoint)来控制图像生成,具体来说,给定一个物体的RGB图像和一个相对的相机变换,Zero123可以控制扩散模型在变换后的相机视角下合成一个新的图像。
Zero123根据大规模三维数据集来合成一对图像及其相对相机变换对稳定扩散进行了微调。
在创建微调数据集的过程中,Zero123假设物体以坐标系的原点为中心,并使用球形摄像机,即摄像机放置在球面上并始终看着原点,相机位置参数包括极角、方位角和半径,两个点的差值即为相对摄像机变换参数。
目标是学习一个模型f,使得f在输入「初始视角,相机变换参数」时与输入「变换后视角」时感知相似。
实验结果发现,这种微调方式可以使Stable Diffusion模型用于学习控制摄像机视点的通用机制,对微调数据集之外的物体进行推断。
NeRF优化能否将多视图预测提升至三维?
给定一个物体的单张图像,可以利用Zero123生成多视图图像,但能否使用传统的基于NeRF或基于SDF的方法从这些预测中重建高质量的三维网格呢?
给定单幅图像后,研究人员首先使用Zero123从球面均匀采样相机姿态,生成32幅多视角图像,然后将预测结果输入基于NeRF的方法(TensoRF)和基于SDF的方法(NeuS),分别优化密度场和SDF场。
图片
不过这两种方法都没有取得令人满意的结果,生成结果中包含大量的失真和浮点,主要是由于Zero123预测不一致导致的。
图片
2阶段源视图选择和真实预测混合训练
SparseNeuS论文中只演示了正面视图重构,但研究人员通过在训练过程中以特定方式选择源视图并添加深度监督,将其扩展到在一次前馈传递中重构360度网格。
冻结Zero123模型的参数后,在三维物体数据集上训练。
按照Zero123对训练形状进行归一化处理,并使用球形相机模型;对于每个形状,首先渲染来自球面上均匀分布的n个摄像机姿态的n幅真实RGB和深度图像;对于每个视图,使用Zero123预测附近的四个视图。
在训练过程中,将所有4×n的预测结果和真实姿态输入到重建模块中,并随机选择n个真实RGB图像中的一个视图作为目标视图,然后使用真实RGB值和深度值进行有监督训练,从而可以让模型学会处理来自Zero123的不一致预测,并重建一致的360°网格。
相机位置估计
研究人员提出了一个仰角估计模块来推断输入图像的仰角。
首先使用Zero123预测输入图像的四个邻近视图,然后以从粗到细的方式列举所有可能的仰角。
对于每个仰角候选角,计算四幅图像对应的相机姿态,并计算这组相机姿态的重投影误差,以衡量图像与相机姿态之间的一致性。
重投影误差最小的仰角被用于通过组合输入视图的姿态和相对姿态来生成所有4×n源视图的相机姿态。
实验结果
图片
从定性实验结果来看,在对比现有zero-shot图像三维重建方法时,包括Point-E、Shap-E等在数百万三维数据上训练得到的模型,以及基于Stable Diffusion先验的优化方法,可以看到One-2-3-45模型在处理合成图像和真实图像时都非常有效。
图片
研究人员还在Objaverse和GoogleScannedObjects(GSO)数据集上对这些方法进行了定量比较。
对于每个数据集,随机选择20个形状,并为每个形状渲染一张图像进行评估。
为了使预测结果与真实网格对齐,线性搜索缩放因子和旋转角度,对采样点云应用迭代最邻近点(ICP),并选择离群值最多的点云。
遵循RealFusion测量了F-score(阈值为0.05)和CLIP相似度,以及在A100 GPU上的运行时间。
图片
从实验结果中可以看到,该方法在F-Score方面优于所有基线方法;在CLIP相似度方面,除了Shap-E之外,超越了所有方法。
还可以发现,CLIP相似度对颜色分布非常敏感,而对局部几何变化(如凳子的腿数、杯子的把手数)的区分度较低。
在运行时间方面,与基于优化的方法相比,该方法具有明显优势,其性能与Point-E和Shap-E等三维原生扩散模型相当,即三维重建模块只需要大约5秒钟就可以重建一个三维网格,剩余时间主要用于Zero123预测,在A100 GPU上每幅图像大约需要1秒钟。