目录
一、概述
该论文提出了第一个4D大型重建模型L4GM,从单视图视频中生成动画物体的4D模型,并仅需一次前馈传递即可完成,只需要一秒钟。我们直接建立在一个预训练的三维大型重建模型LGM上,L4GM可以从较低fps采样视频帧,得到每一帧的3DGS表示,之后上采样到更高的fps,来保证时间平滑性。
L4GM的关键在于设计了一个新的大规模数据集,来自于Objaverse 1.0的包含1200w个视频渲染动画,包含44k不同物体,和11w种动画,并在48个视角呈现,共计3亿帧。
在使用Sora生成的视频和真实世界数据集ActivityNet的视频中,L4GM的Video-to-4D工作均达到了SOTA性能。
二、相关工作
1、大型3D重建模型
最出色的应该是LRM以及LRM的变体,LRM是第一个利用Objaverse并基于Transformer训练的,最终使用NeRF进行重建的工作,在前馈传递中表现出良好的泛化性,后续的变体包括GS-LRM引入3DGS,以及支持更高分辨率的工作GRM,Gamba等,扩展到更广阔场景pixelSplat,MVSplat等。
2、Video-to-4D 重建
最近多视图视频进行重建操作表现出色,单视图视频输入,由于动态重建不稳定,需要使用模版限制或者输入深度。
DYST介绍了一个合成的4D Dyso数据集,来训练一个基于Transformer的可泛化动态视图合成。但DYST缺乏对场景和相机的明确三维表示。
PGDVS将可泛化的3D NVS模型GNT扩展到动态场景,但过分依赖一致的深度图。
3、Text-to-4D 生成
DreamFusion引入SDS,实现text-to-3D,之后这种方法也扩展到了4D(Text-to-4d dynamic scene generation)。
一些方法实现视频扩散模型与多视图扩散模型相结合,实现3D一致性,优化单帧质量,并利用不同的SDS变体。
Zero123和ImageDream利用条件扩散模型,这种方法也逐渐引入Consistent4D和DreamGaussian4D。
GaussianFlow提出基于GS的动力学方法,并将光流估计作为SDS的正则化。
STAG4D和4DGen使用扩散先验从anchor view中提取伪标签,来扩展实现以图像为条件的SDS的参考图像集,并建立光度重建损失。
Efficient4D和Diffusion^2提出两阶段方法,来加速生成过程,避免完全SDS指导。
三、L4GM
L4GM建立在单视图三维重建模型LGM上。首先给定一个动态物体的单目视频,其中
是视频长度。利用预训练的LGM对静态对象的大规模三维数据集上鲁棒性,可以实现有限数据下有效地训练四维重建模型。L4GM在LGM基础上添加了时间自注意力层,用于学习时间维度上的一致性,同时训练了一个插值模型,用于将低帧率的3DGS表示上采样到高帧率,实现更平滑的动画效果。

1、生成多视图
与LGM生成多视图的步骤相同,利用预训练的ImageDream根据输入的初始帧生成四个正交视图集合
。通常生成的四个视图与输入帧
并不相匹配,但是有三个视图正交于
。
但是存在第一帧的视图与生成的四个视图
中第一个并不对齐,这也就使得与另外三张也不正交,所以又进行了一步LGM,得到LGM重建的3D模型
,并渲染四张图像。此时多视图生成4张图像保证第一张的相机位姿与
的相机位姿对齐,之后三张保证与生成的第一张正交
,得到四张对齐后的多视角图像。
Latex花体为\mathcal{},必须是大写字母。

2、3D LGM转化为4D重建模型
首先对于输入视频的第一帧利用LGM框架,生成一个4视图的正交图像,后面T-1帧复制第一帧生成的另外三张正交图,这样每一帧都有四张正交视图,但是后面T-1帧存在时间不一致性。(左图)。
之后因为要再次引入非对称U-Net层进行4D重建,所以我们考虑相机嵌入问题,将每一个相机姿态所对应的Plucker射线与RGB图像连接起来。此时输入到U-Net的维数为6维的4D张量。除了以往的BHWC外,T代表不同的时间帧,V代表每一个时间帧有四张生成的视图。
下图中间部分描述非对称U-Net,在U-Net每一个层包含ResBlock、Cross-view Self Attn.、Temporal Self Attn.。先通过空间注意力,把V和HW合并,调整空间一致性,再将T和HW合并,调整时间一致性(中间残差连接)。
最后输出为14个通道的特征图,应该是高斯参数的维数加起来14,另外将这些高斯特征沿着V通道方向连接,形成了每一个时间戳下的单一高斯集,形成了最终的4D表示。

另外除了输入相机姿态O外,选择了另一组进行多视图监督。
3、自回归重建和4D插值模型
自回归重建模型,由于我们的基本模型设定为接受固定长度T的单目视频,对于超过T的长视频,将分割为T大小的块,并依次处理。
具体来说,首先将L4GM应用在初始T帧,生成一组T帧的高斯分布,对于后续N-T帧的每T帧,不是遵循L4GM中对下一个T帧的第一帧生成多视图图像,而是基于刚刚前T帧的最后一个高斯模型渲染四个正交角度,并且复制到接下来T+1到2T帧的三个空缺的正交图像上。
这个方法可以减少内存消耗,且重复十次以上,质量不会存在显著的下降。
4D插值模型,由于该模型不能跨帧跟踪高斯轨迹,也就是如果做一个完全新视角的视频,不能实现,模型不够灵活。所以开发了一个4D插值模型。
具体来说,对于两帧之间的4D模型如何得到,首先给定两个不同帧下已经渲染好的4D模型,之后渲染四个正交的图像
,之后利用插值模型,渲染中间RGB像素的权重平均值,并输出相应的GS分布,这里面提到应用了两个额外的时间框架。

四、Objaverse-4D dataset
1、数据集收集
渲染了Objaverse 1.0中的所有动画对象,得到11w个动画所有动画均为24 fps,这些动画包括动态运动、不同场景、细粒度的面部表情、烟雾效果、变形运动等。
2、数据集渲染
由于动画长度不同,所以为每一个动画分割成1秒的clip,并将4D对象渲染成48视图1秒的clip,其中16个固定相机,高度为0°,均匀分布的方位角,32个随机相机,放在随机高度和方位角,在输入相机姿态中,选择在16个固定相机输入相机姿态,从32个随机相机中采样监督相机
。
六、实验
为什么考虑做视频到4D,而不是传统的text-to-4d或者image-to-4d,因为这两种过分依赖SDS,而且比L4GM慢一个数量级。
量化比较video-to-4D。
在不同baselines下对于整体质量、3D外观、对齐程度、运动对齐、真实性的比较。
可视化对比。
为什么没有时间fps嵌入?提到时间戳由正弦编码,添加到相机嵌入中,但PSNR没有得到改善推测是由于输入图像帧已经提供了关于时间步长与时间关系的足够信息,不需要再使用时间嵌入来训练 。
发现:
存在小物体几何错误,但这些问题在LGM上都有。