Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行

SV3D: Novel Multi-view Synthesis and 3D Generation from a Single Image using Latent Video Diffusion

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

Stability AI日前发布了用于3D视频模型Stable Video 3D(SV3D)。SV3D在Stable Video Diffusion的基础上进行改进,只需一张图就能生成对应的3D模型,适用于新视角合成任务和3D生成的任务。

SV3D现已可供商业使用,Stability AI Professional会员每月20美元。对于非商业用途,用户可以从Hugging Face下载模型权重。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

项目主页:https://stability.ai/news/introducing-stable-video-3d

论文地址:https://stability.ai/s/SV3D_report.pdf

Huggingface地址:https://huggingface.co/stabilityai/sv3d

 

摘要

SV3D是一个3D视频生成大模型,用于围绕3D对象的高分辨率、图像到多视角的轨道视频生成。SV3D是一个自适应图像-视频扩散模型,用于新的多视点合成和3D生成,利用视频模型的泛化和多视点一致性,同时进一步增加对NVS的显式相机控制。本文还提出了改进的3D优化技术,以使用SV3D及其NVS输出进行图像到3D的生成。在2D和3D指标以及用户研究的多个数据集上的广泛实验结果表明,SV3D在NVS以及3D重建方面具有最先进的性能。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

简介

单图像三维物体重建是计算机视觉领域一个长期存在的问题,在游戏设计、AR/VR、电子商务、机器人等领域有着广泛的应用。一个典型的策略是使用基于图像的2D生成模型为给定对象的未见过的新视图提供3D优化损失函数。此外,一些工作重新利用这些2D生成模型从单幅图像进行新视图合成(NVS),然后使用合成的新视图进行3D生成。从概念上讲,这些工作模仿了典型的基于摄影测量的3D物体捕获管道,即首先拍摄物体的多视图图像,然后进行3D优化。这些基于生成的重建方法中的一个关键问题是底层生成模型缺乏多视图一致性,导致不一致的新视图。本文通过为NVS适应一个高分辨率的图像条件视频扩散模型,然后进行3D生成来解决这些问题。

新型多视图合成。采用一种潜在的视频扩散模型(Stable video diffusion – SVD),在明确的相机姿态条件下生成给定物体的多个新视图。从单幅图像中自适应NVS的视频扩散模型,具有3个对3D对象生成有用的属性:姿态可控、多视图一致和可泛化。我们将得到的NVS网络称为SV3D。

3D生成。通过以由粗到细的方式优化NeRF和dmet网格,利用SV3D模型来生成3D对象。得益于SV3D中的多视图一致性,能够直接从SV3D新视图图像中产生高质量的3D网格。设计了一种掩码分数蒸馏采样(SDS)损失,以进一步增强SV3D预测的新视图中不可见区域的3D质量。此外,本文还提出了一种与三维形状和纹理联合优化的解缠光照模型,有效地减少了光照的问题。

SV3D

本文的主要思想是将视频扩散模型中的时间一致性重新用于对象的空间3D一致性。微调SVD,以生成围绕3D对象的轨道视频,以单视角图像为条件。这段轨道视频不必在相同的高度,或以规则间隔的方位角。SVD非常适合这项任务,因为它被训练为在真实和高质量视频的大规模数据集上生成平滑和一致的视频。优越的数据量和质量使其更通用和多视图一致,SVD架构的灵活性使其可以进行微调以实现相机可控性。

问题设置。形式上,给定物体的图像I,我们的目标是围绕物体生成一个轨道视频J,由K = 21个多视角图像沿着相机姿态轨迹作为俯仰角e和方位角a的K元组序列组成。我们假设相机总是看着物体的中心(世界坐标的原点),因此任何视点都可以由两个参数指定:仰角和方位角。通过从学习到的条件分布p(J|I, π)中迭代去噪样本,通过视频扩散模型进行参数化,生成这个轨道视频。

