FFNeRV 论文阅读
论文地址:https://arxiv.org/pdf/2212.12294
代码地址:https://github.com/maincold2/FFNeRV
摘要
神经场,也称为基于坐标或隐式神经表示,在表示、生成和操控各种形式的信号方面展现出了卓越的能力。然而,对于视频表示而言,将像素级坐标映射到 RGB 颜色的方法压缩性能相对较低,且收敛和推理速度较慢。帧级视频表示将时间坐标映射到整个帧,近年来作为一种替代的视频表示方法出现,提高了压缩率和编码速度。尽管前景可观,但其性能仍未达到目前最先进的视频压缩算法的水平。本文提出了一种名为 FFNeRV 的新方法,该方法将流信息融入帧级表示中,以利用视频帧间的时间冗余,其灵感来源于标准视频编解码器。此外,我们引入了一种基于一维时间网格的全卷积架构,从而增强了空间特征的连续性。实验结果表明,在使用帧级表示或神经场的各种方法中,FFNeRV 在视频压缩和帧插值方面表现最佳。为了进一步减小模型尺寸,我们设计了一种更紧凑的卷积架构,该架构利用了组卷积和逐点卷积。结合量化感知训练和熵编码等模型压缩技术,FFNeRV 的性能优于广泛使用的标准视频编解码器(H.264 和 HEVC),并且与最先进的视频压缩算法性能相当。
引言
近年来,利用神经网络将坐标映射到信号量(例如标量或向量)来表示信号的神经场研究蓬勃发展,并引发了人们对利用其处理各种形式信号(包括音频、图像、3D形状和视频)能力的浓厚兴趣。通用逼近定理与坐标编码方法相结合,为神经场的精确信号表示提供了理论基础。与使用高度复杂算法流程的传统数据压缩算法(例如 H.264 或 H.265)相比,由于机器学习软件生态系统的发展,使用神经场(或一般的基于学习的方法)对信号进行编码的过程更容易实现、更新和维护。尽管前景可观,但它们在压缩性能方面仍有不足,更重要的是,由于需要对所有帧中的每个像素进行颜色采样,因此需要大量的计算。
为了克服计算瓶颈,Chen等人提出了一种逐帧视频表示方法,称为 NeRV。多层感知器 (MLP) 和卷积层堆叠起来,为每个时间坐标生成一个视频帧。与原始神经场架构相比,这种方法显著减少了编码时间,并且性能与标准视频压缩算法相当。最近提出的 E-NeRV 遵循这一范式,并进一步提升了视频质量。我们提出了一种基于光流引导的视频帧级神经表示 (FFNeRV)。受标准视频编解码器的启发,我们将光流融入帧级表示中,以利用时间冗余。FFNeRV 通过聚合相邻帧并由光流引导生成视频帧,强制重用其他帧中的像素。它鼓励网络避免跨帧记忆相同的像素值,从而避免浪费参数,显著提高了参数效率。
受基于网格的神经表示的启发,我们提出使用具有固定空间分辨率的多分辨率时间网格,将连续的时间坐标映射到相应的潜在特征。此外,我们还提出使用一种更紧凑的卷积架构,该架构采用组卷积和逐点卷积,其灵感来源于轻量级神经网络和生成模型。在UVG数据集上的实验结果表明,FFNeRV 在视频表示和帧插值方面均优于其他逐帧方法。通过量化感知训练和熵编码,FFNeRV 的性能优于广泛使用的视频编解码器(H.264 和 H.265),并且与最先进的视频压缩算法性能相当。
综上所述,我们的贡献如下:
- 我们提出了一种基于光流的逐帧视频表示 (FFNeRV),通过将光流融入逐帧表示中来利用时间冗余。
- 受网格化神经表示的启发,我们提出使用具有固定空间分辨率的多分辨率时间网格,将连续的时间坐标映射到相应的潜在特征。
- 为了进一步提高效率,我们设计了一种紧凑的卷积架构和具有剪枝鲁棒性的量化感知训练方法。
- 我们的方法优于其他使用神经表示或神经场的方法,同时达到了与最先进的视频压缩方法相当的性能。
现有工作不足
神经场
神经场,也称为隐式神经表征,通过将神经网络参数化为坐标函数来表示任意信号。然而,如果仅提供低维坐标作为输入,由于神经网络倾向于优先处理低频信号,因此难以学习精细细节。为了成功学习高频细节,神经场依赖于各种方法,例如坐标编码(预处理)或激活函数。神经场的这些进展使其在各种任务中展现出卓越的表征性能,包括三维重建和新视图合成。
频率编码(借用自 Instant-NGP)将坐标乘以预定义的矩阵,将低维坐标映射到更高维度,然后应用正弦函数。另一种方法是参数化编码,它依赖于额外的参数将坐标转换为潜在特征,例如使用网格或八叉树。尽管与频率编码相比,参数化编码能够提高表示质量并加快收敛速度,但由于其体素结构,它们需要额外的、通常较大的内存占用。最近的研究探索了一种参数效率更高的表示方法,通过采用张量分解、哈希编码和矢量量化来减少密集体素网格的冗余,并展现出良好的性能。受近期多网格方法成功的启发,我们提出采用具有多分辨率的时间网格进行视频表示。时间网格的核心思想是实现仅沿时间轴插值的有效平面特征,并具有紧凑的表示形式。
视频神经场
继在 3D 任务中取得成功之后,神经网络领域也被探索用于处理其他视觉信号,例如图像和视频。大多数工作通过将像素坐标映射到相应的 RGB 颜色来表示图像和视频帧。然而,逐像素表示难以表示大型长视频。高空间和时间分辨率会阻碍逐像素表示的快速训练和推理速度。
NeRV 提出了逐帧视频表示,它将时间坐标映射到相应的视频帧。多层感知器 (MLP) 在时间 t 生成小的空间特征,然后通过后续的卷积层进行处理和放大。NeRV 通过逐帧采样显著加快了视频表示的训练和推理速度。NeRV 证明,逐帧神经表示是一种高效的方法,可以实现与标准视频编解码器相当的压缩性能。基于 NeRV,E-NeRV 提出了一种参数效率更高的帧级表示架构。然而,这些方法在视频表示性能和未见帧的生成方面仍然存在不足。
受标准视频编解码器的启发,我们提出将光流融入帧级表示中,以利用视频帧间的相似模式,从而实现更高效的表示。据我们所知,这是首次将光流图编码到帧级视频表示中。借助时间网格,我们的方法在视频表示和帧插值方面均优于其他帧级表示方法。此外,我们还引入了改进的模型压缩技术,使其性能与最先进的视频压缩算法相当。
方法

