论文阅读:(NIPS 2021)NeRV: Neural Representations for Videos

NeRV是一种新的视频神经表示方法,将视频编码为以帧索引为输入的神经网络。与传统帧序列表示相比,NeRV在编码和解码速度上表现出显著优势,同时保持高质量的视频输出。通过模型压缩,NeRV在视频压缩任务中与传统方法(如H.264和HEVC)的性能相当,且适用于视频去噪。NeRV通过简化视频表示,为视频处理任务提供了更灵活和高效的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NeRV: Neural Representations for Videos (NIPS 2021)

Project:https://haochen-rye.github.io/NeRV/
Paper:https://arxiv.org/abs/2110.13903
Code:https://github.com/haochen-rye/NeRV
UVG Dataset:http://ultravideo.fi/#testsequences

2022/6/7:代码部分还是比较完美的,什么地方都不需要调直接干就完了。不过我只尝试了第一个阶段的fit,之后的model pruning都还没有尝试。欢迎各位尝试。现在写到了(翻译到了)第三章,明天再补充后续的内容。

Abstract

我们提出了一种新的视频神经表示(NeRV),它在神经网络中对视频进行编码。与传统方式将视频表示为帧序列的表示不同,我们将视频表示为以帧索引为输入的神经网络。给定一个帧索引,NeRV输出相应的RGB图像。神经网络的视频编码是将神经网络简单地拟合到视频帧上,解码过程是一个简单的前馈操作。作为一种图像级的隐式表征,与像素隐式表示相比,NeRV输出整个图像,效率更高,将编码速度提高了25× ~ 70×,解码速度提高了38× ~ 132×,同时实现了更好的视频质量。有了这样的表示,我们可以将视频视为神经网络,简化一些与视频相关的任务。例如,传统的视频压缩方法受到专门为该任务设计的长而复杂的管道的限制。相比之下,使用NeRV,我们可以使用任何神经网络压缩方法作为视频压缩的代表,并达到与传统的基于帧的视频压缩方法(H.264, HEVC等)相当的性能。

1. Introduction

什么是视频?通常来说,视频是一段用帧序列表示的动态可视场景。一个简单的解释是二维空间中的曲线,每个点都可以用 ( x , y ) (x,y) (x,y)对表示空间状态。如果我们有一个可以对应所有 ( x , y ) (x,y) (x,y)对的模型,那么,给出任意的 x x x,我们可以容易得到 y y y的状态。类似地,我们可以将视频解释为视觉世界的记录,其中我们可以为每个时间戳找到对应的RGB状态。这就引出了我们的主要主张:我们能把视频表示成时间的函数吗?

更正式说,我们是否可以将一个视频 V V V表示为 V = { v t } t = 1 T V=\{v_t\}^{T}_{t=1} V={vt}t=1T,其中 v t = f θ ( t ) v_t=f_\theta (t) vt=fθ(t) t t t代表了帧的时间戳, f θ f_\theta fθ表示函数 f f f θ \theta θ参数化构成。考虑到MLP显著的表征能力,我们选择深度神经网络作为我们工作中的函数。鉴于这些直觉,我们提出了NeRV,这是一种新颖的表示,它将视频表示为隐式函数,并将它们编码到神经网络中。具体来说,通过一个相当简单的深度神经网络设计,NeRV可以在给定帧索引的情况下,高质量地重建相应的视频帧。一旦将视频编码到神经网络中,该神经网络就可以作为视频的代理,我们可以直接从表示中提取所有的视频信息。因此,与传统的视频表示不同,传统的视频表示将视频视为帧序列,如图1 (a)所示,我们提出的NeRV将视频视为一个统一的神经网络,所有信息都嵌入到其架构和参数中,如图1 (b)所示。
在这里插入图片描述

