SNU突破视频压缩瓶颈:基于2D高斯溅射的高效视频表示方法,

360影视 日韩动漫 2025-03-13 23:19 3

摘要:导读视频隐式神经表示(NeRV,Implicit Neural Representation for Videos)为视频表示和压缩引入了一种新的范式,其性能优于传统编解码器。然而,随着模型规模的增大,编码和解码速度慢以及高内存消耗阻碍了其在实际中的应用。为解

社群导航r/>
最新论文解读系列

论文名:GaussianVideo: Efficient Video Representation and Compression by Gaussian Splatting
论文链接:

导读
视频隐式神经表示(NeRV,Implicit Neural Representation for Videos)为视频表示和压缩引入了一种新的范式,其性能优于传统编解码器。然而,随着模型规模的增大,编码和解码速度慢以及高内存消耗阻碍了其在实际中的应用。为解决这些局限性,我们提出了一种基于高斯溅射(Gaussian Splatting)的新视频表示和压缩方法,以高效处理视频数据。我们提出的可变形二维高斯溅射可动态适应每一帧中二维高斯的变换,显著降低了内存成本。该方法配备了基于多平面的时空编码器和轻量级解码器,能够根据时间步长预测初始化高斯的颜色、坐标和形状的变化。通过利用时间梯度,我们的模型能够以极低的成本有效捕捉时间冗余,显著提高视频表示效率。与最先进的NeRV方法相比,我们的方法最多可减少78.4%的GPU内存使用,并显著加快视频处理速度,实现更快的训练速度和更快的解码速度。
简介
受各种视频分享平台兴起的推动,对视频处理的需求不断增加,这加剧了该领域的研究力度。特别是,视频内容固有的大量数据也促使视频压缩技术同步发展。在过去的几十年里,传统编解码器在视频压缩方面非常有效。然而,随着视频尺寸和分辨率的增加,这些手工设计的编解码器在可扩展性方面面临挑战。
预备知识
我们将在3.1节简要回顾高斯散点法的渲染过程,然后在3.2节介绍基于多平面的表示方法。
1. 高斯散点法
三维高斯散点法是一种用于表示三维场景的显式方法。我们定义 个各向异性的三维高斯椭球体,用 表示,其具有可学习的中心点 和可学习的协方差矩阵 :
其中 表示一个三维查询点,且 。
为了将三维高斯分布渲染到二维图像平面上,我们需要一个投影过程。正如茨维克(Zwicker)等人所证明的那样,相机坐标系中的变换协方差矩阵 可以使用视图变换 和投影变换仿射近似的雅可比矩阵 来计算:
在通过投影得到的 均值和协方差确定椭圆的中心位置和大小后,使用球谐函数(SH)系数计算颜色 ,根据相机坐标捕捉与视角相关的颜色属性。随后,我们计算最终像素颜色 ,它由 个高斯分布混合确定:
其中 是一个权重,它综合了不透明度 (取值范围为 0 到 1)以及第 个高斯函数的空间影响,其定义如下
在这个混合过程中,高斯函数按照它们的深度值进行排序,这些深度值表示它们的中心沿观察方向与相机的相对距离。通过精确累加所有 个高斯函数的贡献,这个过程能够实现精确的颜色混合,从而生成最终图像。
二维高斯散点法为图像的表示和压缩提供了一种高效的方法,在显著提高渲染速度的同时,将 GPU 内存开销降至最低。与三维高斯散点法不同, 中的每个高斯函数由一个协方差矩阵 和一个中心点 定义。由于所有坐标都位于同一个二维空间中,因此不需要投影过程,简化了架构。
此外,该方法将可学习参数的数量从三维高斯模型(包括均值、协方差、球谐颜色、投影过程和不透明度的参数)中的59个减少到二维高斯模型中的仅8个(均值2个、协方差3个、颜色3个)。使用二维高斯计算每个像素颜色的过程与式(3)和(4)中概述的过程类似。此外,由于不涉及深度信息且不使用球谐函数,可学习参数和可以合并为一个参数,从而得到更简化的表达式:
我们的框架将这种二维高斯散点法扩展到视频领域,利用其优势减少可学习参数并提高计算效率。
2 基于多平面的表示
在四维(4D)等高维数据上,多层感知器(MLPs)难以有效捕捉输入细节,通常需要更深的网络或更大的隐藏维度,这会大幅增加计算成本并限制可扩展性。多平面表示法 已被广泛采用以解决这一问题。在这种方法中,从输入维度 中选取的维度对形成 显式平面,每个平面代表原始空间的特定 投影,使模型能够有效捕捉并表示高维输入中的时空关系。每个平面属于 ,其中 是平面的分辨率, 是从每个平面获得的特征维度。
对于输入的情况,例如,其中、和表示空间坐标,表示时间轴,点被投影到6个不同的平面上:用于捕获空间信息,用于处理时空关系。投影后,通过双线性插值检索每个平面的特征,并使用哈达玛积(逐元素相乘)将这些特征组合起来,以生成最终的特征向量:
其中 表示 输入中所有平面的集合, 和 表示给定平面每个维度的坐标。
结合点 的空间和时间信息,然后通过一个轻量级多层感知器(MLP)将其解码为颜色、密度或其他属性,以较低的计算成本保留准确的细节。
基于多平面的方法效率极高,因为其复杂度仅随输入维度的增加呈二次方增长,这与对空间进行简单直接建模时所呈现的指数级增长形成鲜明对比。通过直接在预定义平面上存储空间信息,该方法还能直接访问特定坐标处的特征值,即使在模型规模较大的情况下也能保持高效。此外,跨平面的因式分解允许应用不同的先验信息,从而增强了模型的表示能力。可以对空间平面应用多尺度插值来捕捉更精细的空间细节,同时可以有选择地将时间先验信息添加到时空平面,以更好地处理动态数据。
利用这些优势,我们将这种多平面表示方法应用于 输入 (x, y, t),以高效地捕捉空间和时空结构。这种方法使模型能够在保持计算效率的同时,学习到详细且有条理的信息。
方法
如图2所示,我们的模型架构由一个基于多平面的时空编码器和一个轻量级解码器组成。我们的框架将多个二维高斯分布沿时间轴的均值(x,y)作为输入 。编码器 旨在跨时空轴提取特征,捕捉输入视频内容的本质。然后,解码器 对该特征应用轻量级多层感知器(MLP),以预测输入高斯分布(x,y)在时间 应具有的颜色值、二维均值和外观(协方差)。使用这些随时间变化的高斯分布重建整个图像。最后,我们计算真实图像与重建帧图像之间的差异作为损失,并使用该损失更新模型参数。我们首先详细描述编码器和解码器的结构(4.1节)以及我们新颖的基于时间梯度的初始化方法(4.2节),然后介绍模型训练(4.3节)。
1. 可变形二维高斯框架
使用二维高斯分布(2D Gaussians)表示视频的最直接方法是,在视频的所有帧 中使用相同数量的二维高斯分布,就像处理单张图像时那样。然而,这种方法缺乏可扩展性,即使对于中等长度的视频也会变得效率低下。
在帧率足够高的视频中,相邻帧之间通常存在大量冗余信息,这使得每个高斯分布自然地捕捉到相似的信息。利用这一点,我们提出了一种方法,该方法仅计算每个高斯分布的变化或变形,而不是为每一帧从头开始学习新的高斯分布。
处理这种变形过程的一种简单方法是使用深度前馈网络(多层感知器,MLP)。然而,随着高斯分布的数量以及视频的长度和分辨率的增加,将需要更宽更深的隐藏层。这会导致计算成本急剧上升,处理速度变慢。为了解决这个问题,我们选择了一种混合方法,该方法结合了基于多平面的编码器 - 解码器结构。这种设置使我们能够有效地提取与输入坐标相对应的特征,并以较低的计算开销解码高斯变形。
具体而言,编码器和解码器经过训练,以紧凑地表示(压缩)高斯分量、外观和颜色的变形。形式上,给定特定的高斯分布和时间步长作为输入,编码器和解码器会生成一个依赖于时间的可变形高斯分布:
基于多平面的时空编码器。给定一个视频,其中是帧数,是RGB帧分辨率,编码器旨在为特定索引表示时空特征,其中,且,用表示,其中是特征维度。
为了提高效率,我们在可变形编码器中采用多平面表示,而不是像通常那样将视频视为张量。从三个轴来看,我们有个显式平面:一个空间平面和两个时空平面,其中是每个平面上坐标的特征维度。这里,和分别表示相应平面上每个轴的大小。
每个二维平面独立学习与其坐标轴相对应的时空模式,我们对这些跨平面的特征进行哈达玛积 运算,以将它们聚合回 :
其中 和 分别表示每个平面的特征。 表示输入坐标,它对应于二维高斯分布的均值 (x,y) 和特定时间 , 是 在每个平面各自坐标轴上的投影。

