前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IEEE Transactions on Multimedia | 实时自由视角视频生成系统

IEEE Transactions on Multimedia | 实时自由视角视频生成系统

作者头像
用户1324186
发布2024-04-26 14:50:37
1130
发布2024-04-26 14:50:37
举报
文章被收录于专栏:媒矿工厂媒矿工厂

作者:Shuai Guo, Jingchuan Hu, Kai Zhou, Li Song, Rong Xie and Wenjun Zhang (SJTU MediaLab)来源:IEEE Transactions on Multimedia, Vol.26, pp.6701-6716, Jan. 2024 论文题目:Real-Time Free Viewpoint Video Synthesis System Based on DIBR and a Depth Estimation Network 论文链接:https://ieeexplore.ieee.org/abstract/document/10403933 内容整理:袁嘉靖 本文介绍了一个基于DIBR和深度估计网络的实时自由视角视频合成系统。我们的系统包括一个新的多阶段深度估计网络、一个创新的GPU加速DIBR算法以及一个虚拟视角生成方法。我们的系统提供了第一个基于DIBR和深度估计网络在固定背景场地下的完整实时自由视角视频解决方案。此外,我们还使用了一种新颖的GPU加速DIBR算法。实验结果表明,我们的深度估计网络能够获得更好质量的深度图,与神经渲染方法相比,我们的系统在复杂度和时间消耗上具有明显优势。

引言

随着5G网络和边缘计算技术的普及,实时自由视角视频合成方法在自由视角视频直播、3D电视、快速自由视角视频渲染以及许多其他场景中的应用越来越广泛。一般来说,实时自由视角视频合成方法可以分为五类:密集相机布置、基于3D模型重建的合成、基于神经渲染的合成、帧插值,以及基于深度图像的渲染(DIBR)。在这五类中,DIBR是在自由视角视频系统中最有效和广泛使用的方法。 为了开发基于DIBR的自由视角视频渲染方法,已经做出了巨大努力,因为它们提供了几个优点:

  • 在传输前可以有效地压缩DIBR中使用的深度图像以节省带宽。
  • 合成的虚拟视图可以用作DIBR系统的输入来合成更多的虚拟视图。
  • 输入相机视图之间的光度不对称性,如亮度和对比度差异被消除。 DIBR的基本思想是利用真实相机视图的纹理和深度信息来合成虚拟视图。为了构建一个实时的DIBR系统,我们需要在短时间内获得高质量的合成图像和深度图像。因此,我们考虑了三个挑战。

首先,为了提高DIBR自由视角视频系统的性能,我们必须解决DIBR合成中的空洞和幽灵效应。其中,空洞通常通过后向投影来防止。幽灵效应通常通过检测深度图中的深度不连续性并分离边界和主要层次来防止。然而,大多数DIBR方法设计了许多规则来处理不同的情况。这些现有方法对于实时DIBR自由视角视频系统来说太复杂了。因此,我们需要一种在大多数情况下都有效的简单而有效的方法。

其次,准确的深度图像对现有的实时DIBR系统来说是至关重要且难以获得的。深度图像直接影响3D变形和虚拟视图的合成。有了高质量的深度图像,DIBR系统可以轻松实现实时渲染。为了获得高质量的深度图像,大多数现有的DIBR合成方法依赖于RGB-D相机或软件提供实时深度图像,但面临着有效深度范围有限、RGB-D对齐、深度空洞、视频流传输和RGB-D相机之间的相互干扰等多个问题。软件可以在任何距离获得深度图像,但有相当大的时间成本。

最近基于神经网络的深度估计方法的成功提供了实时 DIBR 的新灵感。这些方法结果良好,且以时间消耗显著超越了传统的深度估计方法。尽管如此,1920 1080帧的处理时间消耗仍超 50 毫秒。因此尚不能应用于实时自由视角视频渲染系统。

为了应对上述挑战,基于离线采集得到的多路动态同步RGB-D数据集,采用实时深度估计网络和DIBR构建了一个实时自由视角视频合成系统。系统由三部分组成:1) 一个多阶深度估计网络,2) 一个DIBR方法及其GPU加速,以及3) 一个虚拟视图生成方法。深度估计网络在渲染时为DIBR方法推断出深度图。整系统能够实时渲染自由视角视频。