NeRV作为一种图像隐式表示,与以时空坐标为输入的像素隐式视觉表示[5,6]有很多相似之处,它以时空坐标作为输入。本文的工作与像素级隐式表达的主要区别在于输出空间和建筑的设计。像素级表示对每个像素点输出相应的RGB值,而NeRV输出一整副图像,如图2表示。给定一个大小为 T × H × W T \times H \times W T×H×W的视频序列,像素级表示方法需要采样这这个视频 T ∗ H ∗ W T * H *W THW次,而NeRV只需要采样T次即可。考虑到庞大的像素数量,尤其是对于高分辨率视频,NeRV在编解码速度上展示了巨大的优势。不同的输出空间也会导致不同的网络架构设计,NeRV利用MLP+ConvNets架构输出图像,而像素级表示使用简单的MLP输出像素的RGB值。NeRV的采样效率也简化了优化问题,与像素级表示相比,重构质量更好。

我们还通过探索NeRV提供的几个应用程序来演示它的灵活性。最值得注意的是,我们研究了NeRV用于视频压缩的适用性。传统的视频压缩框架涉及较多的问题,如确定关键帧和帧间信息、估计残差信息、确定视频帧的块大小、对得到的图像块进行离散余弦变换等。如此长的管道使得解码过程也非常复杂。相反,给定一个在NeRV中编码视频的神经网络,我们可以简单地将视频压缩任务视为一个模型压缩问题,并轻松地利用任何成熟的或前沿的模型压缩算法来实现良好的压缩比。具体来说,我们探索了一个三步模型压缩管道:模型修剪、模型量化和权重编码,并展示了每个步骤对压缩任务的贡献。我们在流行的视频压缩数据集(如UVG[7])上进行了广泛的实验,并展示了模型压缩技术在NeRV上用于视频压缩的适用性。我们在表1简单地比较不同的视频表示方法,NeRV在解码速度上有很大的优势。
在这里插入图片描述
除了视频压缩,我们还探索了NeRV表示在视频去噪任务中的其他应用。由于NeRV是一个学习过的隐函数,我们可以证明它对噪声和扰动的鲁棒性。给定一个有噪声的视频作为输入,NeRV生成一个高质量的去噪输出,不需要任何额外的操作,甚至优于传统的去噪方法。

本文的贡献可以归纳为四个部分:

  • 我们提出了一种新颖的视频图像隐式表示NeRV,将视频表示为一个神经网络,将视频编码转换为模型拟合,将视频解码转换为一个简单的前馈操作。
  • 与像素级隐式表示相比,NeRV输出整个图像,效率高,编码速度提高了25× ~ 70×,解码速度提高了38× ~ 132×,同时获得了更好的视频质量。
  • NeRV允许我们将视频压缩问题转换为模型压缩问题,使我们能够利用标准的模型压缩工具,并达到与传统视频压缩方法(如H.264[8]和HEVC[2])相当的性能。
  • 作为视频的一般表示,NeRV在其他任务中也显示出良好的结果,例如视频去噪。在没有任何特殊的去噪设计的情况下,NeRV的去噪性能优于传统的手工去噪算法(介质滤波器等)和基于ConvNets的去噪方法。

2. Related Work

隐式神经表示: 内隐神经表示是一种对各种信号进行参数化的新方法。关键思想是将一个对象表示为一个通过神经网络逼近的函数,它将坐标映射到相应的值(例如,图像的像素坐标和像素的RGB值)。它被广泛应用于许多三维视觉任务,如三维形状[9,10],三维场景[11-14],以及三维结构的外观[4,15,16]。与体素、点云、网格等显式3D表示相比,连续隐式神经表示可以以一种高效内存的方式对高分辨率信号进行紧凑编码。最近,[17]证明了在图像压缩任务中使用隐式神经表示的可行性。虽然它还不能与最先进的压缩方法竞争,但它显示出有前途和有吸引力的特性。在以往的方法中,通常使用MLPs来近似隐式神经表示,它以空间或时空坐标为输入和输出该单点的信号(如RGB值、体积密度)。与此相反,我们的NeRV表示训练一个由MLP和卷积层组成,特殊设计的神经网络,并以帧索引作为输入,直接输出该帧的所有RGB值。

