MAV3D:从文本描述中生成三维动态场景

Singer U, Sheynin S, Polyak A, et al. Text-to-4d dynamic scene generation[J]. arXiv preprint arXiv:2301.11280, 2023.

MAV3D 是 Meta AI 研究者们提出的一种从文本描述生成三维动态场景的方法。从所提供的文本生成的动态视频输出可以从任何摄像机位置和角度查看,并且可以合成到任何 3D 环境中。1

在这里插入图片描述

本文只对文章做浅显阅读,更多参考资料如下:

  • 全文翻译:一行文本,生成3D动态场景:Meta这个「一步到位」模型有点厉害、AIGC发展太快!Meta发布首个基于文本的4D视频合成器:3D游戏建模师也要下岗了?;
  • 文章总结:一行文本生成4D动态场景——Meta AI MAV3D论文解读、【论文精读】Text-To-4D Dynamic Scene Generation;
  • 视频讲解:[论文阅读]Text-To-4D Dynamic Scene Generation(MAV3D);
  • 疑难问答:Text-To-4D Dynamic Scene Generation | Hacker News

目录

  • 一. 研究思路
    • 1. 场景表示
    • 2. 场景优化
    • 3. 分辨率扩展
    • 4. MAV3D pipeline
  • 二. 场景表示
  • 三. 场景优化
  • 四. 分辨率扩展
  • 五. 实验结果
  • 六. 总结

一. 研究思路

  • 近年来,提供 prompt 合成图像的生成模型发展迅速,主要分为两类:在时间上扩展以合成视频的生成模型(如《Text-to-video generation without text-video data》)和在空间上扩展以生成 3D 形状的生成模型(如《Dream-Fusion: Text-to-3d using 2d diffusion》)。但这两类生成模型的研究一直是分离的。
  • 文章将两者结合,提出了一种 text-to-4D (3D+time) 的生成方法:输入自然语言描述,输出动态的 3D 场景表示,命名为 MAV3D (Make-A-Video3D)

MAV3D 不同于 text-to-video (T2V) 和 text-to-3d 等方法,由于缺少可用的 4D 数据作为训练支撑,因此只能在预训练的模型上再做改进。MAV3D 将动态 NeRF 和预训练的 T2V(也叫 MAV,同样出自 Meta AI)结合,对物体周围的随机视角进行采样来实现多同步视角。

由于缺乏训练数据,Meta AI 的研究人员想到去找一个预训练好的 2D 视频生成器,再从生成的 2D 视频中提炼出一个四维重建。但从 2D 视频中重建可变形物体的形状仍然非常具有挑战性,即 非刚性运动结构 (Non-Rigid Structure from Motion, NRSfM)
不过,如果能够给定物体的 多同步视角 (multiple simultaneous viewpoints),难题就会迎刃而解。虽然多机位设置在真实数据中很少见,但研究者们认为现有的 2D 视频生成器能够隐式地表示任意视角下的场景。也就是说,可以将视频生成器作为一个「统计学」的多机位设置来重建可变形物体的几何和光度。

不过直接使用视频生成器来优化动态 NeRF 无法取得令人满意的结果,实现过程中还有以下几个难题需要攻克:

  1. 需要一个有效的动态三维场景的表示方法;
  2. 需要一个监督源,因为没有大规模的文本 - 4D 对可供学习;
  3. 需要在空间和时间维度上扩展输出的分辨率,因为 4D 输出需要大量的内存和算力;

1. 场景表示

MAV3D 的动态三维场景表示基于 NeRFs,结合了高效的静态 NeRF 和动态NeRF,将 4D 场景表示为 6 个 多分辨率特征平面 (multiresolution feature plane)

2. 场景优化

为了在缺少文本 - 4D 对数据学习的情况下监督上面提出的场景表示,采用了一种由静态到动态的多阶段训练策略:先利用 文本到图像 (text-to-image, T2I) 模型,将静态的三维场景与 prompt 文本匹配;然后再用动态的方式增强三维场景模型。

模型中还引入了时间感知 (temporal-aware) 的 SDS (Score Distillation Sampling 2) 损失和运动正则项,这对现实运动和具有挑战性的运动至关重要。

3. 分辨率扩展