论文的主要学术贡献和技术创新如下:

  • 一个DIBR自由视角视频系统,能够实时(每帧1920 1080分辨率下,39毫秒,25 FPS)为所有相机视角推断深度图像,并合成沿相机架水平圆弧的任意虚拟视角。这是业内首个公开的实时DIBR自由视角视频合成系统进行详细描述和实现的研究。
  • 一个新颖的多阶段深度估计网络。该网络利用深度背景模板、前景掩码和精细化的多阶段成本体积结构,以减少时间消耗并提高深度估计性能。 我们是第一个介绍如何充分利用这些强先验信息,以实现实时且性能更佳的DIBR自由视角视频合成的。多阶段成本体积结构也是创新之处。

方法

多阶段深度估计网络

为了解决实时渲染问题,我们引入了多阶段深度估计网络,该网络可以实现实时推断深度图。我们将一个参考表示为

I_0
\in
\mathbb{R}^{H×W}

,其 N 个相邻的源视图表示为

\{I_i\in\mathbb{R}^{H×W}\}^{N}_{i=1}

,其中

H

W

是维度,

N

在我们的工作中设置为4。我们的目标是从

\{I_i\}^{N}_{i=0}

中推断出

I_0

的深度图像

D

。我们的网络是一个基于代价体积的前馈深度网络,这些代价体积以多阶段方式构建,并引入了深度背景模板和前景掩模。我们网络的结构如图1所示:

图1 多阶段深度估计网络概览

特征提取

首先,我们将输入图像下采样到固定分辨率

H'×W'

,采用最近邻插值方法。由于我们系统中输入图像的分辨率1920 1080,为了简化网络结构并减少时间消耗,

H’

设置为108,

W'

设置为192。

其次,由于在不同视角获取的输入图像具有各种照明条件,我们采用一个可学习的特征提取网络来提取密集特征图。该网络由9个卷积层组成,每个卷积层后面都跟着一个泄漏修正线性单元(LeakyReLU)。

输入图像的特征图表示为

\{f_i\}^{N}_{i=0}

f_i \in \mathbb{R}^{H'×W'×F}

其中 F=2 是我们网络中特征通道的数量。我们认为少数几个特征通道就足够完成我们的任务了。

粗糙深度图估计

在提取特征之后,我们提出构建一个多阶段代价体积,每个阶段中具有少量的深度假设平面。在第1阶段,我们为粗糙深度图

D^{1}\in\mathbb{R}^{H'×W'}

的推断构建一个带有

\{f_{i}\}^{N}_{i=0}

的代价体积。假设在参考视图中测量的深度范围从

d_{min}

d_{max}

。我们通过在整个深度范围内均匀采样

M

个深度假设平面来构造代价体积。

假设

bg_{I_0}

I_0

的深度背景模板,并且我们使用Background Matting V2获得

I_0

的前景掩模。对于不在背景中的像素

p

,

M

个平面的采样深度

d^{1}(p)

用于粗糙深度图推断,表示为:

d^{1}(p)=d_{min}+\frac {m(d_{max}-d_{min})}{M},m\in\{0,1,…,M-1\}\quad(1)

对于背景中的像素

p

d^{1}(p)

等于其在

bg_{I_0}

中对应的深度值。在我们的网络中,深度假设平面的数量

M

设置为2,以减少时间消耗。每个平面在参考相机的主轴上有其法线

n_0

。我们假设

\{K_{i}\in\mathbb{R}^{3×3},R_i\in\mathbb{R}^{3×3},K_i\in\mathbb{R}^{3×3} \}^{N}_{i=0}

是内部相机属性、旋转矩阵和满足以下条件的视图的世界位置:

X_{ip}= K_{i}x_{ic}/n_{p}=K_{i}R_{i}(x_{wp}-t_{i})\quad(2)

其中

\lambda_{i}

表示源视图

