编辑:好困 Aeneas

【新智元导读】近日,Meta和CMU的研究人员提出了一种全新的6-DoF视频表征方法,单张RTX 3090即可每秒18帧实现百万像素分辨率渲染,或将给VR带来革命性的高质量体验。

最近,由Meta和卡内基梅隆大学提出的6-DoF视频表征模型——HyperReel,可能预示着一个全新的VR「杀手级」应用即将诞生!

所谓「六自由度视频」(6-DoF),简单来说就是一个超高清的4D体验式回放。

其中,用户可以完全「置身于」动态场景里面,并且可以自由地移动。而当他们任意改变自己的头部位置(3 DoF)和方向(3 DoF)时,与之相应的视图也会随之生成。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(1)

论文地址:https://arxiv.org/abs/2301.02238

与之前的工作相比,HyperReel最大的优势在于内存和计算效率,而这两点对于便携式VR头显来说都至关重要。

而且只需采用vanilla PyTorch,HyperReel就能在单张英伟达RTX 3090上,以每秒18帧的速度实现百万像素分辨率的渲染。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(2)

太长不看版:

1. 提出一种可在高分辨率下实现高保真度、高帧率的渲染的光线条件采样预测网络,以及一种紧凑且内存高效的动态体积表征;

2. 6-DoF视频表征方法HyperReel结合了以上两个核心部分,可以在实时渲染百万像素分辨率的同时,实现速度、质量和内存之间的理想平衡;

3. HyperReel在内存需求、渲染速度等多个方面均优于其他方法。

论文介绍

体积场景表征(volumetric scene representation)能够为静态场景提供逼真的视图合成,并构成了现有6-DoF视频技术的基础。

然而,驱动这些表征的体积渲染程序,需要在质量、渲染速度和内存效率方面,进行仔细的权衡。

现有的方法有一个弊端——不能同时实现实时性能、小内存占用和高质量渲染,而在极具挑战性的真实场景中,这些都是极为重要的。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(3)

为了解决这些问题,研究人员提出了HyperReel——一种基于NeRF技术(神经辐射场)的6-DoF视频表征方法。

其中,HyperReel的两个核心部分是:

1. 一个光线条件下的采样预测网络,能够在高分辨率下进行高保真、高帧率的渲染;

2. 一个紧凑且内存高效的动态体积表征。

与其他方法相比,HyperReel的6-DoF视频管线不仅在视觉质量上表现极佳,而且内存需求也很小。

同时,HyperReel无需任何定制的CUDA代码,就能在百万像素分辨率下实现18帧/秒的渲染速度。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(4)

具体来说,HypeReel通过结合样本预测网络和基于关键帧的体积表征法,从而实现了高渲染质量、速度和内存效率之间的平衡。

其中的样本预测网络,既能加速体积渲染,又能提高渲染质量,特别是对于具有挑战性的视图依赖性的场景。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(5)

而在基于关键帧的体积表征方面,研究人员采用的是TensoRF的扩展。

这种方法可以在内存消耗与单个静态帧TensoRF大致相同的同时,凑地表征了一个完整的视频序列。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(6)

实时演示

接下来,我们就实时演示一下,HypeReel在512x512像素分辨率下动态和静态场景的渲染效果。

值得注意的是,研究人员在Technicolor和Shiny场景中使用了更小的模型,因此渲染的帧率大于40 FPS。对于其余的数据集则使用完整模型,不过HypeReel仍然能够提供实时推理。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(7)

Technicolor

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(8)

Shiny

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(9)

Stanford

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(10)

Immersive

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(11)

DoNeRF

实现方法

为了实现HeperReel,首先要考虑的问题,就是要优化静态视图合成的体积表征。

像NeRF这样的体积表征,就是对静态场景在3D空间中的每一个点的密度和外观,进行建模。

更具体地说,通过函数

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(12)

将位置x和方向

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(13)

沿着⼀条射线映射到颜色

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(14)

和密度σ(x)。

此处的可训练参数θ,可以是神经网络权重、N维数组条目,或两者的组合。

然后就可以渲染静态场景的新视图

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(15)

其中

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(16)

表征从o到

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(17)

的透射率。

在实践中,可以通过沿给定射线获取多个样本点,然后使用数值求积来计算方程式1:

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(18)

其中权重

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(19)

指定了每个样本点的颜色对输出的贡献。

体积渲染的网格示例

在静态场景的HyperReel中,给定一组图像和相机姿势,而训练目标就是重建与每条光线相关的测量颜色。

大多数场景是由实体物体组成的,这些物体的表面位于3D场景体积内的一个2D流形上。在这种情况下,只有一小部分样本点会影响每条光线的渲染颜色。

因此,为了加速体积渲染,研究人员希望只对非零

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(20)

的点,查询颜色和不透明度。

如下图所示,研究人员使用前馈网络来预测一组样本位置

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(21)

。具体来说,就是使用样本预测网络

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(22)

,将射线

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(23)

映射到样本点

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(24)

,以获取体积等式2中的渲染。

这里,研究人员使用Plucker的参数化来表征光线。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(25)

但是这其中有一个问题:给网络太多的灵活性,可能会对视图合成质量产生负面影响。例如,如果(x1, . . . , xn) 是完全任意的点,那么渲染可能看起来不是多视图⼀致的。