图2. 我们的高斯视频(GaussianVideo)概述。编码器 以 二维高斯分布(2D Gaussians)和一个时间步长 作为输入,并生成一个融合了时空信息的特征 。基于此特征,一个轻量级解码器 为每个高斯分布重建变形并渲染图像。
通过在 不同分辨率 下执行此过程,我们获得一组多分辨率特征。将这些特征拼接起来并通过一个多层感知机(MLP)层,得到包含多分辨率时空信息的最终特征 :
其中每个 是在分辨率 下获得的特征。这个最终表示 是我们编码器 的输出,并通过下面将解释的解码器进行训练,以在时间 重构原始图像。
轻量级解码器。解码器 从编码 出发,旨在估计每个高斯分布属性(如颜色、旋转和尺度)的变化。形式上,该过程可以写成
其中 表示高斯属性(例如,颜色、旋转、缩放)的变化。解码器 可以简单到只是一个单层多层感知器(MLP),因为 已经封装了大量的空间和时空信息。我们通过公式 (5) 中的渲染过程,使用这些 变形的高斯 在 处重建整个图像。
2. 基于时间梯度的初始化
根据RAIN - GS,正确初始化高斯分布的均值对于收敛至关重要。对于视频而言,某些空间或时间区域往往比其他区域(例如背景)具有更多的动态运动。由于动态区域的RGB值随时间的变化更大,因此直观的做法是在这些区域分配更多的高斯分布以实现更精确的表示。因此,我们通过利用视频的时间梯度,按照时空变化的分布来初始化高斯分布。时间梯度表示两个连续帧之间的逐像素差异,无需复杂的外部模型即可直接捕捉变化。

