PCon全球产品创新大会开幕在即,查看大会全部精彩内容这里直达 了解详情
写点什么

文字秒变 3D?苹果发布最新 AI 生成模型 GAUDI,根据文字提示创建 3D 场景

  • 2022 年 8 月 02 日
  • 本文字数:2862 字

    阅读完需:约 9 分钟

文字秒变3D?苹果发布最新AI生成模型GAUDI,根据文字提示创建3D场景

继 AI 将文字变成图片后,又有 AI 可以将文字变成 3D 场景了。

苹果发布新 AI 系统 GAUDI,能在室内生成 3D 场景


近日,苹果 AI 团队发布最新 AI 系统 GAUDI,GAUDI 基于用于生成沉浸式 3D 场景的神经架构 NeRFs,可以根据输入的文字提示生成 3D 室内场景。


GitHub 地址:https://github.com/apple/ml-gaudi


在此之前,OpenAI 的 DALL-E 2 以及谷歌的 Imagen 和 Parti 等 AI 系统都展示了将文字生成图片的能力,但生成的内容仅限于 2D 图像和图形。


2021 年年末,谷歌通过 Dream Fields 首次展示了新的 AI 系统,该系统将 NeRF 生成 3D 视图的能力与 OpenAI 的 CLIP 评估图像内容的能力相结合。而苹果 AI 团队发布的 GAUDI 则更进一步,能够生成沉浸式 3D 场景的神经架构,并可以根据文字提示创建 3D 场景。


例如,输入“穿过走廊”或“上楼梯”,就可以看到执行这一动作的 3D 场景视频。


