写点什么

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

  • 2022-08-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
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 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-08-02 14:034502

    评论 1 条评论

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

    跳表

    一个大红包

    3月日更

    融云集成之避坑指南-Android推送篇

    融云 RongCloud

    音视频

    【数独问题】经典面试题:解数独 ...

    宫水三叶的刷题日记

    面试 LeetCode 数据结构与算法

    Linux 高并发服务器 select/poll实现

    赖猫

    Linux linux编程 linux开发 Linux服务器开发

    浅谈:国内低代码开发平台能搭建哪些企业管理系统?

    优秀

    低代码开发平台

    粉丝福利 | 秒 get 支付宝同款扫码组件

    蚂蚁集团移动开发平台 mPaaS

    支付宝 二维码 mPaaS 扫码 QRCODE

    对标阿里P7Java架构师面试题,已助我拿下字节、蚂蚁、滴滴三家Offer

    Java架构之路

    Java 程序员 架构 面试 编程语言

    CodeHub#4 前情预告|H5 容器在技术实践中的应用

    蚂蚁集团移动开发平台 mPaaS

    html5 移动开发 codehub 教育科技

    融云即时通讯SDK集成 -- 国内厂商推送集成踩坑篇(Android平台)

    融云 RongCloud

    即时通讯

    嵌入式技术与人工智能有什么关系?

    cdhqyj

    人工智能 嵌入式 系统 科技

    十四五重头戏的工业互联网,为什么需要IP化先行

    脑极体

    读书笔记:我的安全世界观

    架构精进之路

    安全 #读书 3月日更

    飞行汽车到底能不能普及?

    石云升

    思维方式 科技革命 28天写作 3月日更

    OpenKruise v0.8.0 版本发布:K8s 社区首个规模化镜像预热能力

    阿里巴巴云原生

    容器 云原生 k8s 安全 应用服务中间件

    叹服!微软自爆虐心405页程序员面试通关手册,Github上已获赞75.6K

    Java架构之路

    Java 程序员 架构 面试 编程语言

    ​Web攻击怎么办?安全防护有方案

    安全

    为啥你一入场就开始跌呢?聊聊长期主义

    池建强

    长期主义

    写作的意义

    ES_her0

    28天写作 3月日更

    并发编程-原子操作CAS

    赖猫

    c++ 高并发 并发 CAS Linux服务器开发

    San CLI 的实现原理

    百度Geek说

    cli service san command

    优化自动化测试流程,使用 flask 开发一个 toy jenkins工具

    和牛

    Python 软件测试

    助我拿到37KOffer,这份阿里巴巴890页Redis笔记可谓功不可没

    Java架构之路

    Java 程序员 架构 面试 编程语言

    WebRTC服务器模型

    赖猫

    音视频 WebRTC

    DataPipeline亮相“2021科技助力湾区数字金融发展峰会”,解锁“实时数据管理”密码

    DataPipeline数见科技

    Lex Fridman: How to learn and master a new skill 简评

    teoking

    融云 IM SDK 转 AndroidX

    融云 RongCloud

    IM

    Redis和Memcached的区别

    赖猫

    redis memcached 服务器开发 Linux服务器开发

    网易游戏基于 Flink 的流式 ETL 建设

    Apache Flink

    flink

    互联网信贷风险与大数据 存量管理

    张老蔫

    28天写作

    融云即时通讯SDK集成 -- FCM推送集成指南(Android平台)

    融云 RongCloud

    即时通讯

    高质量、高并发的实时通信架构设计与探索

    融云 RongCloud

    架构 通信

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