【AIGC-文本/图片生成视频系列-8】Align your Latents: 基于潜在扩散模型的高分辨率视频合成

news2024/11/20 10:28:08

目录

一. 项目概述与贡献

二. 方法详解

三. 应用总览

四. 个性化视频生成

五. 实时卷积合成

六. 更多结果

七. 论文

八. 个人思考


AI生成高分辨率视频一直是一个挑战。

今天讲解一篇潜在扩散模型(LDM)用于高分辨率、时间一致且多样化的视频生成的工作——来自英伟达的《Align your Latents: High-Resolution Video Synthesis with Latent Diffusion Models》。

一. 项目概述与贡献

回顾LDM的优势:

潜在扩散模型 (LDM) 可实现高质量图像合成,同时通过在压缩的低维潜在空间中训练扩散模型来避免过多的计算需求。

本文将 LDM 范式应用于高分辨率视频生成,这是一项特别资源密集型的任务。具体步骤如下:

1. 首先仅在图像上预训练 LDM;

2. 然后,通过向潜在空间扩散模型引入时间维度并对编码图像序列(即视频)进行微调,将图像生成器变成视频生成器。类似地,我们在时间上对齐扩散模型上采样器,将它们转变为时间一致的视频超分辨率模型。

具体贡献:

1. 提出了一种有效的方法来训练基于LDM的高分辨率、长期一致的视频生成模型。关键思路是利用预先训练的图像DM,并通过插入学习以时间一致的方式对齐图像的时间层将它们转换为视频生成器。

2. 进一步对文献中普遍存在的超分辨率 DM 进行了时间微调

3. 将公开可用的稳定扩散文本到图像LDM转换为强大且富有表现力的文本到视频LDM。

4.具备可迁移性。学习到的时间层可以与不同的图像模型权重(例如,DreamBooth)相结合。

图片

上面动图是本文中视频潜在扩散模型(视频 LDM)中的时间视频微调动画。将预先训练的图像扩散模型转变为时间一致的视频生成器。最初,模型合成的同一批次的不同样本是独立的。经过时间视频微调后,样本在时间上对齐并形成连贯的视频。对于一维分布的扩散模型,微调前后的随机生成过程可视化。 为了清楚起见,该图对应于像素空间中的对齐。在实践中,我们在LDM的潜在空间中进行对齐,并在应用LDM的解码器后获得视频。

二. 方法详解

  1. 本文提出了用于高效计算的高分辨率视频生成的视频潜在扩散模型(Video LDMs)。

  2. 为了缓解高分辨率视频合成对计算和内存的密集需求,利用 LDM 范例并将其扩展到视频生成。

  3. 本文的视频 LDM 将视频映射到压缩潜空间,并建立与视频帧相对应的潜变量序列模型(见上图动画)。

  4. 从图像 LDM 中初始化模型,并在 LDM 的去噪神经网络中插入时间层,对编码视频帧序列进行时间建模。

    图片

  5. 时间层基于时间注意力和三维卷积。

  6. 本文还对模型的解码器进行了微调,以生成视频(见下图)。

图片

潜在扩散模型框架和视频解码器微调。

上图:在时间解码器微调过程中,使用冻结的每帧编码器处理视频序列,并在各帧之间执行时间一致性重建。此外,我们还采用了视频感知鉴别器。

下图:在 LDM 中,扩散模型是在潜在空间中训练的。它可以合成潜在特征,然后通过解码器将其转换为图像。实践中,对整个视频进行建模,并通过视频微调潜在扩散模型,以生成时间上一致的帧序列。

  1. 视频 LDM 模型最初以低帧率生成稀疏关键帧,然后通过另一个插值潜扩散模型对其进行两次时间上采样。

  2. 此外,通过对起始帧进行有条件的视频 LDM 视频预测训练,我们还能以自回归的方式生成长视频。

  3. 为了实现高分辨率生成,我们进一步利用空间扩散模型上采样器,并对它们进行时间对齐,以进行视频上采样。

整个生成堆栈如下所示:

