基于GAN生成流畅视频,效果很能打:无纹理粘连、抖动缓解

简介: 基于GAN生成流畅视频,效果很能打:无纹理粘连、抖动缓解

来自香港中文大学、上海人工智能实验室、蚂蚁技术研究院以及加州大学洛杉矶分校的研究者提出了一个新的视频生成方法(Towards Smooth Video Composition),在多个数据集上的实验显示,新工作成功取得了大幅度超越先前工作的视频质量。


近年来,基于生成对抗式网络(Generative Adversarial Network, GAN)的图片生成研究工作取得了显著的进展。除了能够生成高分辨率、逼真的图片之外,许多创新应用也应运而生,诸如图片个性化编辑、图片动画化等。然而,如何利用 GAN 进行视频生成仍然是一个颇有挑战的问题。


除了对单帧图片的建模之外,视频生成还需要学习复杂的时序关系。近来,来自香港中文大学、上海人工智能实验室、蚂蚁技术研究院以及加州大学洛杉矶分校的研究者提出了一个新的视频生成方法(Towards Smooth Video Composition)。文中,他们针对不同跨度(短时范围、适中范围、长范围)的时序关系,分别进行了细致的建模与改进,并在多个数据集上取得了相较于之前工作大幅度的提升。该工作为基于 GAN 的视频生成方向提供了一个简单且有效的新基准。




模型架构


基于 GAN 的图像生成网络可以表示为:I=G(Z),其中 Z 是随机变量,G 是生成网络,I 是生成图片。我们可以简单地将此框架拓展到视频生成范畴:I_i=G(z_i),i=[1,...,N],其中我们一次性采样 N 个随机变量 z_i,每一个随机变量 z_i 对应生成一帧图片 I_i。将生成的图片在时间维度堆叠起来就可以得到生成的视频。


MoCoGAN, StyleGAN-V 等工作在此基础上提出了一种解耦的表达:I_i=G(u, v_i),i=[1,...,N],其中 u 表示控制内容的随机变量,v_i 表示控制动作的随机变量。这种表达认为,所有帧共享相同的内容,并具有独特的动作。通过这种解耦的表达,我们可以更好地生成内容风格一致,同时具有多变真实的动作视频。新工作采纳了 StyleGAN-V 的设计,并将其作为基准。


视频生成的难点:

如何有效并合理地建模时序关系?


新工作着眼于不同跨度(短时范围、适中范围、长范围)的时序关系,分别进行了细致的建模与改进:


1. 短时间(~5 帧)时序关系


让我们首先考虑仅有几帧的视频。这些短时间的视频帧通常包含了非常相似的内容,仅仅展示了非常细微的动作。因此,真实地生成帧间的细微动作至关重要。然而,StyleGAN-V 生成的视频中出现了严重的纹理粘连(texture sticking)现象。



纹理粘连指的是生成的部分内容对特定坐标产生了依赖,造成了 “黏” 在固定区域上的现象。在图像生成领域中,StyleGAN3 通过细致的信号处理、扩大 padding 范围等操作缓解了纹理粘连问题。本工作验证了同样的技术对视频生成仍然有效。


在下图的可视化中,我们追踪视频每一帧中相同位置的像素。容易发现,在 StyleGAN-V 的视频中,有些内容长期 “黏” 在固定坐标,并没有随着时间移动,因此在可视化中产生了“笔刷现象”。而在新工作生成的视频中,所有像素都展示了自然的移动。



然而,研究员发现,引用 StyleGAN3 的 backbone 会让图像生成质量有所下降。为了缓解这个问题,他们引入了图像层面的预训练。在预训练阶段, 网络仅需考虑视频中某一帧的生成质量,无需学习时序范围的建模,从而更易学习有关图像分布知识。


2. 中等长度(~5 秒)时序关系


随着生成的视频拥有更多的帧数,它将能够展现更具体的动作。因此,确保生成的视频中拥有真实的动作非常重要。例如,如果我们想要生成第一人称开车的视频,就应该生成逐渐后退的地面、街景,临车也应当遵循自然的驾驶轨迹。


在对抗训练中,为了确保生成网络获得足够的训练监督,判别网络至关重要。因此在视频生成中,为了确保生成网络能够生成真实的动作,判别网络需要对多帧中的时序关系进行建模,并捕获生成的不真实的运动。然而,在之前的工作中,判别网络仅仅使用了简单的拼接操作(concatenation operation)来进行时序建模:y = cat (y_i),其中 y_i 表示单帧特征,y 表示时域融合后的特征。


针对判别网络,新工作提出了一种显式的时序建模,即在判别网络的每一层,引入时序移位模块(Temporal Shift Module,TSM)。TSM 来自动作识别领域,通过简单的移位操作实现时序上的信息交换:


实验表明,在引入 TSM 之后,三个数据集上的 FVD16,FVD128 得到了很大程度的降低。



3. 无限长视频生成


先前介绍的改进主要围绕短时和适中时间长度的视频生成,新工作进一步探索了如何生成高质量的任意长度(包括无限长)的视频。之前工作(StyleGAN-V)能够生成无限长的视频,然而视频中却包含着非常明显的周期性抖动现象:


如图所示,在 StyleGAN-V 生成的视频中,随着自车前进,斑马线原本正常的后退,随后却突然改为向前运动。本工作发现,动作特征(motion embedding)的不连续性导致了此抖动现象。


先前工作采用线性插值来计算动作特征,然而线性插值会导致一阶不连续性,如下图所示(左边为插值示意图,右图为 T-SNE 特征可视化):



本工作提出了 B 样条控制的动作特征(B-Spline based motion embedding)。通过 B 样条进行插值,能够获得关于时间更加平滑的动作特征,如图所示(左边为插值示意图,右图为 T-SNE 特征可视化):



通过引入 B 样条控制的动作特征,新工作缓解了抖动现象:


如图所示,StyleGAN-V 生成的视频中,路灯、地面会突然改变运动方向。而在新工作生成的视频中,运动的方向是一致、自然的。


同时,新工作针对动作特征还提出了一个低秩(low rank)的约束,来进一步缓解周期性重复内容的出现。


实验


工作在三个数据集(YouTube Driving, Timelapse, Taichi-HD)上进行了充分的实验,并充分对比了先前的工作,结果显示,新工作在图片质量(FID)以及视频质量(FVD)上,都取得了充分的提升。


SkyTimelapse 实验结果:



Taichi-HD 实验结果:


YouTube Driving 实验结果:


总结


新工作基于 GAN 模型,提出了一个全新的视频生成基准,从不同尺度的时序关系出发,提出了新颖、有效地改进。在多个数据集上的实验显示,新工作成功取得了大幅度超越先前工作的视频质量。

相关文章
|
9月前
|
机器学习/深度学习 JavaScript PyTorch
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
生成对抗网络(GAN)的训练效果高度依赖于损失函数的选择。本文介绍了经典GAN损失函数理论,并用PyTorch实现多种变体,包括原始GAN、LS-GAN、WGAN及WGAN-GP等。通过分析其原理与优劣,如LS-GAN提升训练稳定性、WGAN-GP改善图像质量,展示了不同场景下损失函数的设计思路。代码实现覆盖生成器与判别器的核心逻辑,为实际应用提供了重要参考。未来可探索组合优化与自适应设计以提升性能。
778 7
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
|
12月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
数据可视化 Python
Visdom可视化学习笔记(一):通过visdom画曲线和显示图片总结
关于如何使用Visdom进行数据可视化的教程,包括画曲线、显示图片和文本等操作。
441 0
Visdom可视化学习笔记(一):通过visdom画曲线和显示图片总结
|
9月前
|
机器学习/深度学习 数据采集 编解码
基于DeepSeek的生成对抗网络(GAN)在图像生成中的应用
生成对抗网络(GAN)通过生成器和判别器的对抗训练,生成高质量的合成数据,在图像生成等领域展现巨大潜力。DeepSeek作为高效深度学习框架,提供便捷API支持GAN快速实现和优化。本文详细介绍基于DeepSeek的GAN技术,涵盖基本原理、实现步骤及代码示例,展示其在图像生成中的应用,并探讨优化与改进方法,如WGAN、CGAN等,解决模式崩溃、训练不稳定等问题。最后,总结GAN在艺术创作、数据增强、图像修复等场景的应用前景。
1094 16
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
2197 0
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
存储 数据可视化 数据库
构建简易个人记账应用
【8月更文挑战第31天】在这个数字化时代,掌握资金流动对于个人理财至关重要。本文将引导你使用Python和SQLite数据库构建一个简易的个人记账应用。我们将从基础的数据模型设计开始,逐步实现数据的增删查改功能,并探讨如何通过用户界面与后端代码交互。文章末尾,我们会讨论可能的扩展功能,以增强这个应用的实用性。无论你是编程新手还是想实践项目经验的开发者,这篇文章都将为你提供有价值的指导。
|
JavaScript 前端开发 应用服务中间件
【qkl】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
【区块链】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
849 0
|
机器学习/深度学习 IDE 数据建模
视频生成经典模型资源(一):TGAN、VGAN、MoCoGAN、SVG、vid2vid、VideoVAE、DVD-GAN—1
视频生成经典模型资源(一):TGAN、VGAN、MoCoGAN、SVG、vid2vid、VideoVAE、DVD-GAN
1201 0
|
机器学习/深度学习 编解码 人工智能
论文精读 TransGAN:两个纯粹的Transformer可以组成一个强大的GAN(TransGAN:Two Pure Transformers Can Make One Strong GAN)
TransGAN是UT-Austin、加州大学、 IBM研究院的华人博士生构建了一个只使用纯 transformer 架构、完全没有卷积的 GAN,并将其命名为 TransGAN。该论文已被NeruIPS(Conference and Workshop on Neural Information Processing Systems,计算机人工智能领域A类会议)录用,文章发表于2021年12月。 该文章旨在仅使用Transformer网络设计GAN。Can we build a strong GAN completely free of convolutions? 论文地址:https://
论文精读 TransGAN:两个纯粹的Transformer可以组成一个强大的GAN(TransGAN:Two Pure Transformers Can Make One Strong GAN)