4K4D:对4K分辨率实现实时4D视角合成

2023-11-02 17:17:54 浏览数 (1)

作者:Zhen Xu, Sida Peng 等 来源:ArXiv 2023 论文题目:4K4D: Real-Time 4D View synthesis at 4K Resolution 论文链接:https://arxiv.org/abs/2310.11448 内容整理:王秋文

引言

动态视图合成旨在从捕捉到的视频中重建动态3D场景,并创建沉浸式虚拟回放,这是计算机视觉和计算机图形学领域长期存在的研究问题。对这项技术的实用性至关重要的是它能够以高保真度实时渲染,使其能够应用于VR/AR、体育广播和艺术表演。最近,隐式神经表示在通过可微分渲染从 RGB 视频重建动态 3D 场景方面取得了巨大成功。尽管动态视图的合成结果令人印象深刻,但现有的方法通常由于昂贵的网络评估过程需要几秒钟甚至几分钟才能以 1080p 的分辨率渲染图像。

在本文中,作者提出了一种新的神经表示,称为 4K4D,用于建模和渲染动态 3D 场景。4K4D 在渲染速度方面显著优于已有的动态视图合成方法,同时在渲染质量方面也具有可比性。本方法的核心创新在于 4D 点云表示和混合外观模型。具体来说,对于动态场景,作者使用空间雕刻算法获得粗略的点云序列,并将每个点的位置建模为可学习向量。引入 4D 特征网格,为每个点分配特征向量,并将其输入 MLP 网络,以预测点的半径、密度和球面谐波系数。4D 特征网格自然地对点云进行空间正则化,并使优化更加鲁棒。基于4K4D,作者还开发了一种可微分深度剥离算法,该算法利用硬件光栅化器实现了前所未有的渲染速度。

算法

给定一个捕捉动态 3D 场景的多视图视频,本文的目标是重建目标场景并实时进行新视图合成。为此,使用空间雕刻算法提取场景的粗略点云,并构建基于点云的神经场景表示,该表示可以从输入视频中稳健地学习,并实现硬件加速渲染。

图1 模型的整体流程示意图

使用点云建模动态场景

给定目标场景的粗糙点云,作者使用神经网络以及特征网格来表征场景的动态几何和外观。具体来说,首先定义了六个特征平面

theta_{xy}, theta_{xz}, theta_{yz}, theta_{tx}, theta_{ty}, theta_{tz}

。为了将特征向量

f

赋给帧

t

上任意点

x

,作者采用 K-Planes 算法中的策略,利用这六个平面来建模一个 4D 特征场

Theta(x,t)

:

f=Theta(x,t)=theta_{xy}oplustheta_{xz}oplustheta_{yz}oplustheta_{tx}oplustheta_{ty}oplustheta_{tz}quad(1)

其中,

x

是输入点的坐标,

oplus

表示连接。

根据粗糙点云,动态场景的几何会通过为每个点学习三个性质而得到:位置

pin R^3

,半径

rin R

以及体密度

sigma in R

。使用这三个点的性质,作者可以计算空间点

x

相对于体渲染的图像像素

u

的体密度。其中,点的位置直接表示为一个可优化的向量,半径和体密度和通过将特征向量

f

输入一个 MLP 中得到的。

在本文中,作者综合使用了图像混合技术以及球面谐波模型去建模一个混合的外观模型。图像混合技术表示在视角方向相关方向上离散的外观

c_{ibr}

,SH 模型表示在视角方向相关方向上离散的外观

c_{sh}

。对于

t

帧的每个点

x

,其余视角方向

d

有关的颜色为:

c(x,t,d)=c_{ibr}(x,t,d) c_{sh}(s,d)quad(2)

其中,

s

表示点

x

的球面谐波系数。

在视角方向相关方向上离散的外观

c_{ibr}

是基于输入图像来推断得到的。具体来说,对于点

x

,首先将其投影到输入图像中,以检索相应的 RGB 颜色

c_{img}

。然后,为了混合输入的 RGB 颜色,作者基于点坐标和输入图像来计算相应的混合权重

w_i

。请注意,混合权重与视角方向无关。接下来,为了实现视图依赖效果,根据视角方向选择

N'

个最近的输入视角。最后,颜色

c_{ibr}

被计算为