SV3D架构。SV3D的架构建立在SVD的架构之上,由一个具有多层的UNet组成,每层包含一个具有Conv3D层的残差块序列,以及两个具有注意力层的transformer块序列。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

  • i)我们删除了` fps id `和` motion bucket id `的向量条件,因为它们与SV3D无关。
  • ii)条件反射图像通过SVD的VAE编码器嵌入到隐空间后,与UNet在噪声时间步长t处的噪声潜状态输入z t连接。
  • iii)将条件图像的CLIPembedding矩阵作为其键和值提供给每个transformer块的交叉注意力层。
  • iv)将摄像机轨迹连同扩散噪声时间步长一起输入到残差块中。首先,将摄像机姿态角度ei和ai以及噪声时间步长t嵌入到正弦位置嵌入中。然后,将相机姿态嵌入连接在一起,进行线性变换,并将其添加到噪声时间步嵌入中。这被馈送到每个残差块,在那里它们被添加到块的输出特征中。

静态轨道和动态轨道。我们设计静态轨道和动态轨道来研究相机姿态调节的效果。在静态轨道中,相机以与调节图像中相同的仰角以规则间隔的方位角围绕物体旋转。静态轨道的缺点是,我们可能无法获得关于物体顶部或底部的任何信息,这取决于调节仰角。在动态轨道中,方位角可以不规则间隔,高度可以随视图而变化。为了构建动态轨道,对静止轨道进行采样,在方位角上添加小的随机噪声,并在其仰角上添加不同频率正弦信号的随机加权组合。这提供了时间上的平滑性,并确保相机轨迹循环到与条件图像相同的方位角和仰角结束。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

利用该策略,能够通过利用视频扩散模型来解决新的多视图合成中的泛化、可控性和一致性的所有三个方面,将摄像机轨迹作为额外的条件,并分别将时间一致性重新利用为对象的空间3D一致性。

三角CFG缩放。SVD在生成的帧中对无分类器指导(CFG)使用从1到4的线性递增的尺度。然而,这种缩放会导致我们生成的轨道的最后几帧被过度锐化。由于生成的视频循环回到正面图像,本文建议在推理过程中使用三角波CFG缩放:从正面的1线性增加CFG到背面的2.5,然后在正面线性减少它到1。图4还表明,我们的三角形CFG缩放在后视图(第12帧)中产生了更多的细节。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

模型。训练三个从SVD微调的图像到3d视频模型。首先,训练一个姿态无关的模型SV3D u,生成围绕物体的静态轨道视频,而只以单视角图像为条件。第二个模型,姿态条件SV3D c以输入图像以及轨道上的相机仰角和方位角序列为条件,在动态轨道上进行训练。在训练过程中逐步增加任务难度,通过首先微调SVD以无条件地产生静态轨道,然后根据相机姿态条件进一步微调动态轨道,训练第三个模型SV3D p。

训练细节。在Objaverse数据集上训练。对于每个对象,我们在随机颜色背景上以576 ×576分辨率渲染它周围的21帧,视场角为33.8度。我们选择微调SVD-xt模型以输出21帧。所有三个模型(SV3D u, SV3D c, SV3D p)总共训练了105k次迭代(SV3D p是无条件训练55k次迭代和有条件训练50k次迭代),在8个80GB A100 gpu的4个节点上的有效批量大小为64,持续约6天。

实验结果

数据集。在GSO和OmniObject3D数据集上评估了静态和动态轨道上的SV3D合成的多视角图像。

指标。使用SV3D模型生成与评估数据集中的真实相机轨迹相对应的静态和动态轨道视频。将每个生成的帧与相应的真值帧进行比较,在学习感知相似性(LPIPS)、峰值信噪比(PSNR)、结构相似性(SSIM)、均方误差(MSE)和CLIP-score (CLIP-S)方面。

基线。包括Zero123、Zero123-xl、SyncDreamer、Stable Zero123、Free3D、EscherNet。