图片

视频 LDM 堆栈。首先生成稀疏的关键帧。然后,我们使用相同的插值模型分两步进行时间插值,以实现高帧率。这些操作使用共享相同图像骨干的潜像扩散模型(LDM)。最后,将潜在视频解码到像素空间,并选择性地应用视频上采样器扩散模型。

三. 应用总览

  1. 视频 LDM 能够生成分辨率为 512 x 1024 的时间连贯、多分钟长的视频,从而实现最先进的性能。

  2. 对于文本到视频,我们演示了几秒长度的短视频的合成,分辨率高达 1280 x 2048,利用稳定扩散作为主干图像 LDM 以及稳定扩散放大器。

  3. 我们还探索了模型的实时卷积应用,作为延长视频长度的替代方法。

  4. 我们的主要关键帧模型仅训练新插入的时间层,但不接触主干图像LDM的层。因此,学习到的时间层可以转移到其他图像 LDM 主干,例如已使用 DreamBooth 进行微调的主干。利用这一特性,我们还展示了个性化文本到视频生成的初步结果。

四. 个性化视频生成

我们将为视频 LDM 训练的用于文本到视频合成的时间层插入到图像 LDM 主干中,我们之前在DreamBooth之后的一组图像上微调过这些主干。时间层推广到 DreamBooth 权重,从而实现个性化的文本到视频的生成。

图片

五. 实时卷积合成

文中还探索通过及时卷积应用我们学习的时间层来“免费”合成稍长的视频。以下视频由175 帧组成,以 24 fps 渲染,产生 7.3 秒长的剪辑。可以观察到轻微的质量下降。

图片

六. 更多结果

图片

七. 论文

https://arxiv.org/pdf/2304.08818.pdf

八. 个人思考

英伟达的工作还是一如既往的“硬核”。不仅实现高分辨率的视频生成,同时还实现了长时间的视频生成。并且训练的时间层可以作用于其他文生图模型,从而实现“免费”长时间文生视频的生成,这点很值得借鉴和学习尝试。


欢迎加入AI杰克王的免费知识星球,海量干货等着你,一起探讨学习AIGC!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1375329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM加载class文件的原理机制

1、JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后会写个复杂点class ,然后再找一些开源框架,比如Spring ,Hibernate 等等,再然后就开发…

leaflet学习笔记-带有方位角信息的圆的绘制(七)

前言 项目中有一个需求,就是需要绘制一个圆,并且绘制的时候还要设置方位角,最后返回圆的坐标集合和方位角。本功能使用Leaflet-GeomanTurf.jsleaflet实现。 方位角简介 在陆地导航中,方位角通常表示为 alpha、α,并定…

java中解码和编码出现乱码原因

一、UTF-8和GBK编码方式 如果采用的是UTF-8的编码方式,那么1个英文字母 占 1个字节,1个中文占3个字节如果采用GBK的编码方式,那么1个英文字母 占 1个字节,1个中文占2个字节 二、idea和eclipse的默认编码方式 其实idea和eclipse的…

力扣题解24. 两两交换链表中的节点(图解递归和双指针)

24. 两两交换链表中的节点 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入&…

使用Pygame显示文字的示例代码

import pygame import syspygame.init()# 设置窗口尺寸 win_size (800, 600) screen pygame.display.set_mode(win_size) pygame.display.set_caption("文字显示示例")# 设置字体和文字内容 font pygame.font.SysFont(None, 48) # 使用系统默认字体,字…

第十一章 Cookie

第十一章 Cookie 1.什么是Cookie2.Cookie的创建3.Cookie的获取4.Cookie值的修改5.谷歌浏览器和火狐浏览器如何查看Cookie6.Cookie的存活设置7.Cookie的path属性8.Cookie练习之免用户名登入 1.什么是Cookie 2.Cookie的创建 下面我看看如何创建Cookie,如何让客户端保…

极客时间-读多写少型缓存设计