视频压缩: 视觉数据压缩作为计算机视觉和图像处理的一项基本任务,已经研究了几十年。在深度网络复兴之前,手工制作的图像压缩技术,如JPEG[18]和JPEG2000[19],被广泛使用。在此基础上,许多传统的视频压缩算法,如MPEG[20]、H.264[8]、HEVC[2]等都取得了很大的成功。这些方法通常是基于变换编码,如离散余弦变换(DCT)[21]或小波变换[22],这些都是经过精心设计和调整的,以快速和高效。最近,基于深度学习的视觉压缩方法越来越受欢迎。对于视频压缩,最常见的做法是在使用传统视频压缩管道的同时,对某些组件使用神经网络。例如,[23]提出了一种有效的图像压缩方法,并通过添加插值环路模块将其推广到视频压缩中。同样,[24]将视频压缩问题转化为图像插值问题,并提出插值网络,压缩质量具有竞争性。此外,[25]将光流广义到尺度空间流,以更好地模拟压缩的不确定性。随后,[26]采用时间层次结构,训练神经网络的大部分组件,包括关键帧压缩、运动估计、运动压缩和剩余压缩。然而,所有这些工作仍然遵循传统压缩的总体流程,可以说限制了它们的能力。

模型压缩: 模型压缩的目的是通过减少参数的数量来简化原始模型,同时保持模型的准确性。目前关于模型压缩的研究主要分为四类:参数剪枝和量化[27-32];低秩分解(33-35);转移和紧致卷积滤波器[36-39];以及知识蒸馏[40-43]。我们提出的NeRV使我们能够将视频压缩问题重组为模型压缩,并利用标准的模型压缩技术。具体地说,我们使用模型剪枝和量化来减小模型的大小,而不显著地降低性能。

3. Neural Representations for Videos

我们在3.1节中首先介绍了NeRV表示,包括输入嵌入、网络架构和损失目标。后续在第3.2节,介绍了针对NeRV的模型压缩技术。

3.1 NeRV Architeture

在NeRV中,任意视频 V = { v t } t = 1 T ∈ R T × H × W × 3 V=\{v_t\}^T_{t=1} \in \R^{T \times H \times W \times 3} V={vt}t=1TRT×H×W×3 可以表示为一个函数 f θ : R → R H × W × 3 f_\theta : \R \rightarrow \R^{H \times W \times 3} fθ:RRH×W×3,其中输入是帧索引 t t t,输出是对应的RGB图像 v t ∈ R H × W × 3 v_t \in \R^{H \times W \times 3} vtRH×W×3。编码函数用深度神经网络 θ \theta θ参数化, v t = f θ ( t ) v_t = f_\theta (t) vt=fθ(t)。这样,视频编码是使用神经网络 f θ f_\theta fθ拟合到给定的视频,这样它可以映射每个输入时间戳到相应的RGB帧。

输入嵌入(位置编码): 虽然深度神经网络可以作为通用函数逼近器[1],但是直接用输入时间戳t训练网络fθ,结果很差,这也是[4,44]观察得到的。通过将输入映射到高嵌入空间,神经网络可以更好地拟合高频变化的数据。具体来说,在NeRV中,我们使用位置编码[4,6,45]作为我们的嵌入函数:
在这里插入图片描述
其中 b b b l l l 是这个网络的超参数,给定一个输入的时间戳 t t t,在(0,1]之间进行归一化,嵌入函数 Γ ( ⋅ ) \Gamma (\cdot) Γ()的输出送进后续的神经网络中。

在这里插入图片描述

网络架构: NeRV架构如图2 (b)所示。NeRV将嵌入的时间作为输入,并输出相应的RGB帧。利用MLPs直接输出帧的所有像素值会导致巨大的参数,特别是当图像分辨率很大时。因此,我们在MLP层之后叠加多个NeRV块,使不同位置的像素可以共享卷积核,从而形成一个高效的网络。受超分辨率网络的启发,我们设计了NeRV模块,如图2 ©所示,采用PixelShuffle技术[46]用于升级方法。还插入了卷积层和激活层,以增强表达能力。详细的架构可以在补充材料中找到。