文中通过一段时间感知的超分模型微调来扩展输出的分辨率,具体做法是:使用 T2V 模型的超分模块中的 SDS 来获得高分辨率梯度信息,从而进行有监督的三维场景学习。这能够增加其视觉保真度,并且在推理过程中对更高分辨率的输出进行采样。

4. MAV3D pipeline

在这里插入图片描述
如图所示,4D 场景由 6 个特征平面组成,绿色的 3 个是空间平面,橙色的 3 个是空间时间平面。场景优化时:

  • 第一阶段只需要优化静态场景:利用 T2I 模型的 SDS Loss 优化空间平面,将静态的三维场景与 prompt 文本匹配。静态场景用不到空间时间平面,将其置 0 即可;
  • 第二阶段需要优化动态场景:利用 T2V 模型(即 MAV)的 SDS-T Loss 优化空间时间平面,渲染完整的视频;
  • 第三阶段需要超分微调:使用超分网络 MAV SR 渲染高分辨率的视频,并传入超分组件;

二. 场景表示

记 4D 场景表示为 f θ ( x , y , z , t ) f_{\theta}(x,y,z,t) fθ(x,y,z,t),其中 θ \theta θ 为场景参数,需要学习优化。给定相机机位的集合为 { C t } t = 1 T \{C_t\}_{t=1}^{T} {Ct}t=1T,使用 f θ f_{\theta} fθ 渲染的图像为 I t = R ( f θ , t , C t ) I_t=\mathcal{R}(f_{\theta},t,C_t) It=R(fθ,t,Ct),将其堆叠合成视频 V V V。将 prompt 文本 p p p 和合成视频 V V V 传入 T2V 模型,以计算其匹配程度。然后使用 SDS 计算场景参数 θ \theta θ 的梯度,从而进行更新。

三. 场景优化

四. 分辨率扩展

五. 实验结果

六. 总结

MAV3D 最不可思议的地方在于,目前可用的文本 - 4D 对非常有限。Meta AI 的研究者们依靠现有的 T2V 模型作为 NeRF 的场景先验,通过优化以创建 3D 场景表示。在优化过程中,NeRF 模型从连续的时空坐标创建场景的一系列视图,然后使用扩展模型对图像的真实感和与 prompt 文本的对齐程度进行评分,以获得更加真实的场景表示。


  1. 效果超棒!Facebook AI 提出一种从文本描述生成三维动态场景的方法! ↩︎

  2. Poole, B., Jain, A., Barron, J. T., and Mildenhall, B. Dream-Fusion: Text-to-3d using 2d diffusion. arXiv, 2022. ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/165030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust语言入门教程(一) - 简介及Cargo使用

Rust编程入门 为什么学习Rust 我本人是一个DevOps工程师,并不是专职的开发人员,但需要了解各种各样的语言的基本知识和特性,以便在不同的项目中帮助开发人员设计软件架构,部署流程以及进行错误排查和调试。但是对任何新生的优秀…

springboot 外部化配置

背景:修改jar包中的配置比较麻烦 项目部署的时候放一个配置文件在jar包外 配置文件优先级: 1.jar包内的application.properties/yaml 2.jar包内的application-{profile}.properties/yaml 3.jar包外的application.properties/yaml 4.jar包外的application-{profile}.properties…

【算法】缓存淘汰算法

目录 1.概述2.代码实现2.1.FIFO2.2.LRU2.3.LFU2.4.Clock2.5.Random 3.应用 1.概述 缓存淘汰策略是指在缓存容量有限的情况下,当缓存空间不足时决定哪些缓存项应当被移除的策略。缓存淘汰策略的目标是尽可能地保持缓存命中率高,同时合理地利用有限的缓存…

(保姆级教程)Mysql中事务的概念,什么是事务,如何使用事务,以及事务的隔离级别,什么是脏读、幻读,代码演示

继续讲解 Mysql 数据库中最重要的一个概念:事务 文章目录 事务1.1 什么是事务1.2 执行原理1.3 如何操作事务1.4 事务的特点(ACID原则)1.5 事务并发1.6 事务隔离级别1.6.1 事务并发问题操作演示1.6.2 脏读演示1.6.3 不可重复读演示1.6.4 幻读演…

二叉树的顺序结构及实现