i

\widetilde{x}_{i}

的深度。根据

\widetilde{x}_{i}

\{f_{i}\}^{N}_{i=0}

,我们使用最近邻插值重构变换到参考视图的特征图

\{\widetilde{f}_{i,d^{1}}\}^{N}_{i=0}

以往的工作通常应用了可微双线性插值。然而,与以往的工作相比,我们大大减少了

H'

W'

、特征通道的数量以及深度假设平面的数量,以减少时间消耗。因此,在这项工作中,我们应用了最近邻插值,以确保最终推断的深度图由源视图的深度图中出现的可靠深度值组成。然后,定义所有像素在深度

d^{1}

处的成本,通过源视图和参考视图中特征的方差:

C^{1}=\frac{1}{N+1}\sum^{N}_{i=0} {(\widetilde{f}_{i,d^{1}}-\bar{f}_{d^{1}})^{2}}\quad(3)

其中

\widetilde{f}_{0,d^{1}}=f_0

是参考图像的特征图,

\bar{f}_{d^{1}}

是所有视图的平均特征体积。这个指标确保了每个像素的正确深度具有最小的特征方差。对

C^{1}

应用3D卷积来聚合上下文信息,并输出概率体积

P^{1}\in\mathbb{R}^{H'×W'×M}

。因此,

D^{1}

中每个像素

D^{1}(p)

的粗糙深度估计计算为:

D^{1}(p)=\sum^{M-1}_{m=0}d_{1}P^{1}_{p}(d)\quad(4)

多阶段深度估计

在我们获得

I_0

的粗略深度图

D^{1}

之后,我们迭代地构建部分代价体积,以进行多阶段深度残差推断。我们的最终目标是在

s

个阶段之后迭代获得

I_0

D^{s}

。假设我们已经获得了第

(l-1)

阶段的深度估计

D^{l-1}

。接下来,我们的目标是为下一个阶段获得一个更精细的深度图

D^l

,使用一个部分代价体积。我们将

M

平面的采样深度

d^l

视为

D^{l-1}

的适当扩展,以回归残差深度值:

d^{l}=D^{l-1}+\frac{(m-M/2)x^l}{M},m\in\{0,1,\cdot\cdot\cdot,M-1\}\quad(5)

其中

x^l

是每个阶段的可调参数。同样,

H_{i}(d^l)

,

C^l

D^l(p)

被定义为:

H_i(d^l)=K_iR_i(I-\frac{(R_it_i-R_{0}t_{0})n^l_0}{d^l})R^{-1}_0(K^{-1}_0),\\\quad(6)
C^l=\frac{1}{N+1}\sum^{N}_{i=0} {(\widetilde{f}_{i,d^{1}}-\bar{f}_{d^{1}})^{2}},\quad(7)
D^l(p)=\sum^{M-1}_{m=0}{d_lP^{l}_l(d)}\quad(8)

经过

s

次迭代后,我们获得

D^s

。我们将

D^s

上采样至

H×W

来获得

D

,根据最近插值。然后,使用 L2-范数来确定真实深度与估计深度之间的绝对差异。在每个训练阶段,损失函数定义为:

loss=\sum^{}_{p\in\Omega} {||D_{GT}(p)-D^l(p)||_1}\quad(9)

其中

\Omega

是具有真实测量值的有效像素集。在我们的网络中,阶段数

s

设为2,所有阶段都有2个深度假设平面。实验部分验证了这一结构相比于现有最先进方法的有效性。

DIBR算法与GPU加速

我们的DIBR方法以两个摄像机视角

v_l

,

v_r

作为参考视角,并根据每个摄像机视角为虚拟视角

v_0

推断深度图。图2是我们DIBR方法的概览。

图2 DIBR算法整体思路概览

首先,我们将最近参考视角的纹理(RGB)图像和深度图像表示为

\{I_i,D_i\}_{i=l,r}

。我们对纹理图像进行闪烁和时间一致性处理步骤。我们假设

\{K_{i}\in\mathbb{R}^{3×3},R_i\in\mathbb{R}^{3×3},t_i\in\mathbb{R}^{3×1} \}^{N}_{i=l,0,r}