背景 类似 NeRV 的逐帧视频表示将视频表示为时间的向量值函数。这些表示分两个阶段将时间坐标转换为视频帧。第一阶段将一维时间坐标映射到高维特征。第二阶段将这些特征解码为视频帧。总的来说,它可以定义如下:
f_𝜃(𝑡) := NNdec (NNfeat(𝑡))
在 NeRV 和 E-NeRV 中,采用位置编码的多层感知器 (MLP) 变体作为第一阶段。第一阶段之后,卷积层对第一阶段的输出进行解码,从而获得视频帧。
概述 我们提出了一种全卷积的逐帧视频流表示方法,如上图所示。我们使用光流图来利用相邻帧的视觉信息。为此,给定时间坐标 𝑡,全卷积解码器 NNdec (NNfeat(𝑡)) 生成一组五个分量,详细见原论文。我们通过流引导聚合生成最终帧。
除了流表示之外,我们建议使用多个网格,而不是使用多层感知器(MLP)来生成特定时间坐标的低分辨率潜在特征。每个网格都有其独特的时间分辨率,因此每个网格可以覆盖不同的时间粒度。
多分辨率时序网格
受网格表示在各种视觉计算领域近期成功应用的启发,我们提出使用网格代替位置编码和多层感知器 (MLP)。网格 𝐺 ∈ R^(𝑠×𝑐×ℎ×𝑤) 是一个张量,其中 𝑠、𝑐、ℎ 和 𝑤 分别表示时间分辨率、通道数、高度和宽度。我们使用时间维度上的线性插值,从网格 𝐺 中提取空间特征 𝜙 (𝑡,𝐺) ∈ R^(𝑐×ℎ×𝑤),其公式如下:
详细公式见原论文公式 2
此外,我们采用时间分辨率不同但空间分辨率相同的多分辨率网格,使得每个网格覆盖其自身的时间频率。每个网格的插值输出被连接起来,从而为给定的时间坐标创建潜在的二维特征。从多分辨率网格中提取的特征 NNfeat(𝑡) ∈ R^(𝑐𝑘×ℎ×𝑤) 可以表示如下:
详细公式见原论文公式 3
流引导的帧聚合
光流使得在相邻视频帧中利用相似模式成为可能,因此被标准视频编解码器(AVC,HEVC)和神经编解码器广泛接受。FFNeRV 将这种方法应用于帧级视频表示,提出了流引导的帧聚合方法。如前所述,FFNeRV 使用多分辨率网格中的潜在特征 NN_feat(𝑡) 生成流图 {𝑀(𝑡 + 𝑖, 𝑡)}𝑖∈N 和聚合权重 {𝑤𝑀 (𝑡 + 𝑖, 𝑡)}𝑖∈N、𝑤𝐴 (𝑡)、𝑤𝐼 (𝑡)。为了得到最终帧,FFNeRV 利用流图对附近独立的帧进行变形处理,并使用聚合权重将它们与时间点 𝑡 的独立帧相结合。请记住,视频帧本身就可以用独立帧来表示。尽管 FFNeRV 基于帧的视频表示过程在宏观层面上与 NeRV 和 E-NeRV 类似,但可以通过其对时间冗余的明确利用而与之区分开来。FFNeRV 利用了由流生成和聚合所实现的周围帧的视觉模式,从而显著提高了表示性能。