为了解决这个问题,研究人员选择用样本预测网络来预测一组几何基元G1, ..., Gn的参数,其中基元的参数可以根据输入射线的不同而变化。为了得到样本点,将射线与每个基元相交。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(26)

如图a所示,给定源自相机原点o并沿方向ω传播的输入光线后, 研究人员首先使用Plucker坐标,重新对光线进行参数化。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(27)

如图b所示,一个网络

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(28)

将此射线作为输入,输出一组几何基元{

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(29)

}(如轴对齐的平面和球体)和位移矢量{

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(30)

}的参数。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(31)

如图c所示,为了生成用于体积渲染的样本点{

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(32)

},研究人员计算了射线和几何基元之间的交点,并将位移矢量添加到结果中。预测几何基元的好处是使采样信号平滑,易于插值。

位移矢量为采样点提供了额外的灵活性,能够更好地捕捉到复杂的视线依赖的外观。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(33)

如图d所示,最终,研究人员通过公式2进行体积渲染,产生一个像素颜色,并根据相应的观察结果,对它进行了监督训练。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(34)

基于关键帧的动态体积

通过上述办法,就可以有效地对3D场景体积进行采样。

如何表征体积呢?在静态情况下,研究人员使用的是内存有效的张量辐射场(TensoRF)方法;在动态情况下,就将TensoRF扩展到基于关键帧的动态体积表征。

下图解释了从基于关键帧的表征中,提取动态的样本点表征的过程。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(35)

如图1所示,首先,研究人员使用从样本预测网络输出的速度{

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(36)

},将时间

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(37)

处的样本点{

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(38)

}平移到最近的关键帧

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(39)

中。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(40)

然后,如图2所示,研究人员查询了时空纹理的外积,产生了每个样本点的外观特征,然后通过公式10将其转换成颜色。

通过这样的过程,研究人员提取了每个样本的的不透明度。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(41)

结果对比

静态场景的比较

在此,研究人员将HyperReel与现有的静态视图合成方法(包括NeRF、InstantNGP和三种基于采样网络的方法)进行了比较。

DoNeRF数据集包含六个合成序列,图像分辨率为800×800像素。

如表1所示,HyperReel的方法在质量上优于所有基线,并在很大程度上提高了其他采样网络方案的性能。

同时,HyperReel是用vanilla PyTorch实现的,可在单张RTX 3090 GPU上以6.5 FPS的速度渲染800×800像素的图像(或者用Tiny模型实现29 FPS的渲染)。

此外,与R2L的88层、256个隐藏单元的深度MLP相比,研究人员提出的6层、256个隐藏单元的网络外加TensoRF体积骨干的推理速度更快

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(42)

LLFF数据集包含8个具有1008×756像素图像的真实世界序列。

如表1所示,HyperReel的方法优于DoNeRF、AdaNeRF、TermiNeRF和InstantNGP,但取得的质量比NeRF略差。

由于错误的相机校准和输入视角的稀疏性,这个数据集对显式体积表征来说是一个巨大的挑战。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(43)

动态场景的比较

Technicolor光场数据集包含了由时间同步的4×4摄像机装置拍摄的各种室内环境的视频,其中每个视频流中的每张图片都是2048×1088像素。

研究人员将HyperReel和Neural 3D Video在全图像分辨率下对这个数据集的五个序列(Birthday, Fabien, Painter, Theater, Trains)进行比较,每个序列有50帧长。

如表2所示,HyperReel的质量超过了Neural 3D Video,同时每个序列的训练时间仅为1.5个小时(而不是Neural 3D的1000多个小时),并且渲染速度更快。

Neural 3D Video数据集包含6个室内多视图视频序列,由20台摄像机以2704×2028像素的分辨率拍摄。

如表2所示,HyperReel在这个数据集上的表现超过了所有的基线方法,包括NeRFPlayer和StreamRF等最新工作。

特别是,HyperReel在数量上超过了NeRFPlayer,渲染速度是其40倍左右;在质量上超过了StreamRF,尽管其采用Plenoxels为骨干的方法(使用定制的CUDA内核来加快推理速度)渲染速度更快。

此外,HyperReel平均每帧消耗的内存比StreamRF和NeRFPlayer都要少得多。

谷歌Immersive数据集包含了各种室内和室外环境的光场视频。

如表2所示,HyperReel在质量上比NeRFPlayer的要好1 dB,同时渲染速度也更快。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(44)

有些遗憾的是,HyperReel目前还没有达到VR所要求的渲染速度(理想情况下为72FPS,立体声)。

不过,由于该方法是在vanilla PyTorch中实现的,因此可以通过比如自定义的CUDA内核等工作,来进一步优化性能。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(45)

作者介绍

论文一作Benjamin Attal,目前在卡内基梅隆机器人研究所攻读博士学位。研究兴趣包括虚拟现实,以及计算成像和显示。

vr渲染器的细分到底是什么(MetaCMU推出VR史诗升级HyperReel实现高保真6自由度渲染)(46)

参考资料:

https://arxiv.org/abs/2301.02238

https://hyperreel.github.io

https://hub.baai.ac.cn/view/23146

https://twitter.com/DrJimFan/status/1611791338034593793

,