是视角的内在相机属性、旋转矩阵和世界位置。我们使用

x^{r}_{ip}

x^{b}_{ip}

来表示

x_{ip}

的右侧和下方像素邻居,

th

是一个正阈值。然后,我们确定每个参考视图的背景和前景边界。对于

I_l

I_r

中的像素

x_{ip}

,如果:

D_i(x_{ip})-D_i(x^r_{ip})\ge th,i=l,r\quad(10)

那么其右侧

E_r

邻居被标记为背景边界,左侧

E_r

邻居被标记为前景边界。 如果:

D_i(x_{ip})-D_i(x^b_{ip})\ge th,i=l,r\quad(11)

那么其左侧

E_r

邻居被标记为背景边界,右侧

E_r

邻居被标记为前景边界。 如果:

D_i(x_{ip})-D_i(x^r_{ip})\le -th,i=l,r\quad(12)

那么其上方

E_r

邻居被标记为背景边界,下方

E_r

邻居被标记为前景边界。

v_l

v_r

中不是背景边界的像素被变形到

v_0

以获得

v_0

的深度图。通过在视图合成后移除背景边界,一些空洞可以被其他变形图像填补。对于参考视角中深度为

D_{i}(X_{ip})

的像素

X_{ip}

,其在

v_0

中对应的3D点表示为:

X_{0c}=R_0(R^{-1}_iK^{-1}_iX_{ip}D_i(X_{ip})+t_i-t_0),i=l,r\quad(13)
X_{0c}

中的第三个值是一个深度值,根据这个深度值,每个参考视图

v_0=i

可以为

v_0

获取一个深度图

D_{0i}

。我们使用平均滤波器来去除深度图中的噪声。接下来,虚拟视图中的每个像素位置

Y_{0p}

根据在上一步获得的

v_0

的深度图,被变形到参考视图以确定其对应的

X_{il}

X_{ir}

。 具体来说,我们可以得到:对于一个参考视图 :

X_{ip}=L(K_iR_{i}(R^{-1}_0K^{-1}_0Y_{0p}D_{0i}(Y_{0p})+t_0-t_i)/n_p),i=l,r\quad(14)

其中

L()

代表Lanczos插值方法,用于获得精确的像素位置。因此,我们可以获得

v_l,v_r

v_0

中的嵌入,且

Y_{0p}

中的纹理应该是

X_{lp}

X_{rp}

中纹理的加权合成。为了获得合成的置信度,我们将

X_{ip}

变形回

v_0

Y^{i}_{0p}=K_0R_0(R^{-1}_{i}K^{-1}_iX_{ip}D_{i}(X_{ip})+t_i-t_0)/n_p,i=l,r\quad(15)
X_{ip}

中纹理的合成置信度定义为:

W_{ip}=exp(-\frac{||Y_{0p}-Y^{i}_{0p}||_2}{\sigma}),i=l,r\quad(16)

其中

\sigma

是一个可调参数。因此,

Y_{0p}

中的纹理

I

可以计算为:

I(Y_{0p})=\sum_{i=l,r}W_{ip}I(X_{ip})\quad(17)

最后,我们可以获得虚拟视图

v_0

的纹理图像

I_0

。我们将

D_{0l}

D_{0r}

的像素级最小值视为

Y_{0p}

的深度图;因此,我们可以为

v_0

获得一个深度图

D_0

D_0

中的空洞根据最近的深度值填补。类似于第二步,我们用

D_0

确定

I_0

的前景边界,且

I_0

的前景边界通过高斯滤波器去噪。

我们使用CUDA GPU编程来加速3D变形、视图合成以及DIBR滤波和去噪过程。我们DIBR方法的CUDA GPU实现使我们能够利用GPU设备中的内在并行计算,从而保证DIBR运行时间远低于串行实现的时间。在CUDA框架中,基本工作单元是线程,而一个块是一组线程。

虚拟视角获取