帧聚合。上图展示了最终帧构建过程中的聚合步骤。预测的流图会扭曲相邻的独立帧。然后,我们通过将扭曲后的帧进行加权求和来得到聚合帧。更正式地,聚合帧可表示为:
详细公式见原论文公式 4
首先使用流图对附近的独立帧进行双线性变形处理。然后,对权重应用 softmax 函数,使每个像素的权重之和为 1,这些归一化的权重再与变形后的帧相乘。聚合后的帧就是变形帧的加权总和。
为了提高重建质量,在时间点𝑡 时利用聚合帧为独立帧添加细节。为此,FFNeRV 使用了由卷积解码器生成的额外权重 𝑤𝐴 和 𝑤𝐼 。与帧聚合权重(公式 4)类似,将这两个权重(𝑤𝐴,𝑤𝐼 )进行归一化处理,使其每像素的总和为 1 。因此,最终聚合的帧定义如下。
详细公式见原论文公式 5
尽管标准编码器还会对因各种因素(例如不同的物体/视角或遮挡)而无法通过参考帧进行补偿的残差部分进行编码,但 FFNeRV 并不生成或存储残差图。我们通过实验证明,在非平滑和有噪声的残差图中,卷积块的重建质量较差,从而导致最终性能下降。相反,FFNeRV 通过帧聚合从当前独立帧中填充残差部分。换句话说,独立帧不仅有助于被相邻帧参考,而且还为当前最终帧提供了残差项。
输出的空间分辨率。所提出的神经网络将其表示能力分配到五个不同的输出上。为了实现更高效的分配,我们对每个组件的空间分辨率进行了不同的设置,如图 2 所示。由于独立帧 𝐼(𝑡) 和权重 𝑤𝐴 和 𝑤𝐼 直接参与最终帧的聚合,因此我们将它们的分辨率设置为与目标视频分辨率相等。另一方面,流图 {𝑀(𝑡 + 𝑖,𝑡)}𝑖∈N 和权重 {𝑤𝑀 (𝑡 + 𝑖,𝑡)}𝑖∈N 以互补的方式用于构建聚合帧 𝐴(𝑡)。此外,由于流图通常比颜色图更平滑且更具挑战性,因此它们可以用较低的分辨率进行有效表示。因此,我们以较低的空间分辨率生成流图和相应的权重,并在聚合之前将其放大到目标视频分辨率。
训练。在遵循 NeRV 的基础上,我们使用与训练损失相同的 L1 和 SSIM 损失的线性组合。由于最终帧的质量与独立帧和聚合帧的质量密切相关,因此我们将这两帧包含在最终的目标函数中:
详细公式见原论文公式 6
帧缓冲区。计算训练损失需要相邻视频帧的独立帧。如果直接计算损失,那么在使用帧聚合窗口的长度来计算损失时,会增加训练时间。为了降低计算成本,在训练阶段引入了一个帧缓冲区来存储独立帧。我们不会为每次训练迭代都生成独立帧,而是从缓冲区中抽取独立帧。只有作为训练批次样本的视频帧的独立帧才会更新缓冲区。图 3 说明了缓冲区的工作原理。尽管这种方案破坏了存储独立帧的计算图,但模型可以通过每个周期的一次更新来参数化每个独立帧。随着训练的进行,学习率逐渐降低,存储的独立帧会收敛到原始值,最终,模型被训练为生成最优的最终帧,而不会受到计算瓶颈的限制。
模型压缩
由于神经视频表示使用神经网络权重来对视频进行编码,因此神经网络压缩对于实现高压缩性能至关重要。在本节中,我们将介绍我们提出的紧凑模型架构和量化感知训练方法。
紧凑型卷积架构。为了减小模型本身的尺寸,我们采用了高效的卷积结构。正如 E-NeRV 所指出的,直接使用具有大通道数的空间卷积 (图4(a)) 会产生大量冗余参数。与 E-NeRV 在 Pixel Shuffle 操作之前注入通道瓶颈 (图4(b)) 的做法不同,我们采用了组卷积后跟点卷积的方式 (图4(c)) ,这一方法受到了深度分离卷积的启发。