目录 1 二叉树的顺序结构2. 堆的概念及结构3 .堆的实现(小堆) 1 二叉树的顺序结构 普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,…

【Pytorch】Visualization of Feature Maps(3)

学习参考来自: Image Style Transform–关于图像风格迁移的介绍github:https://github.com/wmn7/ML_Practice/tree/master/2019_06_03 文章目录 风格迁移 风格迁移 风格迁移出处: 《A Neural Algorithm of Artistic Style》(ar…

浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题,后端返回异常,但是浏览器状态码200,但是看不到结果。经过排查发现,我们在返回结果的时候使用了json_encode返回给前端,结果里面的字符编码异常,导致json_encode异常,但是php…

前缀和——724. 寻找数组的中心下标

文章目录 🍓1. 题目🫒2. 算法原理🦄解法一:暴力枚举🦄解法二:前缀和 🥔3. 代码实现 🍓1. 题目 题目链接:724. 寻找数组的中心下标 - 力扣(LeetCode&#xff0…

【限时免费】20天拿下华为OD笔试之【前缀和】2023B-数字游戏【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述示例一输入输出 示例二输入输出说明 解题思路前缀和简单的数学推导哈希集合的使用 代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 小明玩一个游戏。 系统发1n张牌&#xff…

某60区块链安全之未初始化的存储指针实战一学习记录

区块链安全 文章目录 区块链安全未初始化的存储指针实战一实验目的实验环境实验工具实验原理实验过程 未初始化的存储指针实战一 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约未初始化的存储指针漏洞 找到合约漏洞进行分析并形成利用 实验环境 Ubuntu18.04操…

深度学习之八(生成对抗网络--Generative Adversarial Networks,GANs)

概念 生成对抗网络(Generative Adversarial Networks, GANs)是一种深度学习模型,由 Ian Goodfellow 等人于2014年提出。GAN 的目标是通过训练两个神经网络(生成器和判别器),使得生成器能够生成与真实数据相似的样本,而判别器能够区分真实样本和生成样本。这两个网络相…

多元逻辑回归模型的概念、模型检验以及应用

多元逻辑回归是逻辑回归的一种扩展,用于处理多类别分类问题。在二元逻辑回归中,我们通过一个逻辑函数(也称为S形函数)将输入特征映射到一个概率值,用于预测两个类别中一个的概率。而在多元逻辑回归中,我们面…

沃趣班11月月考题目解析

沃趣班11月月考题目解析 1.在oracle中创建用户时,若未设置default tablespace关键字,则oracle将哪个表空间分配给用户作为默认表空间 答案:D.user SQL> create user mytest identified by 123456; SQL> grant connect to mytest; SQL…

【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现

项目编号: S 023 ,文末获取源码。 \color{red}{项目编号:S023,文末获取源码。} 项目编号:S023,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…

CSS特效017:球体涨水的效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

前端错误处理与调试

** javascript错误处理 ** 由于javascript本身是动态语言,而且没有固定的开发工具,因此他普遍认为是最难以调试的语言,在ECMAScript3新增了try-catch和throw以及一些错误类型,让开发人员能适当的处理错误,紧接着web浏…

多tab页表单校验如何做

多tab页表单校验如何做 在多tab页表单中进行校验,可以按照以下步骤进行: 创建一个表单对象,用于存储表单数据和校验规则。 分为多个tab页,每个tab页对应一个表单页面。 定义每个tab页中的表单字段及其相应的校验规则。 在切换…

PHP 赋值、算数和比较运算符 学习资料

PHP 赋值、算数和比较运算符 在 PHP 中,赋值、算数和比较运算符用于对变量进行赋值、进行数学运算和比较操作。以下是对这些运算符的介绍和示例: 赋值运算符 赋值运算符用于给变量赋值。常用的赋值运算符有 、、-、*、/ 等。 示例: $a …

芯能转债上市价格预测

芯能转债-113679 基本信息 转债名称:芯能转债,评级:AA-,发行规模:8.8亿元。 正股名称:芯能科技,今日收盘价:12.63元,转股价格:13.1元。 当前转股价值 转债面…

基于遗传优化的多属性判决5G-Wifi网络切换算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 .......................................................................... %接收功率、网…