sum^{N'}_{i=1}w^i c_{img}^i

。由于

N'

个输入视图是通过最近邻检索获得的,因此

c_{ibr}

不可避免地沿观看方向离散。为了实现连续的视图相关效果,附加了由 SH 模型表示的精细级别颜色

c_{sh}

事实上,本文的方法通过将点的特征

f

传递到 MLP 网络中来回归 SH 系数

s

。为了预测图像混合模型

c_{ibr}

中的混合权重

w_i

,首先将点

x

投影到输入图像上以检索图像特征

f_{img}

,然后将其与点特征

f

连接,点特征

f

被馈送到另一个 MLP 网络中以预测混合权重。图像特征

f_{img}

是使用 2D CNN 网络提取得到的。

可微深度剥离

本文提出的动态场景表示可以使用深度剥离算法渲染成图像。得益于点云的表示方式,本文能够利用硬件光栅化器显著加快深度剥离过程。此外,很容易使这种渲染过程变得可微分,使得能够从输入 RGB 视频中学习本文的模型。

作者开发了一个自定义着色器来实现由

K

个渲染过程组成的深度剥离算法。考虑一个特定的图像像素

u

。在第一步中,首先使用硬件光栅化器在图像上渲染点云,它将最接近相机点

x_0

的点分配给像素

u

。将点

x_0

深度表示为

t_0

。随后,在第

k

次渲染过程中,所有深度值

t_k

小于前一次过程

t_{k−1}

的记录深度的点都被丢弃,从而导致像素

u

的第

k

个最接近相机点

x_k

。丢弃更近的点是在自定义着色器中实现的,因此它仍然支持硬件光栅化。经过

K

次渲染后,像素

u

具有一组排序点

{x_k|k=1,dots,K}

基于点

{x_k|k=1,dots,K}

,使用体渲染来合成像素

u

的颜色。基于 2D 图像上投影点和像素

u

之间的距离来定义点

{x_k|k=1,dots,K}

对应于像素

u

的密度:

alpha(u,x)=sigma cdot max (1-frac{||pi(x)-u||_2^2}{r^2},0)quad(3)

其中

pi

是相机投影函数。

sigma

r

是点

x

的密度和半径。将点

x_k

的密度记为

alpha_k

。像素

u

来自体渲染的颜色可以通过计算得到:

C(u)=sum^{K}_{k=1}T_k alpha_k c_kquad(4)
T_k=prod^{k-1}_{j=1}(1-alpha_j)quad(5)

训练

给定渲染的像素颜色

C(u)

,作者将其与 GT 像素颜色

C_{gt}(u)

进行比较,以使用以下损失函数以端到端的方式优化模型:

L_{img}=sum_{uin U}||C(u)-C_{gt}(u)||_2^2quad(6)

其中,

U

是图像像素集合。除了 MSE loss 之外,作者还应用了感知损失

L_{lpips}

L_{lpips}=||Phi(I)-Phi(I_{gt})||_1quad(7)

其中

Phi

是感知函数(VGG16网络),

I

I_{gt}

分别是渲染图像和 GT 图像。感知损失计算从VGG模型中提取的图像特征的差异,有效地提高了渲染图像的感知质量。

为了规范所提出的表征的优化过程,作者还将 mask 监督应用于目标场景的动态区域。作者只渲染动态区域的点云以获得它们的 mask,其中像素值通过以下方式获得:

M(u)=sum_{k=1}^{K}T_kalpha_kquad(8)

mask loss 被定义为:

L_{msk}=sum_{uin U'}M(u)M_{gt}(u)quad(9)

其中

U′

表示渲染 mask 的像素集,

M_{gt}

是 2D 动态区域的真实 mask。这通过将动态区域的几何形状限制在视觉外壳中,有效地规范了动态区域的几何结构的优化。最终的损失函数表示为:

L=L_{img} lambda_{lpips}L_{lpips} lambda_{msk}L_{msk}quad(10)

推理

训练后,作者应用一些加速技术来提高模型的渲染速度。首先,在推断之前预先计算点位置

p

、半径

r

、密度

sigma

、SH 系数

s

和颜色混合权重

w_i

,这些值存储在主存储器中。在渲染过程中,这些属性异步流式传输到图形卡上,将光栅化与内存复制重叠,以实现最佳渲染速度。在应用该技术之后,运行时计算减少到只有深度剥离评估和球面谐波评估。其次,将模型从 32 位浮点转换为 16 位,以实现高效的内存访问,这将使 FPS 增加 20,并且不会导致明显的性能损失。第三,可微分深度剥离算法的渲染次数K从 15 次减少到 12 次,这也导致了在没有视觉质量变化的情况下的 20FPS 加速。

实验

比较实验

我们在多个广泛使用的多视图数据集上训练和评估 4K4D,包括 DNA-Rendering、ENeRF-Outdoor、NHR和Neural3DV。在 DNA-Rendering 的定性和定量比较结果如图 2 和图 3 中的表所示。

图2 在 DNA-Rendering 数据集上的定性比较:分辨率为

1024times 1224

(以及

1125times 1536

图3 在 DNA-Rendering 数据集上的定量比较:分辨率为

1024times 1224

(以及

1125times 1536

可以看出 4K4D 在渲染质量和渲染效率方面都有明显的优势。在 Neural3DV 数据集上的定性和定量比较结果如图 4 和图 5 中的表所示。

图4 在 Neural3DV 数据集上的定性比较:分辨率为

1352times 1224

图5 在 Neural3DV 数据集上的定量比较:分辨率为

1352times 1224

消融实验

消融实验在 DNA-Rendering 数据集上进行,结果如图 6 和图 7 所示。

首先,对 4D 嵌入进行消融实验。具体来说,将每帧中每个点的位置、半径、体密度以及尺度都定义为可学的变量。经过实验结果可知,在没有 4D 嵌入的情况下产生模糊和嘈杂的几何形状,导致渲染质量较差。对混合外观模型进行消融实验。如果去除混合外观中的

c_{ibr}

,则不仅会导致恢复的外观的细节较少,而且显著阻碍了几何的质量,同时为 SH 系数添加额外的维数不会导致显著的性能变化(PSNR 30.202 vs 30.328)。相比之下,本文的方法可以产生细节更好的高保真度渲染。对损失函数进行消融实验,去除了感知损失之后不仅降低了感知质量(LPIPS分数),而且还导致其他性能指标的退化。对于高度动态的DNA-Rendering 数据集,mask 损失有助于正则化动态几何的优化。

图6 消融实验定性比较结果图

图7 消融实验定量比较结果图

0 人点赞