背景 内容是极客时间-徐长龙老师的高并发系统实战课的个人学习笔记,欢迎大家学习!https://time.geekbang.org/column/article/596644 总览内容如下: 缓存性价比 一般来说,只有热点数据放到缓存才更有价值 数据量查询频率命中…

67.网游逆向分析与插件开发-角色数据的获取-分析角色数据基址

内容参考于:易道云信息技术研究院VIP课 上一个内容:角色类的数据分析与C还原-CSDN博客 基址这个东西说好找也好找,说不好找是真找不着,但就根据一个原则,就是确认这个东西有基址还是没基址,为什么会有没基…

STM32--基于STM32F103的MAX30102心率血氧测量

本文介绍基于STM32F103ZET6MAX30102心率血氧测量0.96寸OLED(7针)显示(完整程序代码见文末链接) 一、简介 MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了一个红光LED和一个红外光LED、光电检测器、光器…

移动通信原理与关键技术学习之信道编解码(5)

先回顾调制的过程:调制就是对信号源的信息进行处理加到载波上,使其变为适合于信道传输的形式的过程,就是使载波随信号而改变的技术。 1.什么是IQ调制? 答:将数据分为两路,分别进行载波调制,两…

Camunda Sub Process

一:内嵌子流程 repositoryService.createDeployment().name("内嵌子流程").addClasspathResource("bpmn/embed_sub_process.bpmn").deploy(); identityService.setAuthenticatedUserId("huihui"); ProcessInstance processInstance …

教你三招该如何制作家具样本册

​随着生活品质的提高,人们对家居装饰的要求也越来越高。家具作为家居装饰的重要组成部分,其选择和搭配也显得尤为重要。为了更好地展示家具的特点和风格,制作家具样本册成为了许多人的选择。那么,如何制作一份精美的家具样本册呢…

Day31 贪心算法 part01 理论基础 455.分发饼干 376.摆动序列 53.最大子序和

贪心算法 part01 理论基础 455.分发饼干 376.摆动序列 53.最大子序和 理论基础(转载自代码随想录) 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如&#…

CMake入门教程【实战篇】使用Boost库

文章目录 安装 Boost 库CMake中使用Boost库时安装 Boost 库 下载地址 https://www.boost.org/users/download/ 下载版本 选择二进制版本或者源码 二进制版本直接安装即可 源码版本编译->安装 解压到本地目录,如e:/dev/。运行E:\dev\boost_1_83_0\bootstrap.bat,会在同目录下…

激活/注册navicat15

一、获取软件 链接:https://pan.baidu.com/s/1F_tiLuLvVFMEz8pDfIvDjw?pwdjjfj 提取码:jjfj 二、安装 安装的过程我就不放了,重点如下 安装完不要打开软件! 安装完不要打开软件! 安装完不要打开软件!…

Spark SQL进阶

DataFrame详解 清洗相关API 去重API 删除空缺值的API 替换缺失值的API from pyspark import SparkConf, SparkContext import os from pyspark.sql import SparkSession# 绑定指定的Python解释器 os.environ[SPARK_HOME] /export/server/spark os.environ[PYSPARK_PYTHON]…

前端面试题集合六(高频)

1、vue实现双向数据绑定原理是什么&#xff1f; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>…

RT-Thread入门笔记3-线程的创建

线程 RT-Thread 中&#xff0c;线程由三部分组成&#xff1a;线程代码&#xff08;入口函数&#xff09;、线程控制块、线程堆栈. 线程代码: 线程控制块 : 线程控制块是操作系统用于管理线程的一个数据结构&#xff0c; 它会存放线程的一些信息&#xff0c; 例如优先级、 线程…

从学习投研流程的角度学习Qlib

许多同学只是把Qlib当做一个简单的工具来学习。其实Qlib隐含了一套正规的投研流程&#xff0c;从投研流程的视角去学习Qlib,则不仅能加深对Qlib的理解&#xff0c;而且能够掌握正确的投研流程&#xff0c;哪怕以后不使用Qlib而是使用其他系统了&#xff0c;这套流程还是适用的。…