56、Temporal-MPI: Enabling Multi-Plane Images for Dynamic Scene Modelling via Temporal Basis Learning

简介

论文地址:https://arxiv.org/abs/2111.10533v2
在这里插入图片描述
Time-instance MPI可以通过时序基和时序系数的线性组合,在短时间内高效地生成用于渲染的时序MPI

相关文献

  1. D-NeRF21中存在时间条件翘曲场,即添加了一个时间条件变形网络来预测与时间相关的位置偏移,从而将标准NeRF变形为一个时间实例形状。
  2. NeuralFlow21中存在场景流场,即使用时间光度一致性来鼓励从单目视频中学习时间条件下的NeRF。
  3. Neural3DVideo21中存在亮度场,也将NeRF转化为时空域,通过插值时间潜向量实现帧插值。

然而,上述nerf风格的方法耗时的渲染过程限制了它们对实时应用的能力。

根据深度直接将图像扭曲成新的视图是一种高效的视图合成途径。

  1. DynSyn20结合多视图深度和单视图深度,生成动态视图扭曲的时间一致深度。然而,他们的方法有两个缺点:首先,它需要分离静态和动态内容的前景遮罩;其次,他们的方法不能很好地处理闭塞。
  2. 3DMaskVol21提出了一种使用三维掩码体生成动态MPI的方法,以减少背景和瞬时MPI积分边界附近的伪影。然而,他们的方法需要两步训练和背景图像。因此,限制了他们的一般能力。

与nerf风格的方法DynSyn20和3DMaskVol21相比,Temporal-MPI渲染效率高,存储空间小。

实现流程

给定动态场景的一组同步多视点视频 { I t k } \{ I_t^k\} {Itk},其中 t = 1,2, .···T 为帧数,k = 1,2,····,K 为摄像机指标,目标是构建一个紧凑的3D表示,使动态内容在给定时间 t∈[1,T] 时能够实时、新颖地合成。一种方法是为每一帧视频计算并保存一组独立的 MPI M = { M t ∈ R H × W × D × 4 } t T = 1 \{ M_t∈R^{H×W ×D×4}\}^T_t{=1} {MtRH×W×D×4}tT=1,显然这是耗时耗力浪费资源的。TemporalMPI表示,它具有学习过的时间基础,可以对整个视频中的高频变化进行紧凑编码

在这里插入图片描述
提出的 Temporal-MPI 包括低频分量 K 0 c K^c_0 K0c 、时域基 B 和高频系数 { K n } n = 1 N b a s i s \{K_n\}^{N_{basis}}_{n=1} {Kn}n=1Nbasis三个部分。将 time-instantaneous MPI M t M_t Mt 中的 alpha 值和颜色值恢复为基 B 和高频系数 { K n } n = 1 N b a s i s \{K_n\}^{N_{basis}}_{n=1} {Kn}n=1Nbasis 的线性组合,并加入TemporalMPI M ^ \hat{M} M^ 中的低频分量 K 0 c K^c_0 K0c。对应帧的颜色由 time-instantaneous MPI M t M_t Mt 作为MPI的alpha合成在式(1)中渲染。通过像素渲染损失,对每场景的整体管道进行可微优化。

The Multi-plane Image Representation

作为3D内容嵌入和新视图合成的重要表示框架之一,多平面图像(MPI)从一组多视图参考中学习场景的分层深度分解。根据Nex 中的 MPI 图解,设 D 表示 MPI 中的深度层数,每层的尺寸为H × W × 4,其中 H 和 W 表示 MPI 层的高度和宽度,4 表示3 通道 RGB 和 1 通道 α 。因此,MPI 表示为 M = { C d , A d } d = 1 D \{C_d, A_d\}^D_{d=1} {Cd,Ad}d=1D,其中 C d ∈ R H × W × 3 C_d∈R^{H×W ×3} CdRH×W×3是多层的 3 通道RGB 图像, A d ∈ R H × W × 1 A_d∈R^{H×W ×1} AdRH×W×1是单通道alpha图像,d 表示深度平面索引。

基于 MPI M 的新颖视图 I ^ \hat{I} I^ 的合成包括两个步骤

  1. 将 MPI 中的所有深度平面从一个参考视图到一个源视图
  2. 在每个图层的颜色上使用 alpha-composition 渲染像素
    在这里插入图片描述
    W 表示扭曲算符,O 表示合成算符。合成运算符 O 定义为
    在这里插入图片描述
    其中, π i = d + 1 D ( 1 − A i ) \pi^D_{i=d+1}(1-A_i) πi=d+1D(1Ai) 为累积透光率, T d T_d Td 为不透明度。输出的 O(A, C) 是最终渲染的颜色。合成 O 和扭曲 W 操作都是可微的,从而允许表示M从最终的像素渲染损失中学习几何和颜色信息。

