欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > Zero123++ 论文学习

Zero123++ 论文学习

2024/10/23 23:27:35 来源:https://blog.csdn.net/calvinpaean/article/details/140975342  浏览:    关键词:Zero123++ 论文学习

论文链接:https://arxiv.org/abs/2310.15110
代码链接:https://github.com/SUDO-AI-3D/zero123plus

解决了什么问题?

随着新视图生成模型的涌现,3D 内容生成领域取得了显著进展,这些模型利用了强大的 2D 扩散生成先验知识,这些 2D 扩散模型是在互联网上的大规模数据集训练得到的。Zero123 是开创性的模型,它通过零样本新视角合成实现开放世界单图像到3D的转换。尽管 Zero123 的性能有希望,但其生成图像的几何不一致性尚未弥合多视图图像和3D场景之间的差距。近期的作品如 One-2-3-45、SyncDreamer 和 Consistent123 在 Zero123 的基础上构建额外层以获得更具3D一致性的结果。像DreamFusion、ProlificDreamer和DreamGaussian这样的基于优化的方法从不一致的模型中提取3D表示以获得3D结果。尽管这些技术有效,但如果有一个基础扩散模型能够生成一致的多视图图像,它们可以更好地工作。作者重新审视Zero123,并从Stable Diffusion微调一个新的多视图一致性基础扩散模型。

Zero123 独立地生成每个新视角,但由于扩散模型的采样性质,这种方法导致生成视图之间的一致性崩溃。为了解决这个问题,作者采用将六个视图围绕对象平铺到单个图像中的策略。这种平铺布局使得正确建模对象的多视图图像的联合分布成为可能。

Zero123 的另一个问题就是没有充分利用 Stable Diffusion 的现有能力。作者认为有两个设计上的缺陷:

  • 在使用图像条件进行训练时,Zero123 未能有效结合Stable Diffusion提供的全局或局部条件机制。在 Zero123++ 中,作者实现了各种条件技术,最大程度地利用 Stable Diffusion。
  • Zero123 在尝试使用 512 分辨率进行训练时遇到了不稳定的问题,于是选择了较低的 256 分辨率。本文作者进行了深入的分析,提出了若干个改进策略。

提出了什么方法?

Zero123++ 是一个基于图像条件的扩散模型,用于生成与 3D 场景一致的多视图图像。该模型充分利用了预训练的2D生成先验,这些先验知识来自于像Stable Diffusion这样的现成图像扩散模型。为了最小化从现成图像扩散模型微调所需的工作量,作者开发了各种条件和训练方案。Zero123++擅长从单个图像生成高质量的、一致的多视图图像。该模型解决了一些常见问题,如纹理退化和几何错位。此外,作者展示了在Zero123++上训练ControlNet的可行性,以增强对生成过程的控制。通过ControlNet,可以更精细地控制图像生成过程,这可能包括调整视角、纹理、光照等。通过实际案例,作者展示了这种方法的可行性和有效性。

Improving Consistency and Conditioning

为了提升多视图一致性和图像条件,主要关注于如何复用预训练 Stable Diffusion 模型的先验知识。

“Image conditioning” 指的是使用图像作为条件来引导和影响图像生成过程。

Multi-view Generation

生成一致性多视图图像的核心在于正确地建模多个图像之间的联合分布。这意味着在生成过程中,需要确保从不同视角观察时,图像之间保持一致性和连贯性。Zero123 对每张图片独立建模条件边际分布,模型假设不同视图的图像之间没有关联,忽略了多视图图像之间的关联。

条件边际分布是指在给定某些条件下,一个随机变量的分布。

在 Zero123++ 中,作者采用了最简单的形式,将 6 张图像平铺到单个帧中,将它们拼接到一起,作为一个整体去做多视图生成。采用这种布局有助于模型更好地理解和学习多视图图像之间的空间关系和一致性,从而提高生成图像的质量。

Objaverse数据集包含大量3D模型,但这些模型并没有始终一致地以规范姿态对齐,即便它们通常是沿着重力轴方向定位的。因此该数据集里的物体的绝对姿态是非常多样的。使用绝对相机姿态训练模型可能导致在区分对象方向上的困难。Zero123 使用相对于输入视图的相机姿态进行训练,包括相对方位角和仰角。这种训练方法需要知道输入视图的仰角,以确定新视图之间的相对姿态。由于 Zero123 的这种要求,One-2-3-45 和 DreamGaussian 融入了额外的仰角估计模块,这会引入额外的误差。

