解决的主要问题
传统的3DGS只能生成静态的多视角图片,本文在此基础上更进一步,生成动态的多视角视频,即在一个流畅的视频中,观看者可以自由变换观看视角。其渲染帧率为82FPS,硬件设备是RTX3090 GPU.
主要思路
由多视角图片拓展为多视角视频,一个容易想到的思路是对视频中的每一帧单独建立一个3DGS模型,但是这样系统要同时维护很多个3DGS模型,费时费力,本文没有这样做。
本文提出的方法是只维护一组3DGS模型,即从始至终只有一组3D高斯球,只是在不同的时间节点,这组高斯球会做出相应的变化(位移、缩放)等以表示在视频中物体随时间的移动。
具体思路
假设在时刻时高斯球的形态为
,在上一时刻该高斯球的形态为
,则可以用下面的公式来表示这种变化:
从上面的公式中可以看出,得到了就可以得到
,得到了
就可以根据3DGS的步骤渲染得到图像,所以本文的核心在于如何计算
。在论文中
可以用一个MLP网络F()计算出来,即
.
而MLP网络F()又进一步可被拆分成一个编码器H和一个解码器D:
下面具体介绍编码和解码两部分。
编码
按照k-plane这篇论文的方法,把全空间分为6个特征平面,编码时先从这6个特征平面中提取特征,然后把这6个特征乘起来,最后通过一个编码MLP ,得到最终编码
.
第一步:划分特征平面
特征平面用表示,其中
为分辨率等级,每个分辨率等级分为6个特征平面,即
.
第二步:通过插值获得原始特征编码
原始特征编码的计算公式为:
其中,表示在特征平面
中根据待查询点
的位置进行插值,得到属于点
的特征,
表示同分辨率下6个平面下的特征相乘起来,
表示不同分辨率下的特征拼接起来。
第三步:得到最终特征编码
将原始特征编码用一个MLP网络
编码得到最终特征编码
,即
.
解码
解码网络分为:预测高斯球位移的网络、预测高斯球旋转四元数的网络
、预测高斯球缩放因子的网络
.