图3. 基于时间梯度的初始化。较亮区域表示变化较大的区域。我们在这些较亮区域初始化更多的高斯分布。
为了计算时间梯度,我们取两帧连续的帧, 和 ,并使用 计算所有连续帧之间的逐像素绝对差值 。然后,我们对整个视频的这些梯度求和,得到一个时间变化的累积图 :
其中每个元素反映了整个视频中的变化程度。
如图3所示,利用这个累积的时间变化图,我们通过在变化较大的区域初始化更多的高斯分布来优先处理这些区域。这个过程的计算成本可以忽略不计,并且只在训练前执行一次。这样的初始化使我们的模型能够更好地捕捉视频中的动态区域,提高变化显著区域的重建质量。
3. 模型训练
我们的方法将二维高斯分布的均值(x,y)和一个时间步长 作为输入,并推断出指定时间 时高斯分布的颜色和外观。利用这些依赖于 的 个高斯分布,我们在整个视频上使用 渲染出一幅图像 ,该图像近似于时间 时的目标帧。为了训练我们的模型,我们最小化渲染图像 和真实图像 之间的 重建损失 :
其中 和 分别是图像的高度和宽度, 和 分别表示渲染图像和目标图像在像素点(x,y)处的颜色值。
此外,我们还应用了总变分(Total Variation,TV)损失 ,该损失常用于基于多平面的方法 中,以促使编码器内的每个平面网格保持平滑。总变分损失定义如下
其中 表示编码器平面网格中位置 (i,j) 处的特征值。该损失有助于规范随时间的变化,使其保持平滑并防止出现急剧变化。
总体损失 是将这两种损失进行线性组合:
其中 是一个超参数,用于控制每种损失的相对强度。通过这种损失设置,我们的模型在训练时能够在保持编码空间结构平滑的同时准确渲染颜色。
实验
1. 实验设置
数据集。我们在三个高分辨率数据集上进行了实验:兔子数据集(Bunny)、DAVIS数据集和UVG数据集。兔子视频(Bunny Video)的分辨率为,由132帧组成。在我们的实验中,我们对其进行中心裁剪并将其调整为的分辨率。从DAVIS数据集中,我们选择了10个分辨率为的视频。UVG数据集由7个视频组成,分辨率同样为,总帧数为300或600帧。
基线方法。我们将用于视频表示和压缩的最先进的NeRV模型及其变体SNeRV、HNeRV和DNeRV进行了比较。
评估指标。对于视频重建质量,我们报告了两个广泛使用的指标,即峰值信噪比(PSNR)和多尺度结构相似性指数(MS - SSIM)。对于视频压缩效率,我们测量训练时间、以每秒帧数(FPS)为单位的解码吞吐量、显存使用情况以及每像素比特数(BPP),该指标通过测量每像素所需的比特数来反映压缩效率,同时兼顾视觉质量。
实现细节。我们使用PyTorch实现我们的方法,并在单张A5000 GPU上进行所有实验。在兔子数据集(Bunny Dataset)上训练模型大小为的模型时,我们将空间轴的分辨率设置为16,时间轴的分辨率设置为8。使用两个缩放比例分别为1和2的多分辨率平面。我们将高斯分布的总数设置为31,024。对于模型,其多分辨率配置与模型相同。其空间分辨率设置为32,时间分辨率加倍至16,从而得到50,034个高斯分布。对于150万参数(1.5M)模型,采用三个缩放比例分别为1、2和4的多分辨率平面。空间分辨率为32,时间分辨率设置为8。此配置产生55,734个高斯分布。最后,对于模型,与模型类似,使用三个缩放比例分别为1、2和4的多分辨率平面。空间分辨率提高到48,时间分辨率提高到12,总共得到81,954个高斯分布。在所有过程中,我们使用Adan优化器以0.001的学习率训练参数。更多细节见附录。
2. 结果与讨论
视频重建。表1比较了在兔子数据集(Bunny Dataset)上评估的各种模型的性能,该数据集的分辨率为。我们在对不同大小的模型进行300个训练周期后对其进行评估。结果表明,高斯视频模型(GaussianVideo)的渲染速度达到584帧每秒(FPS),比次优模型(神经辐射视频模型,NeRV)快71.7%,同时在模型大小为的情况下,峰值信噪比(PSNR)达到具有竞争力的30.4。我们方法的另一个显著特点是,即使模型大小增大10倍,渲染速度也不会受到显著影响,从584 FPS降至475 FPS(下降18.6%)。另一方面,随着模型大小从增长到,其他模型的吞吐量显著下降(深度神经辐射视频模型,DNeRV下降64.0%,DNeRV下降46.5%,稀疏神经辐射视频模型,SNeRV下降),并且GPU内存消耗大幅增加。不过,作为这种高吞吐量的代价,我们的方法在图像质量上的提升相对较小。然而,与原始的NeRV相比,它仍然实现了更优的质量和效率。从这个结果我们可以得出结论,我们的GaussianVideo在质量和效率上都改进了NeRV,但与最近的其他创新方法(DNeRV、分层神经辐射视频模型,HNeRV和SNeRV)相比,更侧重于效率。在分辨率为的戴维斯数据集(DAVIS)和通用视频组数据集(UVG)上,我们旨在评估可扩展性。如表2和表3所示,即使在这种高分辨率的输入视频上,我们的模型也能实现良好的渲染效果。图4中展示的定性结果表明,我们的模型比其他模型能更好地捕捉细粒度细节,如鹅卵石或草地。与大多数基于NeRV的方法不同,这些方法由于嵌入向量的减少,在压缩和重建过程中会丢失复杂的细节,而我们的模型通过利用负责每个像素附近区域的二维高斯分布来保留这些细节,从而确保更准确的重建。