为了解决这个问题,作者使用固定的绝对仰角和相对方位角来表示新视图的姿态。通过使用固定的绝对仰角,可以消除对象姿态的不确定性,而不需要额外的仰角估计。相对方位角是从某个参考视图开始计算的角度,这有助于定义新视图相对于已知视图的方向。如下图所示,六个姿态包括交错的仰角,其中30度向下和20度向上,结合从30度开始的方位角,每个姿态增加60度。这种姿态布局确保了围绕对象的均匀视图分布,有助于从不同角度捕捉对象的特征,同时保持一致性和可预测性。通过使用固定和相对的角度,简化了3D重建和图像生成的流程,减少了因额外估计步骤而引入的误差。

Consistency and Stability: Noise Schedule

Stable Diffusion 模型使用的 scaled-linear noise schedule 是一种在扩散过程中逐步增加噪声,然后在去噪过程中逐步去除噪声的策略。这种噪声计划强调局部细节,但在信号-噪声比较低的步骤中只有很少几步。低SNR步骤出现在去噪过程的早期阶段,这对于确定内容的全局低频结构至关重要。在这个阶段,较少的步骤可能会导致结构变化较大。在训练或推理过程中,如果低SNR步骤的数量减少,可能会导致生成的图像结构变化较大,影响全局一致性。尽管这种设置适用于单图像生成,但对于多视图生成,作者观察到它限制了模型确保多个视图之间全局一致性的能力。当需要生成多个视角的一致图像时,原始的噪声计划可能不足以保证全局结构的一致性。

信号-噪声比是衡量信号强度相对于背景噪声的指标,对于图像来说,高SNR意味着清晰的图像质量。

为了验证噪声计划的重要性,作者进行了一个简单的实验性任务。通过在Stable Diffusion 2 的 v − v- v预测模型上微调LoRA模型,针对给定的提示词“警车”,以过拟合出一张空白的白色图像,结果如下所示。结果显示,在scaled-linear噪声计划下,LoRA模型无法完成这个简单任务;它只是轻微地使图像变白。相比之下,在linear噪声计划下,LoRA模型成功地生成了空白白色图像,不受提示词的影响。实验表明,不同的噪声计划可能会影响模型对新全局要求的适应性,例如生成与给定提示词无关的特定图像。

LoRA(Low-Rank Adaptation)是一种微调技术,通过在现有模型的基础上进行小的调整来适应新任务。

当受到相同水平的独立噪声时,高分辨率图像看起来比低分辨率图像更少噪声。这种现象发生的原因是高分辨率自然图像倾向于在像素间表现出更高程度的冗余,因此,在相同水平的独立噪声下,被破坏的信息较少。在训练 Zero123 模型时使用较低分辨率可以被理解成对噪声计划的修改,这样做更加强调全局一致性多视图生成的要求。使用较低分辨率训练有助于模型更好地捕捉全局结构,这对于3D一致性多视图生成是重要的。使用更高分辨率图像训练 Zero123 模型时可能出现不稳定的现象,这可能是因为高分辨率图像中更多的细节和噪声要求模型在局部和全局特征之间取得平衡。

作者发现有必要将模型的噪声计划从缩放线性计划(scaled-linear schedule)切换到线性计划(linear schedule)。线性计划可能有助于更好地适应多视图生成的全局要求,如前文所述,它可能有助于减少噪声并更好地捕捉全局结构。切换噪声计划可能会引入新的潜在挑战,特别是如何使预训练模型适应新的噪声计划。作者观察到, v − v- v预测模型( v − v- vprediction model)在切换 noise schedule 时比较鲁棒,与其他参数化方法( x 0 x_0 x0参数化和 ϵ − \epsilon- ϵ参数化)相比,它不太容易受到 schedule 变化的影响。因此,作者选择使用Stable Diffusion 2的 v − v- v预测模型作为基础模型进行微调(fine-tuning),以适应新的 noise schedule。

Local Condition: Scaled Reference Attention

在 Zero123 中,条件图像是作为条件输入的图像,用于指导模型的生成过程。这里的条件图像是单个视角的输入,条件图像在特征维度上与待去噪的噪声输入图像进行拼接。这种拼接用于局部图像条件,目的是让模型在去噪过程中考虑条件图像的局部特征。然而,这种处理方式强加了输入图像和目标图像之间错误的像素级空间对应关系。这意味着模型可能错误地假设输入图像中的每个像素与目标图像中的像素有直接的对应关系。

作者提出使用一个 Scaled Reference Attention 来提供合理的局部条件输入。在去噪过程中,除了输入的噪声图像之外,模型还会处理一个额外的参考图像。UNet 模型中的自注意力机制允许模型在处理图像时考虑图像内部的不同区域之间的关系。自注意力机制生成关键(key)矩阵和值(value)矩阵,这些矩阵包含了图像不同区域之间的关系信息。如下图,Reference Attention 指的就是,在对模型的输入去噪时,对一个额外的参考图像使用去噪 UNet 模型,并将参考图像中得到的自注意力 key 矩阵和 value 矩阵附加到去噪模型的相应的注意力层。为了使UNet能够在当前噪声水平上关注相关特征,参考图像会被添加与去噪输入相同水平的高斯噪声,从而让 UNet 在去噪过程中能够利用参考图像中的相关信息,更有效地去除噪声并恢复图像细节。

Reference attention 通过使用额外的参考图像来增强去噪UNet模型的特征提取能力。

无需任何的微调,Reference Attention 也能够引导扩散模型生成与参考图像在语义内容和纹理上相似的图像。当进行微调时,作者观察到在对 latent representation(即在添加噪声之前的表示)进行缩放后,引用注意力的效果更佳。作者发现当 latent representation 放大 5 倍时,模型与条件图像的一致性最高。作者在ShapeNet Cars数据集上进行了实验,以展示不同缩放因子下的模型性能。实验结果在下图中提供比较。

Global Condition: FlexDiffuse

在原始的 Stable Diffusion 中,全局条件只来自于文本 embedding。Stable Diffusion 使用了 CLIP 作为文本编码器,在模型 latents 和每个 token 的 CLIP 文本 embeddings 之间做交叉注意力,有助于模型在生成图像时考虑文本信息。CLIP 模型能够将图像和文本映射到同一个空间中,使得它们可以相互对齐。Stable Diffusion 可以复用 CLIP 图像和文本空间的一致性,用于全局图像条件。

作者提出了可训练的线性引导机制,该机制最初在 FlexDiffuse 中提出。该机制将全局图像条件融入了模型,尽量减少模型的微调,以保持模型预训练的能力。原始 prompt 记做 T T T,形状是 L × D L\times D L×D,其中 L L L是 token 的长度, D D D 是 token 的维度。将 CLIP 全局图像 embedding I I I(形状为 D D D) 乘上可训练的全局权重 { w i } i = 1 , . . . , L \left\{ w_i \right\}_{i=1,...,L} {wi}i=1,...,L,该权重是所有 tokens 共享的,然后将结果添加到原始的 prompt embeddings T T T上,

T i ′ = T i + w i ⋅ I , i = 1 , 2 , . . . , L \begin{equation} \begin{split} T_i' = T_i + w_i \cdot I,\ i=1,2,...,L \end{split} \end{equation} Ti=Ti+wiI, i=1,2,...,L

使用 FlexDiffuse 的线性指导来初始化权重:

w i = i L \begin{equation} \begin{split} w_i = \frac{i}{L} \end{split} \end{equation} wi=Li

在 Zero123++模型中,作者没有使用任何的文本条件,因此 T T T是编码了一个空 prompt 得到的。在下图中,作者展示了 Zero123++ 模型不用全局条件的结果。如果没有全局条件,针对可见区域生成的内容还是不错的,但是对于不可见区域,则生成质量就急剧下降了,因为模型缺乏推理物体的全局语义的能力。

Putting Everything Together

作者使用上述的技术来训练 Zero123++ 模型,在 Objaverse 数据上训练,并对该数据集里的数据做随机的 HDRI 环境光渲染。

作者采用了Stable Diffusion Image Variations模型中的分阶段训练的方案,尽量减少对模型的微调,以保留模型已有的能力。在第一阶段,只调整Stable Diffusion模型中的自注意力层和交叉注意力层的KV矩阵。使用AdamW优化器和余弦退火学习率调度策略,学习率峰值设置为 7 × 1 0 − 5 7×10^{−5} 7×105,并进行 1000 1000 1000步的预热。在第二阶段,使用非常保守的恒定学习率 5 × 1 0 − 6 5×10^{−6} 5×106 2000 2000 2000步预热,以调整整个UNet模型。使用最小信噪比(Min-SNR)加权策略来提高训练过程的效率。信噪比是信号强度与背景噪声强度的比值,Min-SNR加权意味着在训练中更多地关注噪声较小的样本。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com