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. 场景表示](#1. 场景表示)
- [2. 场景优化](#2. 场景优化)
- [3. 分辨率扩展](#3. 分辨率扩展)
- [4. MAV3D pipeline](#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 无法取得令人满意的结果,实现过程中还有以下几个难题需要攻克:
- 需要一个有效的动态三维场景的表示方法;
- 需要一个监督源,因为没有大规模的文本 - 4D 对可供学习;
- 需要在空间和时间维度上扩展输出的分辨率,因为 4D 输出需要大量的内存和算力;
1. 场景表示
MAV3D 的动态三维场景表示基于 NeRFs,结合了高效的静态 NeRF 和动态NeRF,将 4D 场景表示为 6 个 多分辨率特征平面 (multiresolution feature plane) ,即 HexPlane ^2^。
HexPlane:密歇根大学的研究者们提出的一种用于动态 3D 场景的快速表征方法。它将 4D 时空网格分解为沿每对坐标轴(即 XY、XZ、XT、YZ、YT、ZT)延伸的六个特征平面,并使用每个平面提取的向量融合来计算时空点的特征向量,从而将场景表示为一组高效的显式函数。
2. 场景优化
为了在缺少文本 - 4D 对数据学习的情况下监督上面提出的场景表示,采用了一种由静态到动态的多阶段训练策略:先利用 文本到图像 (text-to-image, T2I) 模型,将静态的三维场景与 prompt 文本匹配;然后再用动态的方式增强三维场景模型。
模型中还引入了时间感知 (temporal-aware) 的 SDS (Score Distillation Sampling ^3^) 损失和运动正则项,这对现实运动和具有挑战性的运动至关重要。
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 θ 的梯度,从而进行更新。
三. 场景优化
四. 分辨率扩展
五. 实验结果
见 https://make-a-video3d.github.io/
六. 总结
MAV3D 最不可思议的地方在于,尽管目前可用的文本 - 4D 对非常有限,Meta AI 的研究者们依靠现有的 T2V 模型作为 NeRF 的场景先验,通过优化以创建 3D 场景表示。在优化过程中,NeRF 模型从连续的时空坐标创建场景的一系列视图,然后使用扩展模型对图像的真实感和与 prompt 文本的对齐程度进行评分,以获得更加真实的场景表示。