Temporal Basis Formulation

在给定的时间实例 t∈[1,T] 上,将时间实例 MPI 表示为 M t M_t Mt 。为了在连续的时间戳上呈现整个新视图序列,需要生成一组时间实例 MPIs M = { M t ∈ R H × W × D × 4 } t T = 1 \{M_t∈R^{H×W ×D×4}\}^T_t{=1} {MtRH×W×D×4}tT=1

将目标分为两个任务

  1. 学习低频颜色分量作为显式参数
  2. 学习一组时间基上的高频变化。

Explicit Parameter Learning for Low-frequency Component

视频中的低频内容在时间维度上构成总能量的低频部分,可以很好地捕捉并通过时不变参数显式建模,将多视图视频 { I t k } t , k \{I_t^k\}_{t,k} {Itk}t,k 的所有帧均视为源视图,忽略其各自的帧索引,利用像素渲染损失可以直接学习到多平面时不变的RGB颜色参数 K 0 c ∈ R H × W × D / 8 × 3 K^c_0∈R^{H×W ×D/8×3} K0cRH×W×D/8×3, K 0 c K^c_0 K0c 为视频的低频能量建模,动态区域上可能存在模糊,这种对低频分量的显式建模方案非常重要,使后续的动态建模能够更好地关注时间变化

Temporal Basis Learning for High-Frequency Contents

与低频分量相比,M 中的高频成分在时间维上构成了高频能量,高频内容具有高维和动态变化,仍然构成高度正则化的流形,考虑到以下事实

  1. 视频长度有限(用24帧长度的视频建模,尽管这些帧可以从更长的视频序列中提取)
  2. 场景中的时变像素通常在集群中显示一致的运动。因此要基于一些学习到的时变时间基来紧凑地表示高频分量。

将时间基表示为 B∈ R 4 × T × N b a s i s R^{4×T ×N_{basis}} R4×T×Nbasis,它跨越了 M 的时间变化空间。这里 N b a s i s N_{basis} Nbasis 表示基的总数。B 的第一个维度设置为4,这是为MPI颜色组件(有3个通道): B c = { b n c } n = 1 N b a s i s B_c = \{b^c_n\}^{N_{basis}}_{n=1} Bc={bnc}n=1Nbasis,和 α 组件 B α = { b n a } n = 1 N b a s i s B^α = \{b^a_n \}^{N_{basis}}_{n=1} Bα={bna}n=1Nbasis (1通道)预留的。因此 B = [ B c , B α ] B = [B_c, B_α] B=[Bc,Bα]

时间基将由两个时间相关的函数来估计,它们是多层感知器(MLP)网络 V c V_c Vc V α V_α Vα
在这里插入图片描述
这里 ε ( ⋅ ) \varepsilon(·) ε() 是一个时间编码函数,它将时间相等的信息编码为高维潜向量

时间基 B 学习了一个有效跨越时间变化流形的简约框架。有了特定像素的编码系数,B 可以高效地在整个视频中建模 MPI 像素的时间变化。

Temporal Coding for Novel-view Synthesis

对于任意帧索引 t∈[1,T],基于时间基 B 可构造时间实例 MPI M t = [ A t , C t ] M_t = [A_t, C_t] Mt=[At,Ct],其表达式为
在这里插入图片描述
其中, K n α ( x ) K_n^α(x) Knα(x) K n c ( x ) K^c_n(x) Knc(x) 是给定MPI空间位置 x∈ R 3 R^3 R3 上各自时间基的编码系数 ( x的三维包括其二维坐标和深度平面指数 M t M_t Mt ),这些编码系数由另一组 mlp K c K^c Kc K α K^α Kα 估计:
在这里插入图片描述
这里 R(·) 是一个位置编码函数,它将空间信息 x 编码为高维表示, R ( p ) = [ s i n ( 2 0    π / 2    p ) , s i n ( 2 0    π / 2    p ) , … , s i n ( 2 l    π / 2    p ) , c o s ( 2 l    π / 2    p ) ] R(p) = [sin(2^0 \ \ π/2 \ \ p), sin(2^0 \ \ π/2 \ \ p),…, sin(2^l \ \ π/2 \ \ p), cos(2^l \ \ π/2 \ \ p)] R(p)=[sin(20  π/2  p)sin(20  π/2  p)sin(2l  π/2  p)cos(2l  π/2  p)]