为了获得平滑的自由视角视频交互体验并满足DIBR合成的输入需求,我们需要获得许多虚拟视角的相机参数。系统中,虚拟视角沿着摄像机架的水平圆弧分布。我们认为:

  • 每个虚拟视角具有与最近相机视角相同的内在参数;
  • 每个虚拟视角的外在参数(旋转矩阵和世界位置)可以通过拟合所有相机视角的欧拉角和世界位置的回归模型获得。

假设

R_i \in \mathbb{R}^{3×3}

t_{i}=[t_{ix},t_{iy},t_{iz}]^{T}

是我们相机阵列中第

i

个针孔相机的旋转矩阵和世界位置向量。我们首先根据每个真实相机

i

的旋转矩阵获得其欧拉角[

\psi_{i},\theta_{i},\phi_{i}

]。然后,我们为相机

i

x

坐标、

y

坐标和欧拉角构造一个回归模型,以确保这些参数适合相机的

y

坐标。通过使用SciPy解决回归模型,我们获得了

x

坐标、

z

坐标、欧拉角与

y

坐标之间的关系。用户选择圆弧上的一个虚拟视角后,

y

坐标在12个真实相机视角之间变化,我们可以获得虚拟视角的外在参数。

实验

实验设置

我们使用系统的离线模式和在线模式来更好地评估系统的各个部分,系统的离线模式和在线模式含义分别如下:

  • 离线模式:我们使用GPU加速DIBR和多视角RGB-D同步数据集中的深度图像来渲染虚拟视角。此模式用于评估我们的数据集和DIBR方法的质量。
  • 在线模式:我们使用GPU加速DIBR和由我们预训练的深度估计网络推断的深度图像来渲染虚拟视角。此模式用于评估我们的深度估计网络和整个系统。 除非另有说明,本节中我们的系统在在线模式下工作。对于我们的系统,我们首先用多视角RGB-D同步数据集训练多阶段深度估计网络,然后采用该网络推断新捕获图像的深度图像。然后,使用GPU加速DIBR方法来合成虚拟视角的纹理图像。虚拟视角相机参数通过虚拟视角生成方法获得。我们选用多视角RGB-D同步数据集中的“篮球运动员”、“体操广播员”、“两个篮球运动员”和“两个羽毛球运动员”组来训练多阶段深度估计网络,并使用其他场景来评估所提出的系统。

实验结果

表1 基于DIBR与实时深度估计的自由视角视频生成与其他方法的客观对比

我们在表1和图3中比较了我们的系统与自由视角视频研究中现有最先进方法的定性和定量合成性能。表1展示了我们数据集中四个场景的相机7的合成结果与不同方法和系统的评估。图3展示了我们数据集中四个场景的相同虚拟视角使用不同方法和系统合成的纹理图像。虚拟视角位于相机6和7之间。我们在表1的“我们的系统(离线)”部分展示了我们的DIBR虚拟视角合成结果,使用了我们的多视角RGB-D同步数据集中提供的深度图像。

图3 基于DIBR与实时深度估计的自由视角视频生成与其他方法的主观对比

实验结果表明,我们的系统有更好的主观效果,伪影和噪声更少,边缘更锐利,更真实可靠且接近真实值,整体观感更自然。在客观指标方面,我们的系统在维持较低延迟的情况下,达到了更高的客观指标,我们的延迟仅高于Hu等人的插帧方法,但达到实时要求。

表2 基于DIBR与实时深度估计的自由视角视频生成系统与同类方法复杂度对比

我们分析我们系统的复杂性和实时性,并与其他方法做比较。表1展示了在推断一个新视角的高清帧时,我们的系统与现有最先进解决方案之间的定量复杂性比较。在这个表格中,我们使用模型大小(参数数量)、FLOPs(每秒浮点运算次数)和FPS(每秒帧数)作为量化模型复杂性的指标。如表中所示,与其他解决方案相比,我们的系统具有相对较低的FLOPs和可比的模型大小。尽管我们的FPS比Hu等人的少9帧,但我们的系统仍然可以满足实时性需求。

图4 基于DIBR与实时深度估计的自由视角视频合成系统的等待时间与成立时间分析