结果。SV3D模型在新的多视图合成方面取得了最先进的性能。表1和表3显示了在静态轨道上的结果,包括我们所有的三个模型。即使是不考虑姿势的模型SV3D u也比所有之前的方法表现得更好。表2和表4显示了在动态轨道上的结果,包括我们的姿态条件模型SV3D c和SV3D p。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

消融分析。我们发现SV3D c和SV3D p在几代静态轨道上的表现都优于SV3D u。SV3D p在静态和动态轨道上都取得了比SV3D c更好的指标,使其成为整体上表现最好的SV3D模型。这表明,从较容易的(静态)任务到较难的(动态)任务的渐进式微调确实是微调视频扩散模型的有利方法。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

每帧的质量。SV3D在每一帧都产生了更好的质量。在生成的GSO静态轨道视频中,绘制了每个生成帧的平均LPIPS值。背面的质量通常较差,而在开始和结束(即在调节图像附近)较好,如预期的那样。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

用户研究。通过用户调查,研究了人们对SV3D和其他方法生成的静态轨道视频的偏好。我们让30名用户在sv3d生成的静态视频和其他方法生成的视频中选择一个作为对应图像的最佳轨道视频,使用了22张真实的图像。我们注意到,与Zero123XL、稳定的Zero123、EscherNet和Free3D相比,用户更喜欢sv3d生成的视频,分别为96%、99%、96%和98%。

使用SV3D从单幅图像生成3D

通过利用SV3D,我们可以从单个图像生成物体的3D网格。一种方法是使用SV3D生成的静态/动态轨道样本作为直接重建目标。另一种方法是使用SV3D作为扩散引导,并结合得分蒸馏采样(SDS)损失。由于SV3D产生的多视图比现有方法更一致,我们发现仅使用SV3D输出进行重建就可以得到更高质量的3D重建结果。然而,我们观察到这种简单的方法通常会导致一些问题,如光照、粗糙表面和噪音纹理,特别是对于参考轨道中的未见区域。因此,我们进一步提出了几种技术来解决这些问题。其中包括粗到精的训练、解耦光照模型等。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

3D优化策略与损失

通过光度损失重建。将SV3D生成的图像视为多视图伪真实值,并应用2D重建损失来训练3D模型。对来自NeRF或dmet的渲染图像应用光度损失,包括像素级MSE损失、掩码损失和感知的LPIPS损失。这些光度损失还通过差分渲染管道优化了我们的光照模型。

训练轨道。我们使用SV3D根据相机轨道π ref(称为参考轨道)生成多视角图像。SV3D c和SV3D p在一个动态轨道上渲染图像,其高度遵循正弦函数,以确保覆盖顶部和底部视图。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

基于SV3D的SDS损失。我们还可以通过分数-蒸馏采样(SDS)使用SV3D。尽管使用动态轨道进行训练提高了整体的可视性,但我们观察到,有时输出的纹理仍然有噪声,可能是由于部分可见性、自遮挡或图像之间的纹理/形状不一致。因此,我们使用SV3D作为扩散引导的SDS损失来处理这些未见区域。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

掩码SDS损失。我们发现简单地添加SDS损失会导致训练不稳定和输入图像的纹理不忠实,如过饱和或模糊的伪影。因此,本文设计了一种掩码机制,仅将SDS损失应用于未见/遮挡区域,使其能够修复缺失的细节,同时保留训练轨道中清晰可见表面的纹理。同时,我们仅将掩码SDS损失应用于dmet优化的最后阶段,大大提高了收敛速度。

几何先验。由于基于渲染的优化是在图像级别进行的,因此采用了一些几何先验来正则化输出形状。添加了一个来自RegNeRF的平滑深度损失和一个双边法向平滑损失,以鼓励投影图像梯度较低的光滑3D表面。此外,我们从Omnidata中获得法向量估计,并计算类似于MonoSDF的单法向量损失,可以有效地减少输出网格中的噪声曲面。

实验结果