损失函数: 对于NeRV,我们采用L1和SSIM损失的组合作为网络优化的损失函数,它计算出预测图像和地面真实图像在所有像素位置上的损失如下
在这里插入图片描述
T代表帧数, f θ ( t ) ∈ R H × W × 3 f_\theta (t) \in \R^{H \times W \times 3} fθ(t)RH×W×3表示NeRV的预测, v t ∈ R H × W × 3 v_t \in \R^{H \times W \times 3} vtRH×W×3代表帧的地面真值图像, α \alpha α表示平衡损失分量之间的超参数。

3.2 Model Compression

在本节中,我们简要地回顾了用于视频压缩NeRV的模型压缩技术。我们的模型压缩由四个标准的顺序步骤组成:视频过拟合、模型剪枝、权重量化和权重编码,如图3所示。
在这里插入图片描述
模型剪枝:在给定神经网络拟合视频的前提下,我们首先使用全局非结构化剪枝来减小模型的大小。根据权重值的大小,我们将阈值以下的权重设置为零,
在这里插入图片描述
其中 θ q \theta _q θq θ \theta θ中所有参数的 q q q百分位数,作为一种常规做法,在剪枝操作之后,对模型进行微调重新获得表示。

**模型量化:**经过模型剪枝后,对所有网络参数进行模型量化。注意,与最近许多在训练中利用量化的研究[31,47-49]不同,NeRV只在训练过程之后被量化。给定一个参数张量 μ \mu μ
在这里插入图片描述
其中“round”是将值舍入到最接近的整数,“bit”是量化模型的比特长度, μ m a x \mu_{max} μmax μ m i n \mu_{min} μmin是参数张量 μ \mu μ的最大值和最小值,“scale”是指比例因子。通过公式4,每个参数可以映射到一个’ bit '长度值。存储“scale”和“ μ m i n \mu_{min} μmin”的开销可以忽略,因为 μ \mu μ的参数数量较大,例如,在一个64路输入、64路输出的小3 × 3 Conv(总共37k个参数)中,它们只占0:005%。

熵编码: 最后,我们采用熵编码进一步压缩模型大小。通过利用字符频率,熵编码可以以一种更高效的编解码器来表示数据。具体来说,我们在模型量化后采用Huffman Coding[50]。由于霍夫曼编码是无损的,它可以保证在不影响重构质量的情况下实现良好的压缩。根据经验,这进一步减少了大约10%的模型尺寸。

4. Experiments

4.1 Datasets and Implementation Details

我们对scikit-video中的“大巴克兔”序列进行实验,将我们的NeRV与像素级隐式表示进行比较,该隐式表示有132帧,分辨率为720 × 1080。为了与最新的视频压缩方法进行比较,我们对目前广泛使用的视频压缩方法进行了实验,在UVG[7]数据集上,共7个视频,3900帧,分辨率为1920 × 1080。在我们的实验中,我们使用Adam优化器[51]训练网络,学习率为5e-4。对于UVG的消融研究,除非另有说明,我们使用余弦退火学习率计划[52],批大小为1,训练期为150,预热期为30。对于修剪后的微调过程,我们为UVG和“大巴克兔”使用50个epoch.对于NeRV架构,共有5个NeRV块,对于1080p视频和720p视频,上采样因子分别为5、3、2、2、2和5、2、2、2、2。通过改变MLP的隐藏维数和NeRV块的通道维数,可以建立不同尺寸的NeRV模型。对于方程1中的输入嵌入,我们使用 b = 1.25 b=1.25 b=1.25 l = 80 l=80 l=80 作为默认设置。对于公式2中的损失目标,α设为0.7。我们用两个指标来评估视频质量:PSNR和和MS-SSIM[53]。采用逐像素比特(Bits-per-pixel, BPP)表示压缩比。我们使用PyTorch[54]实现我们的模型,并对其进行全精度训练(FP32)。所有实验都使用NVIDIA RTX2080ti。更多实验细节、结果和可视化(如MCL-JCV[55]结果)请参考补充材料。

4.2 Main Results

我们在“大巴克兔”视频中比较NeRV和像素级隐式表示。我们把SIREN[5]和NeRF[4]作为baseline,其中SIREN[5]以原始像素坐标为输入,使用正弦激活,而NeRF[4]增加了一个位置嵌入层对像素坐标进行编码,使用ReLU激活。 SIREN和FFN都使用3层感知器,我们改变隐维来建立不同大小的模型。为了公平比较,我们训练120个 epoch的SIREN和FFN使编码时间具有可比性。我们改变滤波器的宽度来建立类似大小的NeRV模型,命名为nerv-s、nerv-m和nerv-l。在表2中,NeRV在编码速度、解码质量和解码速度上都要优于它们。需要注意的是,NeRV可以将训练速度提高25到70×,解码FPS速度提高38×到132×。我们还在表3中对不同的训练时期进行了实验,实验清楚地表明,更长的训练时间可以导致视频更好的过拟合结果,我们注意到,只要训练更多的时期,最终的表现没有过拟合。
在这里插入图片描述

4.3 Video Compression

Compression Ablation: 我们首先在视频“大巴克兔”上进行消融研究。图4显示了不同修剪率下的结果,稀疏度为40%的模型仍然可以达到与完整模型相当的性能。在图5的模型量化步骤中,8位模型相对于32位的原始模型仍然保持了视频质量。图6显示了使用NeRV的完整压缩流程。压缩性能对于不同尺寸的NeRV模型是相当稳健的,每个步骤对我们的最终结果都有一致的贡献。请注意,我们这里只探讨了这三种常见的压缩技术,我们相信其他成熟的、前沿的模型压缩算法可以进一步提高视频压缩任务的最终性能,这是留给未来研究的。
在这里插入图片描述

Compare with state-of-the-arts methods: 然后,我们在UVG数据集上与最先进的方法进行比较。首先,我们将7个视频在时间维度上拼接成一个视频并进行训练,我们发现,这比为每个视频训练一个单一的模型更有益。 训练后的网络,我们应用模型修剪,量化和权重编码,如第3.2节所述。图7和图8显示了速率失真曲线。我们比较了H.264[8]、HEVC[2]、STAT-SSF-SP[56]、HLVC[26]、Scale-space[25]和Wu等人的[24]。H.264和HEVC采用Medium预置模式。**作为第一个图像级神经表示方法,与传统的视频压缩技术和其他基于学习的视频压缩方法相比,NeRV通常可以达到相当的性能。值得注意的是,当BPP较小时,NeRV的性能可以与最先进的方法相媲美,在高速视频压缩中显示出巨大的潜力。**当BPP变大时,性能差距主要是由于GPU资源限制,没有充分训练。从表3可以看出,随着训练周期的增加,解码视频质量不断提高。图9显示了解码帧的可视化效果。在类似的内存预算下,NeRV显示的图像细节质量更好。
在这里插入图片描述
在这里插入图片描述
Decoding time: 我们与其他方法比较在相似的内存预算下的解码时间。
注意HEVC是在CPU上运行的,而其他所有基于学习的方法都运行在单个GPU上,包括我们的NeRV。我们通过半精度运行来加速NeRV (FP16)。由于译码过程简单(前馈操作),即使与经过仔细优化H264比较,NeRV也显示出很大的优势。通过在特殊硬件上运行量化模型,可以获得较高的速度。所有其他的视频压缩方法都有两种类型的帧:键帧和间隔帧。关键帧只能根据其编码特征进行重构,而间隔帧重构也是基于重构后的关键帧。由于大多数视频帧都是间隔帧,解码时需要在重建相应的关键帧后按顺序进行。相反,我们的NeRV可以独立输出任意随机时间索引的帧,从而使并行解码更加简单。这可以被视为与其他方法相比的明显优势。
在这里插入图片描述

4.4 Video Denoising

我们在原始视频上应用几种常见的噪声模式,并在受扰动的图像上训练模型。在训练过程中,不给模型提供任何掩模和噪声位置,即模型的目标是有噪声的帧,而模型没有额外的信号来判断输入是否有噪声。令人惊讶的是,我们的模型试图避免噪声的影响,并隐式地正则化他们同时减少对压缩任务的影响,在实际应用中可以很好地处理大部分部分失真的视频。

结果与一些标准的去噪方法进行了比较,包括高斯、均匀和中值滤波。这些可以看作是对任何附加压缩过程的去噪上限。如表5所示,虽然以完全监督的方式对有噪声的目标进行训练,但NeRV输出的PSNR通常比有噪声的帧高得多,并达到了一般去噪的可接受水平。具体来说,中值滤波在传统去噪技术中表现最好,而NeRV在大多数情况下都优于中值滤波,或者至少在没有任何额外的去噪设计的架构设计和训练策略中与之相当。

我们还比较了神经网络与另一种基于神经网络的去噪方法,深度图像先验
(DIP)[59]。虽然它的主要目标是图像去噪,但在定性和定量指标上,NeRV都优于它,如图10所示。两者的主要区别在于DIP的去噪只来自于架构先验,而NeRV的去噪能力同时来自于架构先验和数据先验。 DIP强调它的图像先验只被卷积运算的网络结构捕获,因为它只以单个图像为素材。但是NeRV的训练数据包含大量的视频帧,共享大量的视觉内容和一致性。利用神经网络的网络结构和训练数据统计量来获取图像先验。DIP在很大程度上依赖于一个良好的早期停止策略,以防止它与噪声过拟合。没有噪声先验,它必须使用固定的迭代设置,这是不容易推广到任何随机类型的噪声如上所述。相比之下,NeRV能够通过持续训练自然地处理这个问题,因为完整的连续视频帧集在噪声之上提供了对图像内容的强正则化。

在这里插入图片描述

4.5 Ablation Studies

最后,我们提供了在UVG数据集上的消融研究。采用PSNR和MS-SSIM对重构视频进行评价。
输入嵌入: 在表6中,PE表示如公式1所示的位置编码,极大地提高了基线;None表示直接以帧索引作为输入。在[4]中也有类似的发现,没有任何的输入嵌入,模型无法学习高频信息,导致性能大大降低。
上采样层: 在表7中,我们展示了三种不同的上采样方法的结果。例如,双线性池、转置卷积和PixelShuffle[46]。在相似的模型尺寸下,PixelShuffle显示出最好的结果。请注意,虽然转置卷积[60]达到了可比较的结果,但与PixelShuffle相比,它大大降低了训练速度。
归一化层: 在表8中,我们在NeRV块中应用了通用的规范化层。默认设置(没有标准化层)可以达到最佳性能,运行速度也略快。我们假设归一化层降低了神经网络的过拟合能力,这与我们的训练目标是矛盾的。
激活层: 表9显示了通用激活层的结果。性能最好的是GELU[61]激活函数,我们默认采用GELU[61]激活函数。
损失函数: 表10显示客观消融损失。我们展示了L2、L1和SSIM损失不同组合的性能结果。虽然单独采用SSIM可以得到最高的MS-SSIM分数,但是L1损失和SSIM损失相结合可以达到PSNR性能和MS-SSIM分数之间的最佳权衡。
在这里插入图片描述

5. Discussion

结论: 在这项工作中,我们提出了一种新的视频神经表示,NeRV,它将视频编码为神经网络。我们的重点是通过直接训练带有视频帧索引的神经网络,输出相应的RGB图像,我们可以使用模型的权值来表示视频,这与传统的将视频视为连续的帧序列的表示完全不同。通过这样的表示,我们表明,通过简单地应用一般的模型压缩技术,NeRV可以在视频压缩任务中媲美传统视频压缩方法的性能,而不需要设计一个长而复杂的管道。我们还表明,NeRV可以优于标准的去噪方法。我们希望本文能对进一步的研究工作有所启发,从而设计出新的视频表示方法。

限制和未来工作: 提出的NeRV有一些限制。首先,为了达到相似的PSNR和MS-SSIM性能,我们提出的方法的训练时间比传统视频压缩方法的编码时间更长。其次,神经网络的结构设计还不是最优的,我们相信对神经网络结构设计进行更多的探索可以获得更高的性能。最后,更先进的边缘模型压缩方法可以应用于神经网络,并获得更高的压缩比。

A. Appeddix 附录

A.1 NeRV Architecture

我们在表11中提供了架构细节。对于一个 1920 × 1080 1920 \times 1080 1920×1080的视频,给定时间戳索引 t t t,我们首先在位置编码层的输出上应用一个2层的MLP,然后我们堆叠5个具有高级因子5,3,2,2,2,2的NeRV块。在视频压缩任务的UVG实验中,我们通过改变 C 1 C_1 C1 C 2 的 值 C_2的值 C2到(48,384),(64,512),(128,512),(128,768),(128,1024),(192,1536),(256,2048)来训练不同大小的模型。
在这里插入图片描述

A.2 Results on MCL-JCL detaset

我们在图11a和图11b中提供了MCL-JCL[55]数据集上视频压缩任务的实验结果。图里面是不是标错了,怎么会HEVC的线在H264下面啊,相同BPP的情况下HEVC应该是明显比AVC要高才对。
在这里插入图片描述

A.3 Implementation Details of Baselines

类似于之前的工作,我们使用ffmpeg[62]来生成H.264和HEVC的评估指标。首先,我们使用以下命令从原始YUV视频中提取帧,以及压缩后的视频来计算指标:

ffmpeg -i FILE.y4m FILE/f%05d.png

然后我们使用以下命令在中等设置下用H.264或HEVC编解码器压缩视频:

# H264
ffmpeg -i FILE/f%05d.png −c:v h264 − preset medium -bf 0 -crf CRF FILE.EXT
# HEVC
ffmpeg -i FILE/f%05d.png -c:v hevc -preset medium -x265-params bframes=0 -crf CRF FILE.EXT

其中FILE是文件名,CRF是常量速率因子值,EXT是视频容器格式扩展。

A.4 Video Temporal Interpolation

我们还探索了神经网络在视频时间插值任务中的应用。具体来说,我们使用从一个视频中采样的帧子集来训练我们的模型,然后使用训练后的模型来推断/预测给定一个未见插值帧索引的未见帧。如图12所示,NeRV可以对看不见的帧给出相当合理的预测,与相邻的看到的帧相比,它具有良好的、可比较的视觉质量。
在这里插入图片描述

A.5 More Visualizations

我们在图13中提供了更多定性的可视化结果,以比较我们的NeRV与视频压缩任务中的H.265。我们在“博斯普鲁斯”视频上测试了一个较小的模型,与BPP相似的H.265编解码器相比,它也有更好的性能。放大后的区域显示我们的模型产生的伪影更少,输出更平滑。

更广泛的影响: 视频作为当今最流行的媒体形式,通常被视为序列的帧。与之不同的是,我们提出的神经网络是一种新颖的方式,将视频表示为时间的函数,由神经网络参数化,哪一种方法更有效,可以用于许多视频相关的任务,如视频压缩,视频去噪等。希望这能潜在地节省带宽,加快流媒体,丰富娱乐潜力。不幸的是,就像视频深度学习的许多进展一样,这种方法可以用于我们无法想象的各种方面。
在这里插入图片描述

A Piece of My Mind

  • 论文中提高对于多个视频序列合并后的压缩表现更好,可以尝试对于长视频的压缩。但是在BPP较低时,性能又能够超过H264、HEVC等一众SOTA算法。对于浅压缩而言,这个编码时间过于漫长,从提高训练速度方面入手是一个不错的选择。
  • 附录中显示对 ( C 1 , C 2 ) (C_1,C_2) (C1,C2)的值进行变换可以调整输出图片的格式大小,但是所给出的内容并没有讲清楚所对应的输出尺寸,以及附录中缺少更多MLP参数对NeRV的影响。
  • NeRVBlock所占用的参数量在整个model中占比是多少呢,如果比较小的话,是否可以添加更多小上采样因子的NeRVBlock提升性能,如果比较大的话可以尝试使用参数复用试试效果如何。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值