图4. DAVIS(戴维斯)数据集上的一个定性示例。此示例来自所有尺寸为的模型。
表1. 兔子数据集上的整体性能比较。峰值信噪比(PSNR)和多尺度结构相似性指数(MS-SSIM)用于衡量图像质量,每秒帧数(FPS)和图形处理器内存(GPU Memory)与渲染效率相关。为了进行公平比较,我们为其他类神经辐射视频(NeRV)模型设置了相同的模型大小。具体而言,模型大小指的是重建视频所需的参数数量,在我们的案例中,包括编码器、解码器和高斯分布的参数。

图5. 各训练轮次(Epochs)的峰值信噪比(PSNR)结果。对大小为的模型进行了900个训练轮次的训练。
图5展示了模型在训练轮次中的峰值信噪比(PSNR)值,表明高斯视频(GaussianVideo)模型比其他模型收敛更快。此外,由于与其他模型相比,我们的模型每个训练轮次所需的时间显著减少,因此它能更快地达到最终的峰值信噪比。
视频压缩。与其他模型不同,我们仅使用8位模型量化进行实验,未应用剪枝或熵编码。我们在图6中比较了所有竞争模型的视频压缩性能。结果表明,我们的模型在峰值信噪比(PSNR)方面达到了有竞争力的质量(图6a),同时即使在每像素比特数(BPP)增加的情况下,仍保持显著更高的渲染速度(图6b),在这两个方面均优于其他模型。
表2. 960 x 1920分辨率下DAVIS数据集的峰值信噪比(PSNR)。最佳和次佳模型分别用粗体和下划线标注。

