Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

陈萍编辑

开启生成式视频压缩:谷歌基于GAN来实现,性能与HEVC相当

来自谷歌的研究者提出了一种基于生成对抗网络 (GAN) 的神经视频压缩方法,该方法优于以前的神经视频压缩方法,并且在用户研究中与 HEVC 性能相当。


通常,视频压缩的目标是通过利用时间和空间冗余来降低存储视频所需的比特率,同时保留视觉内容,目前广泛使用的方法是非神经标准编解码器(例如 H.264/AVC 、H.265/HEVC)。一些研究表明,神经网络在学习视频压缩方面取得了更好的进展,最新的方法在峰值信噪比(PSNR)方面可以与 HEVC 相媲美,或者在 MS-SSIM 方面优于 HEVC。然而,因为很少有研究者发布重制后的视频,这些方法尚未在主观视觉质量方面进行评估。

来自谷歌的研究者提出了一种基于生成对抗网络 (GAN) 的神经视频压缩方法,该方法优于以前的神经视频压缩方法,并且在用户研究中与 HEVC 性能相当。研究者提出了减少时间累积误差的方法,该累积误差由递归帧压缩引起,该方法使用随机移位和非移位,由频谱分析驱动。论文详细介绍了网络设计的选择以及重要性,并阐述了在用户研究中评估视频压缩方法的挑战。


论文地址:https://arxiv.org/pdf/2107.12038.pdf

本文主要贡献包括:

  • 该研究提出了首个在视觉质量方面与 HEVC 具有竞争性的神经压缩方法,这是在用户研究中衡量的。研究表明,在 PSNR 方面具有竞争力的方法在视觉质量方面的表现要差得多;

  • 该研究提出了一种减少展开时时间误差累积的技术,该技术通过随机移动残差输入,然后保持输出不变,激励频谱分析,研究表明该技术在系统和 toy 线性 CNN 模型中具备有效性;

  • 该研究探索了由用户研究测量的视觉质量与可用视频质量指标之间的相关性。为了促进未来的研究,研究者发布了对 MCL-JCV 视频数据集的重建以及从用户研究中获得的所有数据(附录 B 中的链接)。


研究方法

下图为该研究使用的网络架构,其中 x = {x_1, x_2, . . . } 为帧序列,x_1 为初始帧 (I)。该研究在低延迟模式下操作,因此可以从先前的帧中预测后续 (P) 帧,设是重建视频。

灰色框是中间张量的可视化结果。灰线左侧是 I-frame 分支(蓝色代表用 CNN 学习),右侧是 P-frame 分支(绿色代表用 CNN 学习)。虚线在解码期间没有被激活,判别器 D_I、D_P 仅在训练期间激活。CNN 的大小粗略地表明了它们的容量。SG 是停止梯度操作,Blur 是尺度空间模糊,Warp 是双三次扭曲, UFlow 是冻结光流模型。

研究者采用以下策略来获得高保真重建视频:

  • 在 I-frame 中合成可信的细节;

  • 尽可能清晰地传递这些可信细节;

  • 对于出现在 P-frame 中的新内容,研究者希望能够合成可信细节。


论文中的公式是基于 HiFiC 的。使用条件 GAN,其中生成器和判别器都可以访问额外的标签:公式假设数据点 x 和标签 s 遵循联合分布 p(x, s)。生成器将样本 y ∼ p(y) 映射到分布 p(x|y),而判别器用来预测给定对 (x, s) 是否来自 p(x|s) 而不是来自生成器。

在设置中需要处理帧序列和重建。在 HiFiC 之后,研究者在潜在 y 上调节生成器和判别器,对于 I-frame,y = yI,对于 P-frame,y = y_t,r。为了简化问题,该研究的目标是对每帧分布进行匹配,即对于 T 长度的视频序列,目标是获得一个模型 s.t.:



通过随机移位展开时防止错误累积

正如文中所提到的,「低延迟」设置的循环性质在时域中的泛化具有挑战性,这可能会发生错误传播。理想情况下,只要研究评估的内容至少 T = 60 帧,就可以使用序列进行训练,但实际上由于内存限制,这在当前硬件上是不可行的。虽然我们最多可以将 T = 12 放入加速器中,但这样会使训练模型会变得非常慢。

为了加速原型设计和训练新模型,以及防止展开(unrolling)问题,该研究采用以下训练方案。 

1) 仅在随机选择的帧上训练 E_I 、 G_I 、 D_I ,1 000000 step。

2) 冻结 E_I、G_I、D_I ,并从 E_I 、G_I 初始化 E_res、G_res 权重。使用分阶段展开( staged unrolling )训练 E_flow、G_flow、E_res、G_res、D_P 450000step,即使用 T = 2 直到 80k step,T = 3 直到 300step,T = 4 直到 350step,T = 6 直到 400k,T = 9 直到 450k。 


该研究将其分为步骤 1) 和 2),因为经过训练的 E_I、 G_I 可以重新用于 P-frame 分支的许多变体,并且跨运行共享 E_I、 G_I 使其更具可比性。

使用比例控制器在训练期间控制速率:超参数 λ_R 用来控制比特率和其他损失项(例如 GAN 损失等)之间的权衡。 


实验结果

数据集:训练数据包括大约 992000 个时间 - 空间裁剪视频集,每个视频集长度 T 为 12 帧,每帧画面大小为 256×256,从 YouTube 的公开视频中获取。这些视频的分辨率至少为 1080p,长宽比至少为 16:9,帧率至少为 30 fps。

模型和基准:基线称为「MSE-only」,并且该基准使用了与研究所用一样的架构和训练过程,但没有使用 GAN 损失。实验还与尺度空间流(Scale-Space Flow,SSF)进行了比较,这是最近的神经压缩方法,在 PSNR 方面与 HEVC 相当。最后,该研究与无学习的 HEVC 进行了比较。


研究者在图 1 中总结了评分者偏好,并在图 7 中展示了性能指标。该研究与三种比特率下的 HEVC 进行了比较,结果证明该研究所用方法与 HEVC 在 0.064 bpp 下具有可比性 (14vs12),在 0.13bpp 下效果更佳(18vs9),在 0.22bpp 下性能也不错(16vs9)。



为了评估 GAN 损失对视觉质量的影响,研究者在低速率 (≈ 0.064 bpp) 下将 GAN 损失与 MSE-only 和 SSF 进行了比较。如图 1 所示,在 MSE-only 下,在 30 次结果中只有 4 次结果较好,4 次平局,结果表明了 GAN 损失的重要性,并且 SSF 没有一次是首选、没有平局。研究者强调 MSE-only 仅在 PSNR 方面与 HEVC 相当(图 7),但在视觉质量方面明显更差。



研究发现,下列组件对性能的提升至关重要:不使用「free latent」会引起模糊的重建效果,这类似于 MSE-only 基线产生的效果,如图 3 顶部所示。研究发现,使用「free latent」而不使用条件判别器也会导致模糊的重建效果。当信息不传递给 UFlow 时,实验结果会得到前后不一致的流,当信息传递给 UFlow 时,但没有使用流损失正则化(即公式 6),实验结果也不理想。因此,删除任何一个组件都会损害时间一致性,参见图 3 底部。



总体来说,没有一个指标能够预测图 1 中的结果,但是 PIM 和 LPIPS 对一些比较进行了正确的排序。在神经图像压缩领域已经观察到了这种结果,其中最好的方法是由人类来排序的,因为目前还没有一种度量标准能够根据主观质量来准确地对这些方法进行排序。
入门生成对抗网络视频压缩
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

推荐文章
暂无评论
暂无评论~