MVDiffusion: Enabling Holistic Multi-view Image Generation with Correspondence-Aware Diffusion
文生图模型
用于根据给定像素到像素对应关系的文本提示生成一致的多视图图像。
MVDiffusion 会在给定任意每个视图文本的情况下合成高分辨率真实感全景图像,或将一幅透视图像推断为完整的 360 度视图。
对于以深度/姿势为条件的多视图图像生成,MVDiffusion 展示了场景网格纹理的最先进性能。
MVDiffusion 通过运行稳定扩散模型的多个副本/分支来同时生成多个图像,并采用新颖的分支间"对应感知注意"(CAA)机制来促进多视图一致性。
Panorama generation任务:
全景图是通过生成八个透视图来实现的,每个透视图具有 90° 的水平视场和 45° 的重叠。为了实现这一目标,我们通过生成模块使用冻结的预训练稳定扩散模型生成八个 512 × 512 图像
CCA:特征图之间的交叉注意力:
在条件图像的 UNet 分支中,我们将一个由 1 组成的掩码连接到图像(总共 4 个通道)。然后,该串联图像用作修复模型的输入,这确保条件图像的内容保持不变。相反,在目标图像的 UNet 分支中,我们将黑色图像(像素值为零)与零掩码连接起来作为输入,从而要求修复模型根据文本生成全新的图像条件以及与条件图像的对应关系。
训练CAA模块。
Multiview depth-to-image generation任务
多视图深度到图像任务旨在生成给定深度/姿势的多视图图像。
MVDiffusion 的过程从生成模块生成关键图像开始,然后由插值模块进行致密化以获得更详细的表示。
多视图深度图像生成的生成模块与全景图生成的生成模块类似。
MVDiffusion 的插值模块受 VideoLDM 的启发,在一对"关键帧"之间创建 N 个图像,这些图像之前已由生成模块生成。该模型采用与生成模型相同的 UNet 结构和对应注意力权重,具有额外的卷积层,并使用高斯噪声重新初始化中间图像和关键图像的潜在特征。该模块的一个显着特征是关键图像的 UNet 分支以已生成的图像为条件。具体来说,这个条件被合并到每个 UNet 块中。在关键图像的 UNet 分支中,生成的图像与 1 的掩码(4 个通道)连接,然后使用零卷积运算将图像下采样到相应的特征图大小。这些下采样条件随后被添加到 UNet 模块的输入中。对于中间图像的分支,我们采取不同的方法。我们将像素值为零的黑色图像附加到零掩码,并应用相同的零卷积运算对图像进行下采样以匹配相应的特征图大小。这些下采样条件也被添加到 UNet 模块的输入中。此过程本质上是对模块进行训练,以便当掩码为 1 时,分支重新生成条件图像,而当掩码为零时,分支生成中间图像。
采用两阶段的培训过程。在第一阶段,我们使用所有 ScanNet 数据对 SD UNet 模型进行微调。此阶段是没有 CAA 块的单视图训练。在第二阶段,我们将 CAA 块和图像条件块集成到 UNet 中,并且仅训练这些添加的参数。我们使用与全景生成相同的损失来训练模型。
计算资源:
4 NVIDIA RTX A6000 GPUs
实验结果: