深入理解3D扩散生成式模型

这篇具有很好参考价值的文章主要介绍了深入理解3D扩散生成式模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Stable Dreamfusion 上的这个存储库启发了这个博客。

我认为 3D 扩散和 3D 生成似乎是每个人心中的下一件大事。 Stability AI 开始招聘才华横溢的 3D AI 工程师,谷歌和学术界每天似乎都在进行令人印象深刻的即时 3D 模型生成器研究。 然而,虽然我对这些模型的工作原理有一个模糊的了解,但我绝对没有具体的理解。

所以,这篇博客的目标是理解以下两篇论文

  • DreamFusion: Text-to-3D using 2D Diffusion可以说开启了将文本转换为 3D 模型的整个想法。
  • Zero-1-to-3: Zero-shot One Image to 3D Object ,这是Stable Dreamfusion 存储库中用于将图像转换为 3D 模型的模型。

现在,让我们从 DreamFusion 开始。

深入理解3D扩散生成式模型,人工智能

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 

这是一个相当出色的工作,坦白说让我有些震惊。 这个想法是我们可以使用扩散模型来生成图像,例如稳定扩散,并用它来生成3D模型!

1、什么是扩散?

现在,如果你想回顾一下扩散模型,请查看此处,但主要回顾如下:

深入理解3D扩散生成式模型,人工智能

扩散过程具有向图像添加噪声的正向过程和从图像中去除噪声的反向过程。 你可以将这个前向过程视为只是将先前的输入乘以某个数量,并向正态分布添加一些常数倍。 就这样吧!

噪声图像 = a ⋅ 噪声较小的图像 + b ⋅ 噪声

这些 a 和 b 在去噪过程的某个阶段发生变化,但几乎所有扩散模型都完全遵循上述想法!

每执行一次上述操作,我们就前进一步。 所以,原始图像是 z₀,但如果我们进行上述噪声处理 2 次,我们就会得到 z2。

然后,似乎很明显

噪声较小的图像 = (噪声图像 - b⋅ 噪声)/a

事实上,由于所有这些 as和 b 都是常数,我们有时可以说

图像=(噪声图像 - b'·噪声)/a'

对于一些修改后的常数 b' 和 a'。 这种方法有相当多的错误,但它对于以随机时间步长猜测初始图像非常有用!

一旦我们训练了一个模型以便我们可以找到噪声,我们几乎就拥有了一个可以从纯噪声生成图像的扩散模型!

主要步骤是,

  • 从纯噪声开始作为噪声图像
  • 使用模型预测噪声,将图像推向噪声较少的图像
  • 进行上述计算以获得噪声较少的图像!

这就是扩散模型背后的主要思想! 至于它是如何训练的等,我之前曾在这里写过。 但主要思想是:

  • 从输入图像 z₀ 开始
  • 添加一些随机噪声 ϵ 以获得噪声图像 zₜ
  • 最后,预测可用于对 zₜ 进行去噪的噪声 ϵ’(zₜ, t),最终得到 z₀。
  • 损失为 (ϵ’(zₜ, t)-ϵ)²

在 Dreamfusion 中,这种损失被引入为:

深入理解3D扩散生成式模型,人工智能

E 基本上是期望值。 因此,你可以将其视为所有可能数据的平均值。 w(t) 只是时间步 t 的某个常数,我们可以轻松地忽略它。 αₜx + σₜε 是我们的噪声图像。 我们可以从中获得

图像=(噪声图像 - b'·噪声)/a'

我们之前讨论过。 然后,

噪声图像 = a'⋅ 图像+b'⋅ 噪声

中间的噪音部分几乎就是我们讨论的内容!

因此,我们尝试正确猜测噪声,以在任何给定时间步对噪声图像进行去噪! 如果这部分令人困惑,请告诉我。 我绝对可以修改。

2、回到DreamFusion

现在 Dreamfusion 所说的是,假设有一个带有一些参数 θ 的可微生成器 g,其中 g(θ) 输出图像! 你可以将其视为通过特定摄像机角度和照明 (g) 渲染的 3d 场景 (θ)。

现在,我们如何使 g(θ) 看起来像扩散模型的输出? 第一个想法是优化 θ,使生成器的输出成为扩散模型的输出,就像这样!

深入理解3D扩散生成式模型,人工智能

这里, ϕ是扩散模型的参数。 这里的主要思想是我们假设我们的扩散模型 ϕ 对图像有很好的理解。 然后,它必须知道哪些图像看起来正常,哪些图像看起来不正常。 如果我们的扩散损失很高并且我们的模型无法预测首先添加了哪些噪声,则意味着从 g(θ) 生成的图像看起来不像实际图像。 所以我们可以反向传播这个损失来更新 θ,我们应该可以开始了!

然而,奇怪的是,他们发现这样做效果并不好。 让我们看看为什么! 所以我们的扩散损失是

深入理解3D扩散生成式模型,人工智能

然后,我们用 g(θ) 重置 x,我们想要获得相对于 θ 的梯度! 然后,我们几乎只使用链式法则

深入理解3D扩散生成式模型,人工智能

这里的y 是扩散模型的输入,在这种情况下是文本! 所以这里我们尝试生成 θ ,使其输出图像对应于文本提示。

我怀疑有一个拼写错误,对于正确的链式法则,δ ϵ’/zₜ 应该是 δ ϵ’/δ zₜ。

对于为什么 δ zₜ/δ x 缺失,图像 x 可以用噪声图像来近似,如下所示

zₜ = a'x+b'⋅ 噪声

所以 δ zₜ/δ x=a' 这是一个常数,所以我们可以将它放入 w(t) 中。 除此之外,这似乎是一个非常标准的链式规则。

这里,δ ϵ'/δ zₜ 是昂贵的。 这是有道理的,因为我们需要遍历生成这些图像的扩散模型并通过它计算梯度。 然而,这个术语对于小噪声水平也没有用,正如论文所说,“因为它经过训练以近似边缘密度的缩放 Hessian 矩阵。” 如果有人对此有很好的解释,请告诉我。 我目前的理解是,正如 EDiffi 等其他研究中所见,当噪声水平较低时,ϵ'几乎完全忽略文本,并专注于使噪声图像看起来像正常图像。 这对我们的情况适得其反,因为它不一定强制我们生成的图像遵循文本提示。 所以结果是次优的。

现在,这篇论文所做的是,因为这个术语对我们的损失几乎没有任何贡献,而且只会让它变得更大,所以让我们删除它! 我们得到

深入理解3D扩散生成式模型,人工智能

现在,虽然删除导数似乎有点违反直觉,但这可以正式导出。 它非常有趣,所以一旦我完全消化它就会把它放在这里。

现在,总的来说,就是这样。 这种方法最酷的一点是我们永远不需要扩散模型的梯度! 我们可以从扩散模型中采样并将其用于 θ 的梯度!

3、NeRF:我们如何从 θ 生成 3D 模型?

首先我们来了解一下光线追踪! 光线追踪背后的主要思想是,对于图像中的每个像素,我们都会发射激光。 如果它击中一个物体,我们就会看到它。 如果它没有击中任何东西,我们就什么也看不见。 下图帮助我有了这种直觉

深入理解3D扩散生成式模型,人工智能

现在假设我有 3d 点 μ。 我们将其通过 MLP(单层神经网络),我们得到

  • τ = 该点的不透明程度
  • c= 点的 RGB。

所以本质上,我们将相机的 3D 坐标和来自它们的光线映射到颜色以及颜色的密度。

在dreamfusion代码中,在训练期间,它似乎像这样随机化姿势

if self.training:
  # random pose on the fly
  poses, dirs, thetas, phis, radius = rand_poses(....

所以本质上它获取 3d 坐标和射线角度。

总的来说,我们希望通过训练来优化这个函数,以便它可以将任何角度的任何点映射到颜色和 RGB,以便我们可以从不同角度拍摄生成的图像! 管道如下图所示

深入理解3D扩散生成式模型,人工智能

然而,这是我们想要从文本生成 3D 模型的情况下的一种技术。 我们可以使用相同的技术从图像生成 3D 模型吗? 答案是不。 主要问题是这个损失函数

深入理解3D扩散生成式模型,人工智能

这里的y是我们的文本条件,它迫使我们的模型生成文本。 所以这个程序中没有任何地方可以告诉它我们想要它是什么样的图像。

现在,我们可以更改它,以便条件 y 接受图像吗?

这正是我们下一篇研究论文所做的!

4、Zero-1-to-3:零样本单图像生成 3D 对象

本文的主要思想是我们可以微调稳定的扩散模型以便我们可以转动物体吗? 答案是肯定的!

深入理解3D扩散生成式模型,人工智能

更详细地说,他们首先使用名为 CLIP 的强大图像编码器对输入图像进行编码。 然后我们添加相机旋转和平移(R,T)。 我们将所有这些连接在一起。 现在,我们有了图像、所需的新相机旋转 (R) 和所需的新相机平移 (T),我们希望它使用这些参数生成新图像。 现在,当我第一次读到这个想法时,我很好奇这样一个用于训练这样的模型的数据集已经存在。 事实上,确实如此! 这是数据集 objaverse ,它是一个开源项目。 这似乎是由“艾伦人工智能研究所、华盛顿大学、哥伦比亚大学、Stability AI、LAION 和加州理工学院”合作完成的。 这就是为什么它如此优秀并且同时开源是有道理的!

总的来说,在stable dreamfusion中,当我仍在消化代码时,该模型已与 NeRF 相结合,以便你可以通过用我们的剪辑图像嵌入替换 y 来从图像生成 3D 模型。 我不确定stable dreamfusion是否利用了我们可以转动图像的事实。 我希望如此,因为这是一个了不起的功能。

但总的来说,这个主题就这样了。 希望大家喜欢这篇文章!


原文链接:理解3D扩散模型 - BimAnt文章来源地址https://www.toymoban.com/news/detail-858704.html

到了这里,关于深入理解3D扩散生成式模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能大模型中token的理解

    “token”是当前语言类模型的数据单位。当前的自回归语言模型是根据 token 来作为单位进行数据处理和计算,分词(tokenization)就是将句子、段落、文章这类型的长文本分解为以 token 为单位的数据结构,把文本分词后每个词表示成向量进行模型计算。例如在英文语境下,“

    2024年02月08日
    浏览(44)
  • 深入理解图形处理器(GPU):加速人工智能和大数据计算的引擎

    前言: 图形处理器(GPU)不再仅仅是用于图形渲染的硬件设备。如今,GPU已经成为加速人工智能、大数据计算和科学研究的关键引擎。本文将深入探讨GPU的工作原理、应用领域以及它在当今技术领域中的重要性。 GPU(Graphics processing unit)是一种专门设计用于处理图形和图像

    2024年04月15日
    浏览(49)
  • 【深入探讨人工智能】AI大模型在自动驾驶中的应用

    当今, AI大模型 是一个火热的。随着人工智能的迅猛发展,AI大模型在各个领域展现出了巨大的潜力和应用价值。在自动驾驶领域,AI大模型的应用驱动自动驾驶算法具备更强的泛化能力。 那么 AI大模型 为自动驾驶赋能了什么?它的未来发展前景又是怎样? 本文将以

    2024年02月08日
    浏览(58)
  • 【深入探索AI原生应用】文心大模型4.0开启人工智能之门

    10月17日,以“生成未来(PROMPT THE WORLD)”为主题的Baidu World 2023在北京首钢园举办。 李彦宏在百度世界2023上表示: “ 大模型带来的智能涌现,这是我们开发AI原生应用的基础。” 。当天,李彦宏以 《手把手教你做AI原生应用》 为主题发表演讲,发布 文心大模型4.0版本 ,并

    2024年02月08日
    浏览(61)
  • 大气模型软件:WRF、CMAQ、SMOKE、MCM、CAMx、Calpuff、人工智能气象、WRFchem、PMF、FLEXPART拉格朗日粒子扩散、WRF-UCM、EKMA

    推荐给大家一些大气科学相关的模型软件,今天主要整理了一些需求量较高的,大家可以详细了解。零基础的可以点击此链接  零基础学习大气污染模式(WRF、WRF-chem、smoke、camx等) 目录 一、(WRF-UCM)高精度城市化气象动力模拟技术与案例应用 二、WRF DA资料同化系统理论、

    2024年01月25日
    浏览(55)
  • 人工智能的新篇章:深入了解大型语言模型(LLM)的应用与前景

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月04日
    浏览(63)
  • 机器学习模型的可解释性:增加对人工智能系统的信任和理解

            为了以道德和值得信赖的方式使用人工智能,研究人员必须继续创建平衡模型复杂性和易于解释的方法。         机器学习模型在各个领域的使用都取得了重大进展,包括自然语言处理、生成式人工智能和自主系统等。另一方面,随着模型复杂性和规模的增加

    2024年02月13日
    浏览(44)
  • 标题:深入了解ChatGPT:基于GPT-4架构的创新人工智能语言模型及其应用前景

    一、ChatGPT简介 ChatGPT是一种基于OpenAI开发的GPT-4架构的人工智能语言模型。GPT-4是一种自然语言处理技术,其前身为GPT-3。随着技术的迅速发展,GPT-4在许多方面超越了GPT-3,如模型规模、知识库和性能。ChatGPT在多种语言和应用场景中表现出卓越的性能,成为现代人工智能领域

    2024年02月03日
    浏览(52)
  • 人工智能任务4-读懂YOLOv5模型的几个灵魂拷问问题,深度理解 YOLOv5模型架构

    大家好,我是微学AI,今天给大家介绍一下人工智能任务4-读懂YOLOv5模型的几个灵魂拷问问题,深度理解 YOLOv5模型架构。YOLOv5是一种高效且精确的目标检测模型,由ultralytics团队开发。它采用了轻量级的网络结构,能够在保持高性能的同时降低计算复杂度。模型由三个主要部分

    2024年01月16日
    浏览(46)
  • 【最新】生成式人工智能(AIGC)与大语言模型(LLM)学习资源汇总

    a) Andrej Karpathy 的 - 大型语言模型简介:https://www.youtube.com/watch?v=zjkBMFhNj_g 该视频对 LLMs 进行了一般性和高级的介绍,涵盖推理、缩放、微调、安全问题和提示注入等主题。 b) Nvidia 的生成式 AI 介绍:Course Detail | NVIDIA 注意: 本课程需要您先登录 nvidia,然后才能看到详细信息。

    2024年04月26日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包