量化感知训练。NeRV 通过四个连续步骤来压缩表示模型:训练模型、模型剪枝、权重量化和权重编码。我们发现引入量化感知训练(QAT)可以将整个过程简化为两到三个步骤,同时提高压缩性能。量化感知训练(QAT),正如其名称所示,在训练过程中“感知”并反映量化后的权重,并且一直是一种有效的权重量化技术,能够在不增加量化步骤的情况下实现良好的任务性能。这种技术基于直通估计器,使得通过在前向传播中传递非可微值(例如量化后的权重)而在反向传播中使用可微值(例如未量化权重)来更新非可微操作的权重成为可能。

此外,QAT 在权重编码方面还有另一个优势。图 5(b) 显示,在 QAT 下的权重分布比 NeRV 的后最小最大量化 (图 5(a)) 更集中地围绕零。这种密集分布有助于提高熵编码的效率(压缩比)。此外,当模型的大部分权重被量化为零时,模型对权重修剪的敏感度会降低。因此,我们引入了一种由双倍间隔映射至零而实现的抗修剪的 k-bit 量化方法(图 5(c)),其形式如下方程所示:
详细公式见原论文公式 7
实验
训练集:无
测试集:UVG
Baseline:
1.传统编码,AVC,HEVC;
2.深度编码,DVC,SSF,FVC;
3.隐式编码,NeRV,E-NeRV,PS-NeRV
测试条件:
1.LD:每个序列中只有一个帧内编码帧(即第一个帧),后续的 P 帧仅依赖于之前的帧进行运动预测(即 GOP=1),这与 JVET CTC 中定义的一致。
2.RA:每个 GOP 包含一个帧内编码帧和 31 个 B/P 帧,最大延迟为 31 帧(即 GOP 长度为 32),帧内编码周期为 32。这里的 RA 配置采用与 JVET CTC 规范中相同的分层 B 帧结构。
注:这些配置不适用于其他基于INR的基准测试,这些基准测试会对整个序列或数据集进行编码。
评价指标:PSNR,模型参数量,解码复杂度(MACs/pixel),FPS(Enc&Dec)
实验结果:详见原论文。
其他视频任务:
- 帧级视频表示
- 视频插帧
结论
我们提出了一种新颖的帧级视频表示方法——FFNeRV,它结合了帧级流引导和多分辨率时间网格。实验结果表明,FFNeRV 在帧级方法中表现出了显著的优越性。此外,FFNeRV 能够在任意时间坐标处重建视频帧,即使在动态视频中也能保持高质量,这与其他帧级方法不同。借助所提出的模型压缩技术,包括高效的卷积架构和具有鲁棒性的 QAT,FFNeRV 的性能与最先进的视频压缩算法相当。我们已经证明了 FFNeRV 在视频压缩方面的实际有效性,包括压缩效率、解码速度和部署等方面。这些结果对于未来基于神经表示的视频压缩技术的发展而言是令人乐观的。

浙公网安备 33010602011771号