表3. 960 x 1920分辨率下UVG数据集的峰值信噪比(PSNR)。表现最佳和次佳的模型分别用粗体和下划线标注。

图6. 兔子数据集(Bunny Dataset)的压缩结果。
3. 消融实验
可变形高斯模型。首先,我们验证了基于多平面的可变形高斯模型(第4.1节)相对于前馈网络(多层感知机,MLP)的效果。为了进行公平比较,我们使两者的可学习参数数量相匹配。如表4所示,无论是在图像质量(峰值信噪比,PSNR)还是效率(训练时间和每秒帧数,FPS)方面,我们基于多平面的方法都明显优于基于多层感知机的方法。
表4. 变形方法的消融研究。与基于多层感知器(MLP)的方法相比,我们的多平面方法能更高效地生成质量显著更好的图像(峰值信噪比,PSNR)(训练时间和每秒帧数,FPS)。

初始化。我们比较了三种初始化方法:1)在图像分辨率范围内随机初始化;2)使用外部模型提取光流以识别和采样具有显著运动的像素;3)我们使用时间梯度的方法(第4.2节)。从表5的结果来看,光流法和我们的方法都考虑了运动动态来分配高斯分布,与随机初始化相比,它们的峰值信噪比(PSNR)更优。然而,我们的方法渲染视频的速度比光流法快134倍,更适合对实时解码要求较高的视频压缩。
表5. 高斯初始化的消融研究。我们比较了随机初始化、基于光流的方法和时间梯度方法,并评估了它们的峰值信噪比(PSNR)和每秒帧数(FPS),其中FPS指的是以每秒帧数衡量的处理速度。

总结
在这项工作中,我们提出了一种使用可变形二维高斯散点进行视频表示和压缩的新颖框架,通过将高斯属性与时间步长相关联,有效地捕捉时间变化。我们基于多平面的编解码器结构增强了可扩展性,能够以较低的计算开销进行高维视频建模。此外,我们引入了基于时间梯度的初始化方法,将资源分配给时间变化较大的区域,从而增强了模型的适应性和整体表示能力。根据我们的实验,我们的方法在重建质量上具有竞争力,同时在训练时间和解码速度方面具有显著优势。
局限性。虽然高斯视频(GaussianVideo)表现出色,但仍有改进空间。首先,对于每个视频,都需要指定编码器平面的分辨率和多尺度的数量。根据视频内的信息密度调整这些参数,从而实现这一过程的自动化,将是一个有趣的未来研究方向。其次,尽管我们的实验表明当前的实现已经非常高效,但进一步的底层优化可能会带来更高的吞吐量。

来源:莱娜探长

相关推荐