根据式(6)、(7)可将时间实例 MPI M t M_t Mt 根据式(2)、(1)进行变形合成到任意视角,并沿时间基查询所有元素 t = 1、···、T,可构建每一视频帧的时间实例 MPI

Remarks

temporal MPI 表示由显式学习的低频多平面颜色分量 K 0 c ∈ R H × W × D / 8 × 3 K^c_0∈R^{H×W ×D/8×3} K0cRH×W×D/8×3 和通过同步基和系数学习动态编码的时变分量组成。通过时间基实现了沿时间维的压缩,压缩了整个视频中随时间变化的颜色和几何变化信息。

为了保持渲染效率和节省存储空间,时空信息在 Temporal-MPI的不同组件之间被高效编码和传播。

  1. 在所有时间帧之间共享低频分量 K 0 c K^c_0 K0c,这保证了整体重建质量,使高频分量只关注与时间相关的变化;
  2. 高频系数,即 { K n c ( x ) } n = 1 N b a s i s \{K^c_n(x)\}^{N_{basis}}_{n=1} {Knc(x)}n=1Nbasis { K n α ( x ) } n = 1 N b a s i s \{K_n^α(x)\}^{N_{basis}}_{n=1} {Knα(x)}n=1Nbasis,是在一组共同的时间基上按点编码/学习的。这有助于消除建模动态变化中的冗余,也有助于消除一些像素的运动歧义。

Training Loss Function

为了让 Temporal-MPI 专注于重建质量,这里忽略了编码系数的稀疏性。系数和时间基共同学习和优化。通过以下损失函数 L对整个系统进行优化
在这里插入图片描述
其中, I ^ t k \hat{I}_t^k I^tk 是相机 k 在 t 时刻的渲染图像, I ^ t k \hat{I}_t^k I^tk 是来自同一视图的真实图像。L 中的第一项计算L2 重构损失。第二项惩罚边缘不一致,∇表示梯度算子。第三项 TVC为总变异损失。 λ 1 λ_1 λ1 λ 2 λ_2 λ2 为不同损失项的平衡权值。

Detail

模型是在PyTorch 1.10中实现的,使用Adam作为优化器。初始学习率设为0.001,每2000步衰减0.1。该模型在一台Nvidia Geforce RTX 2070超级图形处理器上训练16小时,使用5.3 GB内存,批次为1500条射线。输出分辨率为576 × 300。位置编码方法表示为 R ( p ) = [ s i n ( 2 0    π / 2    p ) , s i n ( 2 0    π / 2    p ) , … , s i n ( 2 l    π / 2    p ) , c o s ( 2 l    π / 2    p ) ] R(p) = [sin(2^0 \ \ π/2 \ \ p), sin(2^0 \ \ π/2 \ \ p),…, sin(2^l \ \ π/2 \ \ p), cos(2^l \ \ π/2 \ \ p)] R(p)=[sin(20  π/2  p)sin(20  π/2  p)sin(2l  π/2  p)cos(2l  π/2  p)],其中场景点的输入位置归一化为 [-1,1],l 为编码级别设置为 3 的指标。使用字典学习将时间索引嵌入到大小为 32 的潜在向量中。对于参数化 K c K_c Kc K α K_α Kα 的网络,使用具有 8 层和 384 个隐藏节点的 MLP 网络。 V c V_c Vc V α V_α Vα 网络采用 4 层64 隐节点的 MLP。Temporal-MPI 中高频系数 { K n c ( x ) } n = 1 N b a s i s \{K^c_n(x) \}^{N_{basis}}_{n=1} {Knc(x)}n=1Nbasis { K n α ( x ) } n = 1 N b a s i s \{K_n^α(x)\}^{N_{basis}}_{n=1} {Knα(x)}n=1Nbasis 的形状为 320 × 596 × 32 × 4 × 5 ,其中 32 为平面 D 的数量,596 和 320为宽度 W 和高度 H,包括设为 10 的边缘偏移量,4 包括 3 个颜色通道和 1 个alpha通道,5 为基 N b a s u s N_{basus} Nbasus 的数量。时间 基B 的形状为 4 × 5 × 24,其中5是基 N b a s u s N_{basus} Nbasus 的数量,24是时间戳的总数,4包括3个通道用于颜色和1个通道用于alpha。低频分量 K 0 c K^c_0 K0c 沿深度维度重复前的形状为 320 × 596 × 4 × 3。

效果

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值