从单视图图像进行3D重建是计算机视觉和图形学中的一项基本任务,因为它在游戏设计、虚拟现实和机器人技术中具有潜在的应用价值。早期的研究主要依赖于直接在体素上进行3D回归,这往往会导致过于平滑的结果,并且由于3D训练数据的限制,难以泛化到现实世界中的未见物体。最近,扩散模型(DMs)通过在极大规模的数据集上进行训练,在图像或视频合成上展现了强大的生成能力。这些扩散模型是用于单视图3D重建的有前途的工具,因为可以从给定图像生成新颖视图的图像以实现3D重建。
为了利用图像DMs进行单视图3D重建,一项开创性的工作DreamFusion尝试通过Score Distillation Sampling(SDS)损失从2D图像扩散中提炼出像NeRF或Gaussian Splatting这样的3D表示,许多后续工作在质量和效率上改进了基于蒸馏的方法。然而,这些方法存在不稳定收敛和退化质量的问题。另外,最近的工作如MVDream、Sync-Dreamer、Wonder3D和Zero123++通过多视图扩散明确生成多视图图像,然后通过神经重建方法或大型重建模型(LRMs)从生成的图像中重建3D模型。明确生成多视图图像使这些方法比SDS方法更具可控性和效率,因此在单视图3D重建任务中更受欢迎。
尽管多视图扩散方法取得了令人印象深刻的进步,但如何为高质量3D重建高效生成新视角图像仍然是一个悬而未决的挑战。当前的多视图扩散方法面临三个显著挑战。
(1)预定义的相机类型不一致。大多数多视图扩散方法假设输入图像是由具有预定义焦距的相机捕获的。当输入图像是由不同类型的相机或具有不同内在特性的相机捕获时,这会导致不希望的失真(例如,当输入图像是由焦距较小的透视相机捕获时,Wonder3D对正交相机的假设会导致网格扭曲)。
(2)多视图扩散效率低下。多视图扩散方法通常依赖于多视图注意力层来交换不同视图之间的信息,以生成多视图一致的图像。然而,这些多视图注意力层通常是通过将Stable Diffusion中的自注意力扩展到所有多视图图像来实现的(密集多视图注意力),并导致计算复杂度和内存消耗显著增加。
(3)生成的图像分辨率低。上述限制使得大多数现有的多视图扩散模型仅能达到256×256的分辨率,这阻碍了它们重建详细的网格。解决上述挑战对于开发实用且可扩展的多视图扩散方法至关重要。
在本文中,我们介绍了Era3D,这是一种新颖的多视角扩散方法,能够高效地生成高分辨率(512×512)的单视角3D重建一致多视角图像。与现有方法不同,Era3D允许使用常用相机类型的图像作为输入,同时缓解不同相机模型带来的不必要畸变。为此,我们采用了一种独特的方法:使用不同的相机模型对输入图像和生成图像进行训练,这意味着输入图像可以有任意的焦距和仰角,而生成图像则使用正交相机和固定的0◦仰角视角。然而,这需要扩散模型在生成过程中隐式地推断和纠正输入图像的焦距和视角,这是一项具有挑战性的任务,会降低生成质量。为了克服这一挑战并提高生成质量,我们提出了一种新颖的回归和条件方案,并利用UNet在每个去噪步骤中的低级特征图来预测输入图像的相机信息。我们发现,这种回归和条件方案比现有方法更准确地预测相机姿态,并导致生成更多的细节。Era3D成功地避免了不同相机类型和焦距带来的上述畸变问题。
此外,受到极线注意力的启发,Era3D通过引入一种新颖的行级多视角注意力,实现了高分辨率多视角生成的高效训练。极线约束可用于约束跨视角的注意力区域,从而提高注意力的效率。然而,对于一般的相机设置直接应用这种极线注意力在内存和计算上仍然效率不高,因为我们必须对极线上的多个点进行采样以进行注意力计算。这需要我们为多视角图像在视锥体中构建一个3D特征网格,这既慢又消耗内存。相反,由于Era3D使用正交相机在0◦视角下生成图像,我们发现我们的相机设置中的极线在不同视角的图像行之间是对齐的,这使得我们能够提出一种高效的行级注意力层。与密集的多视角注意力相比,行级注意力显著减少了多视角注意力的内存消耗(35.32GB vs. 1.66GB)和计算复杂度(220.41ms vs. 2.23ms)。即使使用Xformers,一个加速注意力计算的库,行级注意力的效率仍然比现有方法高出大约十二倍。因此,提出的行级注意力使我们能够轻松地将Era3D扩展到512×512的高分辨率,以重建更详细的3D网格。
下面一起来阅读一下这项工作~
1. 论文信息
标题:Era3D: High-Resolution Multiview Diffusion using Efficient Row-wise Attention
作者:Peng Li, Yuan Liu, Xiaoxiao Long, Feihu Zhang, Cheng Lin, Mengfei Li, Xingqun Qi, Shanghang Zhang, Wenhan Luo, Ping Tan, Wenping Wang, Qifeng Liu, Yike Guo
机构:HKUST、HKU、DreamTech、PKU、Light Illusions
原文链接:https://arxiv.org/pdf/2405.11616
代码链接:https://github.com/pengHTYX/Era3D
官方主页:https://penghtyx.github.io/Era3D/
2. 摘要
在本文中,我们介绍了Era3D,这是一种新颖的多视图扩散方法,可以从单视图图像生成高分辨率的多视图图像。尽管多视图生成领域取得了显著进展,但现有方法仍受到相机先验不匹配、无效性和低分辨率的困扰,导致生成的多视图图像质量较差。具体而言,这些方法假设输入图像应符合预定义的相机类型,例如具有固定焦距的透视相机,当假设不成立时会导致形状扭曲。此外,它们采用的全图像或密集多视图注意力随着图像分辨率的增加会导致计算复杂度的指数爆炸,从而产生令人望而却步的训练成本。为了弥合假设与现实之间的差距,Era3D首先提出了一个基于扩散的相机预测模块来估计输入图像的焦距和仰角,这使得我们的方法能够生成无形状扭曲的图像。此外,我们还使用了一个简单但高效的注意力层,称为逐行注意力,来在多视图扩散中加强极线先验,促进有效的跨视图信息融合。因此,与最先进的方法相比,Era3D能够生成高达512*512分辨率的高质量多视图图像,同时将计算复杂度降低了12倍。综合实验表明,Era3D可以从各种单视图输入图像中重构高质量且详细的3D网格,显著优于基线多视图扩散方法。
3. 效果展示
新视角合成。首先,图1展示了Era3D生成的多视角图像和法线图的几个示例。结果显示,给定具有不同焦距和视角的输入图像,Era3D能够生成高质量且一致的多视角图像和法线图。当输入图像由透视相机捕获且其视角不在0◦仰角时,Era3D能够正确感知视角的仰角和透视畸变。然后,我们的方法学习使用标准视角下的正交相机生成同一对象的高保真图像,有效减少了透视畸变引起的伪影,提高了重建质量。此外,Era3D能够生成512×512分辨率的图像,从而能够生成更多的细节,如图1中“Armor”上的精细纹理和“Mecha”上的复杂结构。
重建。我们进一步进行了实验来评估重建的3D网格的质量。我们将我们的方法与RealFusion、Zero-1-to-3、One-2-3-45、Shap-E、Magic123、Wonder3D、SyncDreamer和LGM进行了比较。GSO数据集上的重建网格及其纹理如图5所示,而基于文本生成的图像上的重建网格的渲染效果如图6所示。从结果中可以看出,Shap-E无法生成完整的结构。One-2-3-45和LGM重建的网格由于Zero-1-to-3或ImageDream生成图像中的多视角不一致性而趋于过度平滑且缺乏细节。Wonder3D在使用35mm焦距渲染的这些输入图像上的结果往往会出现扭曲,因为它假设输入图像是由正交相机捕获的。相比之下,我们的结果在完整性和细节方面都比这些基线方法有了显著的改进。
4. 主要贡献
总体而言,我们的主要贡献总结如下:
(1)Era3D是首个尝试解决3D生成中不一致的相机内参所带来的畸变问题的方法;
(2)我们设计了一种新颖的回归和条件方案,使扩散模型能够接收任意相机拍摄的图像作为输入,并在标准相机设置下输出正交图像;
(3)我们提出了逐行多视角注意力机制,这是一种用于高分辨率多视角图像生成的高效注意力层;
(4)我们的方法在单视角3D生成方面取得了最先进的性能。
5. 基本原理是啥?
Era3D旨在从单视角图像生成3D网格。其概述如图4所示,包含三个关键组件。给定一个具有常用焦距和任意视角的输入图像,Era3D在标准相机设置下生成多视角图像。为了提高生成质量,我们提出了一种回归和条件方案,使扩散模型能够预测准确的相机姿态和焦距,并指导去噪过程。最后,我们通过提出行式多视角注意力,显著减少了内存消耗并提高了计算效率,该方案通过多视角图像之间交换信息来维持多视角一致性。最后,我们使用诸如NeuS之类的神经重建方法从生成的图像和法线图中重建3D网格。
6. 实验结果
Chamfer距离(CD)和交并比(IoU)的定量比较如表1所示。Era3D在所有其他方法中表现最佳,展现出更低的Chamfer距离和更高的体积IoU,这表明它生成的网格与实际3D模型更为接近。
除了已讨论的任务之外,我们还在GSO数据集上进一步评估了Era3D的姿态预测。我们使用[-10, 40]度的仰角和{35, 50, 85, 105, 135, ∞}的焦距分别渲染图像。作为基准方法,我们采用dinov2_vitb14特征来预测姿态,并使用相同的数据集进行训练。我们将我们的预测与这个基准方法和One-2-3-45进行了比较。如表2所示,Era3D在误差和方差方面均取得了优越的性能。
行式多视角注意力。如图1所示,我们提出的行式多视角注意力(RMA)有效地促进了多视角图像之间的信息交换,产生了与密集多视角注意力层相当的一致结果。在N视角相机系统中,假设潜在特征的大小为S×S,我们的RMA设计通过将注意力层的计算复杂度从O(N2S4)降低到O(N2S3),显著提高了训练效率。尽管极线注意力也实现了将复杂度降低到O(N2S2K),其中K是样本数量,但这是以增加内存和时间消耗为代价的,因为需要进行采样过程。为了进一步突出RMA相对于密集多视角注意力的效率,我们展示了256和512分辨率下的内存使用情况和运行时间。我们使用了中的极线注意力实现。如表3所列,随着分辨率的增加,RMA的优势变得越来越明显。在512分辨率下,RMA实现了内存使用量的三十倍减少和运行时间的近百倍减少。即使使用xFormers,我们的方法也大大提高了训练效率(22.9毫秒对比1.86毫秒)。这种效率使得在更高分辨率或更密集的视角下训练模型成为可能,而不会显著增加计算效率和需求,从而保持了一个轻量级的框架。
7. 限制性 & 总结
局限性。虽然Era3D在多视角生成任务上取得了改进,但我们的方法在生成如薄结构等复杂几何形状时存在困难,因为我们仅生成6个多视角图像,这些稀疏生成的图像难以建模复杂的几何形状。由于重建算法基于神经符号距离函数(Neural SDF),Era3D无法重建具有开放表面的网格。在未来的工作中,我们可以将我们的框架与其他3D表示法(如高斯溅射)相结合,以提高渲染和几何质量。
结论。在本文中,我们提出了Era3D,一种用于单视角3D重建的高质量多视角生成方法。在Era3D中,我们建议在标准相机设置下生成图像,同时允许输入图像具有任意的相机内参和视角。为了提高生成质量,我们设计了一种回归和条件方案来预测输入图像的焦距和仰角,这些参数进一步作为扩散过程的条件。此外,我们采用行式多视角注意力机制来替代密集注意力,显著降低了计算工作量,并促进了高分辨率跨视角生成。与基线方法相比,Era3D在单视角3D重建中实现了更高的几何质量。