00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.5x
    网页全屏
    全屏
    00:00


    据了解,NeRFs 是一种主要用于 3D 模型和 3D 场景的神经存储介质,并能够从不同的相机视角进行渲染。


    此前,将生成 AI 扩展到完全不受约束的 3D 场景是一个尚未解决的问题。这背后的原因之一是受限于摄像机位置:虽然对于单个对象,每个摄像机位置都可以映射到一个圆顶,但在 3D 场景中,这些摄像机位置会受到对象和墙壁等障碍物的限制。


    对于这个难题,GAUDI 模型的解决方案是:相机姿态解码器对可能的相机位置进行预测,并确保输出是 3D 场景架构的有效位置。


    虽然当前 GAUDI 生成的 3D 场景视频质量很低,但这也预示了 AI 在未来新的可能,或许在 AI 的下一阶段,我们可以看到更多惊喜。

    GAUDI 背后的技术实现


    根据苹果方面的介绍,GAUDI 的目标是给定 3D 场景轨迹的经验分布时,学习得出生成模型。


    论文地址:https://arxiv.org/pdf/2207.13751.pdf


    具体技术实现方面,令 X = {xi∈{0,…,n}}表示所定义的经验分布示例集合,其中每个示例 xi 代表一条轨迹。每条轨迹 xi 被定义为相应的 RGB、深度图像与 6DOF 相机位姿的可变长度序列。


    苹果 AI 团队将学习生成模型这个任务拆分成两个阶段。首先,为每个示例 x ∈ X 获取一个潜在表示 z = [zscene, zpose],用于表达场景辐射场和在单独的解纠缠向量中的位姿。接下来,给定一组潜在的 Z = {zi∈{0,...,n}},目的就是学习分布 p(Z)。

    1.优化辐射场与相机姿势的潜在表示


    为每个示例 x ∈ X(即经验分布中的每条轨迹)寻找潜在表示 z ∈ Z。为了获得这一潜在表示,团队采用了无编码器视图,并将 z 解释为通过优化问题[2,35]找到的自由参数。为了将潜在 z 映射至轨迹 x,我们设计了一套网络架构(即解码器),可用于解析相机姿势与辐射场参数。这里的解码器架构由 3 个网络构成(如下图所示):



    负责将相机位姿与 3D 几何及场景外观分离的解码器模型架构。解码器包含三个子模块:解码器 d 将用于表示场景 zscene 的潜在代码作为输入,并通过三平面潜在编码 w 生成 3D 空间的分解表示。辐射场网络 f 则将 p ∈ R3 作为输入点,并以 W 为条件通过体积渲染(方程 1)预测出密度σ和信号 a。最后,我们通过网络 c 解码相机位姿。网络 c 将归一化的时间位置 s ∈ [-1, 1]作为输入,并以 zpose(表示整个轨迹 x 中的相机位姿)为条件,预测出相机位姿 T^ s ∈ SE(3)。


    • 相机位姿解码器网络 c(由θc 实现参数化)负责预测轨迹中归一化时间位置 s ∈ [-1, 1]处的相机位姿 T^ s ∈ SE(3),其中的 zpose 条件则代表整个轨迹的相机位姿。为了确保 c 的输出为有效相机位姿(例如 SE(3)的一个元素),输出一个 3D 向量,用以表示方向的归一化四元数 qs 外加 3D 平移向量 ts。

    • 场景解码器网络 d(由θd 实现参数化)负责预测辐射场网络 f 的条件变量。该网络将表示场景 zscene 的潜在代码作为输入,可预测出以轴对齐的三平面表示[37, 4] W ∈ R 3×S×S×F。与空间维度 S x S 和 F 通道的三个特征图[Wxy,Wxz,Wyz]相对应,每个轴分别对齐一个平面:xy、xz 与 yz。

    • 辐射场解码器网络 f(由θf 实现参数化)的作用,是使用方程 1 中的体积渲染议程重建图像级目标。其中 f 的输入为 p ∈ R 3 和三平面表示 W = [Wxy,Wxz,Wyz]。给定一个要预测辐射度的 3D 点 p = [i, j, k],将 p 正交投影至 W 中的每个平面,并执行双线性采样。将这 3 个双线性采样向量连接成 wxyz = [Wxy(i, j),Wxz(j, k),Wyz(i, k)] ∈ R 3F,用于调节辐射场函数 f。这里,苹果 AI 团队将 f 实现为输出密度值σ和信号 a 的 MLP。为了预测像素的值 v,使用体积渲染议程(参见方程 1),其中的 3D 点表示特定深度 u 处的光线方向 r(相对于像素位置)。

    • 方程1


    团队还确立了去噪重建目标,用以联合优化θd, θc, θf 和{z}i={0,...,n},详见方程 2。


    请注意,虽然潜在 z 是针对每个示例 x 独立优化的,但网络θd, θc, θf 的参数由所有示例 x ∈ X 均摊。与之前的自动解码方法[2,35]不同,每个潜在 z 在训练过程中都会受到与所有潜在模型的经验标准差成正比的加性噪声干扰,即 z = z+βN (0,std(Z)),从而导致收缩表示[46]。在这种情况下,β控制分布 z ∈ Z 的熵与重建项间的权衡:当β= 0 时,z 的分布为指示函数的集合;而β > 0 时,潜在空间则为非平凡结构(non-trivial structure)。使用一个较小的β > 0 值强制获得一个潜在空间,插值样本(或包含与经验分布具有小偏差的样本,即可能从采样后续生成模型中获得的样本)将受解码器支持以被包含其中。


    方程2


    使用两种不同的损失函数对参数θd, θf , θc 和潜在变量 z ∈ Z 进行优化。第一个损失函数 Lscene 负责测量在 zscene 中编码的辐射场与轨迹 x im s 中的图像之间的重建(其中 s 表示帧在轨迹中所处的归一化时间位置),这时需要给定实际相机位姿 Ts。


    对 RGB 使用 l2 损失函数,对 4 depth 1 使用 l1 损失函数。第二个损失函数 Lpose 则测量在 zpose 中编码的位姿 T^ s 与真实位姿之间的相机位姿重建差。对平移使用 l2 损失,对相机位姿的归一化四元数部分采用 l1 损失。尽管在理论上,归一化四元数并不一定唯一(例如 q 和-q),但在训练期间并未发现任何经验问题。

    2.预先学习


    给定一组潜在的 z ∈ Z,这些 z 由对方程 2 中目标的最小化产生。目的是通过学习获得一个生成模型 p(Z),并捕捉其分布(即在最小化方程 2 的目标之后,将 z ∈ Z 解释为潜在空间中经验分布的形式)。为了对 p(Z)进行建模,团队采用了去噪扩散概率模型(DDPM)[15],这是一种新近出现、基于分数匹配[16]的模型。该模型能够通过大量但有限的时间步数,学习马尔可夫链的逆向扩散。


    DDPMs 表明,这一逆向过程等效于学习一系列具有绑定权重的去噪自动解码器。DDPM 中的监督去噪目标使得学习这(Z)变得简单且可扩展。由此,我们就能学习得到一个强大的生成模型,该模型能够以无条件/有条件方式生成 3D 场景。为了训练先前的 pθp (Z),采用方程 3 中定义的目标函数。在方程 3 中,t 代表时间步长,~ N (0, I)为噪声,α¯t 为具有固定调度的噪声幅度参数,θp 则表示去噪模型。


    方程3


    在推理期间,团队会遵循 DDPM 中的推理过程以对 z ~ pθp (Z)进行采样。首先对 zT ~ N (0, I)采样,之后迭代应用θp 对 zT 进行梯度去噪,从而逆向扩散马尔可夫链以获得 z0。接下来,将 z0 作为输入提供给解码器架构,借此重建辐射场和相机路径。如果目标是学习潜在变量 p(Z|Y )的条件分布,则应给定配对数据{z ∈ Z, y ∈ Y },为去噪模型θ增加一个条件变量 y,由此得到θp (z, t, y)。

    2022 年 8 月 02 日 14:032021

    评论 1 条评论

    发布
    用户头像
    有点硬核,一般人看不懂。。。
    2022 年 08 月 03 日 08:40
    回复
    没有更多了
    发现更多内容

    怎么学自动化测试

    和牛

    测试

    不吹不黑JAVA Stream的collect用法与原理,远比你想象的更强大

    程序员小毕

    Java 程序员 程序人生 stream collect

    如何使用IDEA数据库工具连接TDengine?

    TDengine

    数据库 tdengine 时序数据库

    模块七

    Geek_2ce415

    Redis 持久化 - RDB 源码详细分析|保姆级别分析!全网最全

    领创集团Advance Intelligence Group

    持久化 rdb redis 底层原理

    动手实践丨手把手教你用STM32做一个智能鱼缸

    华为云开发者联盟

    物联网 IoT

    不是我说,Nacos和Apollo中的长轮询定时机制,真的太好用了

    Java全栈架构师

    Java 程序员 面试 微服务 nacos

    想进大厂拿高薪?掌握Redis的Sentinel哨兵原理将是至关重要的突破口

    了不起的程序猿

    Java java程序员 Redis 数据结构

    JAVA编程规范之控制语句

    源字节1号

    后端开发

    Mria+RLOG新架构下的EMQX 5.0如何实现1亿MQTT连接

    EMQ映云科技

    物联网 IoT mnesia emqx 7月月更

    Kafka Topic Partition Offset 这一长串都是啥?

    华为云开发者联盟

    后端 华为云

    Verilog HDL

    贾献华

    7月月更

    万物皆可Cassandra:HUAWEI Tag背后的神仙数据库

    华为云开发者联盟

    数据库 后端

    面试官:你确定Redis是单线程的进程吗?

    Java永远的神

    Java redis 程序员 架构 面试

    四个简单例子教你通过用户行为记录提高用户体验

    观测云

    快速构建企业级应用的开发平台

    力软低代码开发平台

    软件研发落地实践,要从设计就开始

    华为云开发者联盟

    云计算 后端 开发

    易观千帆银行用户体验中心成立,助力银行业用户体验升级

    易观分析

    银行 用户体验

    李宏毅《机器学习》丨2. Regression(回归)

    AXYZdong

    机器学习 7月月更

    算法题每日一练---第1天:猴子分香蕉

    知心宝贝

    算法 前端 后端 云开发 7月月更

    字节跳动CVPR 2022多项目夺魁,获模拟人脑感知、长视频理解挑战双料冠军

    字节跳动视频云技术团队

    计算机视觉 图像处理 图片处理 视频理解 视频云

    全新出品!阿里P5工程师~P8架构师晋升路线揭秘

    程序员小毕

    Java 程序员 面试 架构师 学习路线

    易周金融 | 邮惠万家银行开业;微信公众号叫停四类金融营销宣传

    易观分析

    金融

    vueCli3.x版本中如何修改打包好的css、js、img文件名

    木叶🐱

    7月月更

    2022年5月视频用户洞察:用户使用时长增长 平台降本增效初见成效

    易观分析

    视频行业

    值得一看的智能运维AIOps关键核心技术概览!

    云智慧AIOps社区

    人工智能 机器学习 运维 智能运维 自动化运维

    Vue3:显示markdown文档

    空城机

    markdown Vue3 7月月更

    深入揭秘 epoll 是如何实现 IO 多路复用的

    C++后台开发

    网络编程 epoll IO多路复用 C++后台开发 C++开发

    uni-app进阶之内嵌应用【day14】

    黎燃

    7月月更

    短视频直播系统源码——如何优化满足用户需求?

    开源直播系统源码

    直播系统源码 开源源码 短视频直播系统源码

    IM即时消息系统在荔枝的落地实践

    IM即时消息系统在荔枝的落地实践

    文字秒变3D?苹果发布最新AI生成模型GAUDI,根据文字提示创建3D场景_语言 & 开发_核子可乐_InfoQ精选文章