如图3所示,我们展示了系统延迟分析的等待时间和处理时间。在我们的系统中,虚拟视角生成的时间消耗可以忽略不计,深度估计的时间消耗约为DIBR的一半。用户与系统之间的通信时间也非常短。我们的系统以25 FPS的速度捕捉视频帧。一旦用户选择了所需的虚拟视点,我们的系统将与两个最近的相机视角匹配作为参考视图来合成所需的虚拟视角。我们同时运行两个深度估计网络来估计两个相机视角的深度图。在我们获得目标深度图后,当下一个12个相机视角到达时,我们的系统将推断用于合成用户所需的下一个虚拟视角的深度图。DIBR方法始终工作以获得用户所需的虚拟视角图像。一旦系统开始稳定运行,DIBR的速度决定了系统获得虚拟视角图像的速率。因此,我们的系统实时工作。

图5 多阶深度估计网络的深度估计效果与其他方法的主观对比

如图4所示,我们在我们的动态同步RGB-D数据集上比较了我们的深度估计网络和相关工作的定性性能。本系统的合成效果相较于COLMAP和CVP-MVSNet而言,在图中表现出了较高的清晰度和深度细节保真度。具体来说,本系统处理的图像边缘更为锐利,物体轮廓更加明确,显示出优良的边缘检测能力。同时,从深度图的连贯性来看,本系统合成的图像中的深度过渡更为平滑,没有出现COLMAP中的噪点多和断层现象。此外,与CVP-MVSNet相比,本系统提供的深度图在灰度层次上更为均匀,细节更加丰富,说明本系统合成的深度图在光照变化和阴影处理上具有更强的适应性和还原度。

图6 GPU加速的DIBR算法与其他方法的主观对比

如图5所示,我们通过合成我们的多视角RGB-D同步数据集中的一个场景的相机9视图,比较了我们的GPU加速DIBR方法和Fehn等人及Somraj等人提出的DIBR方法的定性性能。本系统的DIBR合成效果中,人物周围的边缘处理更加自然,没有出现其他方法中的明显伪影或者边缘模糊。尤其是在人物手臂举起部分与背景相接处,本系统展现了更为精细的合成效果。此外,色彩的一致性和光影效果也更符合自然观感。本系统合成的图像在细节恢复和整体视觉协调性方面都体现出较其他方法更明显的优越性。

结论

可以看到,我们的深度估计网络能够获得更好质量的深度图。我们的DIBR方法和系统能够以更少的空洞、更少的噪声和更低的时间消耗获得虚拟视角的纹理图像。我们的系统在DIBR基础上的自由视角视频合成方法中表现突出,这归因于我们在DIBR方法和深度估计方法上的双重优势。我们的GPU加速DIBR方法引入边界标签和置信图,以减少空洞和幽灵伪影。

我们的深度估计网络使用背景深度模型、前景遮罩和精细化的多阶段成本体积结构,以减少时间消耗并提升深度估计性能。与基于3D重建的自由视角视频合成方法相比,置信图、背景深度模型和前景遮罩使我们的系统对不精确的深度值更加鲁棒。

与神经渲染方法相比,我们的系统在复杂度和时间消耗上具有明显优势。这是因为静态场景的神经渲染方法需要在每个帧组上进行训练。动态NeRF方法的时间成本低于静态NeRF方法。由于我们的DIBR渲染更简单更有效,我们的系统在消耗更少时间的同时,表现更好。 我们的系统使用深度估计网络获取新场景的可靠深度图,并使用鲁棒的DIBR方法合成虚拟视角。与基于帧插值的自由视角视频合成方法相比,我们的系统在合成结果质量上具有优势。 由于引入了深度图,我们的系统在稍微增加了时间的前提下,考虑了场景的几何一致性并实现了更好的性能。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 方法
    • 多阶段深度估计网络
      • 多阶段深度估计
        • DIBR算法与GPU加速
          • 虚拟视角获取
          • 实验
            • 实验设置
              • 实验结果
              • 结论
              相关产品与服务
              GPU 云服务器
              GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档