在粗粒度阶段只需要600步,在细粒度阶段只需要1000步。在无SDS损失的情况下,整个网眼提取过程所需时间≈8分钟,在有SDS损失的情况下,所需时间≈20分钟。粗略阶段只需要约2分钟,并提供对象的完整3D表示。

评估。在GSO数据集中随机采样的50个对象上评估了所提出的3D生成框架。在真实值(GT) GSO图像和相同静态/动态轨道上训练3D网格的渲染图像之间计算基于图像的重建指标(LPIPS、PSNR、SSIM、MSE和CLIP-S)。此外,计算GT和预测网格之间的倒角距离(CD)和3D IoU的3D重建度量。将SV3Dguided 3D生成与之前的几种方法进行了比较,包括Point-E、Shap-E、One-2-3-45++、DreamGaussian、SyncDreamer、EscherNet、Free3D和Stable Zero123。

视觉对比。Point-E和shape-e常常产生不完整的3D形状。DreamGaussian、SyncDreamer、EscherNet和Free3D输出往往包含粗糙表面。one-2-3-3-45++和稳定的Zero123能够重建表面光滑的网格,但缺乏几何细节。我们的网格输出是详细的,忠实于输入图像,并在3D中保持一致(更多示例请参见附录)。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

定量比较。与之前和并发的方法相比,所有3D模型都实现了更好的2D和3D指标,显示了输出网格的高保真纹理和几何形状。我们在相同的动态轨道上渲染所有3D网格,并将它们与GT渲染进行比较。最好的模型SV3D p在3D指标方面与使用GT渲染进行重建的表现相当,这进一步证明了所生成图像的3D一致性。

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

《Stability AI发布Stable Video 3D,单张图片即可生成高质量3D视频,模型已开源,单张4090即可运行》- 投稿作者:灵度智能 - 发布于:GetAI社区

光度和(掩码)SDS损失的影响。使用光度和掩码SDS损失(` SV3D p `)的3D输出取得了最好的结果,而不使用SDS的训练(` SV3D p no SDS `)会导致性能略有下降。这表明,SV3D生成的图像是高质量的重建目标,通常足以在不进行繁琐的基于sds的优化的情况下进行3D生成。尽管如此,添加SDS通常可以提高质量。

SV3D模型和训练轨道的效果。SV3D p在三个SV3D模型中取得了最好的性能,表明其合成的新视图最忠实于输入图像并在3D中保持一致。另一方面,SV3D u与之前的几项工作具有相同的缺点,即只能生成相同高度的视图,不足以构建清晰的3D物体,如图9所示。这也导致了表5和表6中“具有静态轨道的SV3D p”的性能较差。总的来说,具有动态轨道和掩码SDS损失的SV3D p与所有其他配置相比表现良好,因为它可以利用对象的更多样化的视图。

局限性。根据设计,SV3D模型仅能处理2个自由度:仰角和方位角。这通常足以从单个图像生成3D。人们可能想要解决广义NVS系统中摄像机的更多自由度,这形成了一个有趣的未来工作。SV3D对镜面反射表面表现出一些视图不一致,为3D重建提供了挑战。最后,基于朗伯反射的明暗模型无法表示这种反射表面。在全相机矩阵上调节SV3D,以及扩展阴影模型是未来有趣的研究方向。

总结

本文介绍了一种名为SV3D的潜在视频扩散模型,用于新颖的多视角合成和3D生成。SV3D不仅利用了SVD中的泛化性和视角一致性先验,还通过相机姿态调节实现了可控性,并在任意相机轨道上生成物体的轨道视频。此外,作者还提出了几种改进3D生成的技术,包括三角形CFG缩放、解耦光照和掩蔽SDS损失。作者进行了大量实验,证明了SV3D的可控性、多视角一致性和适用性,实现了新颖的多视角合成和3D生成的最新性能。作者计划公开发布SV3D模型。

0

评论0

请先
显示验证码