Latte: Latent Diffusion Transformer for Video Generation

文章目录

  • Abstract
  • Introduction
  • Methodology
    • 潜在扩散模型的初步研究
    • Latte的模型变体
    • Latte的实验验证
      • 潜在视频片段的patch embedding
      • Timestep-class information injection
      • Temporal positional embedding
      • 通过学习策略增强视频生成
  • Experiments

Abstract

Latte首先从输入的视频提取时空token,然后采取一系列Transformer Block在隐空间建模视频的分布。为了建模从视频中提取的大量token,从解耦输入视频的空间和时间维度的角度出发设计了四个高效变体。为了提高生成视频的质量,我们安排了最佳的Latte测试,通过严格的实验分析,包含视频裁剪 patch embedding,模型变体, timestep-class信息注入,时空位置embedding,和学习策略。

在这里插入图片描述

Introduction

这里提出了一个新的潜在扩散Transformer用以视频生成Latte,它使用视频Transformer做backbone,并且用预训练的变分自编码器将输入的视频编码到潜空间特征中,从编码的特征中提取标记。一系列的Transformer block用以编码token。考虑到时空信息之间的内在差异以及从输入视频中提取的大量标记之间的差异,如图2所示,我们从分解输入视频的时空维度的角度,设计了4个有效的基于Transformer的模型变体。

消融分析包括:视频剪辑的patch embedding,模型变体,timestep-class信息注入,时间位置embedding和学习策略。
评价标准:Fr´echet Video Distance (FVD), Fr’echet Inception Distance (FID), and Inception Score (IS).

Contributions:

  1. 提出一种以视频Transformer为backbone的潜在扩散Transformer。此外,引入四种模型的变体捕获视频中的时空分布。
  2. 为了提高视频生成的质量,全面探讨视频切片patch embedding,模型变体,timestep-class信息注入,时间位置embedding,以及学习策略来确定基于transformer的扩散模型生成视频的最佳效果。
  3. 实验效果

Methodology

潜在扩散模型的初步研究

请添加图片描述

Latte的模型变体

在这里插入图片描述
其中的橙色代表Transformer Block

Variant 1.
Fig. 2(a)所示,变体1主要由空间transformer block和时间transformer block组成。空间块用以在共享的时间标记之间捕获空间信息,时间块以“交叉融合”的方式跨时间维度捕获时间信息。
对于潜在空间中的视频剪辑片段,首先转换为token的序列 z ^ \hat{z} z^。时空位置embedding p p p进入到 z ^ \hat{z} z^,最后 z = z ^ + p z=\hat{z}+p z=z^+p输入transformer backbone。
重塑 z z z z s z_{s} zs获得空间信息,将包含时间信息的 z s z_{s} zs重构为 z t z_{t} zt作为时间块的输入,用以捕获时间信息。
Variant 2.
组成模块类似,利用“晚期融合”的方法结合时空信息。
Variant 3.
侧重于分解Transformer block中的多头注意机制,先计算空间维度,再计算时间维度,每个block同事捕捉空间和时间信息。
Variant 4.
MHA被分成两个,每个利用一半的heads。使用不同的组件在空间和时间维度处理tokens。

Latte的实验验证

潜在视频片段的patch embedding

在这里插入图片描述
Uniform frame patch embedding.
Fig. 3 (a),将ViT的patch embedding技术分别用于每个视频帧。

ps:将图像中每个patch转换为一个向量,以便可以被Transformer模块处理。
输入的图像切割为patch,每个patch展平向量化,为了保证空间信息,为patch添加位置编码,
每个patch被转换为一个带有位置编码的向量,输入到transformer。

Compression frame patch embedding.
Fig. 3 (b),将ViT patch embedding扩展到时间维度,对潜在视频片段中的时间信息建模。沿着s步幅的时间维度提取并映射到token上。与联合帧方法相比,该策略整合了时空信息。

Timestep-class information injection

将注入的信息看做token,all token
自适应归一化层AdaLN
在这里插入图片描述

Temporal positional embedding

绝对位置编码:结合不同频率的正弦和余弦函数,识别视频序列中每一帧的精确位置。
相对位置编码:采用旋转位置嵌入,使模型掌握连续帧之间的时间关系。

通过学习策略增强视频生成

借助预训练模型学习
以往的预训练模型建立在潜在扩散模型中的Unet上,并未有基于Transformer的。从ImageNet的DiT模型上初始化Latte。为了解决直接初始化遇到的参数缺失或不兼容的问题,在预训练的DiT中,将位置embedding应用到每个token。但是,在生成模型中,有一个token计数比预训练的DiT大 n n n倍,因此通过 n n n调整 p p p
为了同时满足无条件视频生成和类条件视频生成,去掉DiT的标签嵌入,采用零初始化。

无条件视频生成:生成模型在生成视频时没有额外的条件或约束。生成模型接受一个随机向量或序列作为输入,从概述如中生成连贯的视频序列。生成的内容通常与学习的数据是同一种分布。类条件视频生成:类条件生成是条件生成的一种特殊情况,特指使用类别信息作为条件来生成对应类别的样本。

图像-视频联合训练学习
为了实现视频生成和图像生成的同步训练,从同一数据集中随机选择的视频帧添加到所选视频的末端,每一帧都独立采样。为了生成连续的视频,token与视频相关的内容用于时间模块中建模时间信息,排除帧标记。

Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

成像光谱遥感技术中的AI革命:ChatGPT

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力,ChatGPT在遥感中的应用,人工智能在…

太速科技-FMC207-基于FMC 两路QSFP+光纤收发子卡

FMC207-基于FMC 两路QSFP光纤收发子卡 一、板卡概述 本卡是一个FPGA夹层卡(FMC)模块,可提供高达2个QSFP / QSFP 模块接口,直接插入千兆位级收发器(MGT)的赛灵思FPGA。支持利用Spartan-6、Virtex-6、Kin…

PTA - 接收n个关键字参数

接收n个以关键字形式传入的参数,按格式输出。 函数接口定义: def print_info (**keyargs) 提示:keyargs为可变参数,其可接受若干个关键字形式的实参值,并将接收到的值组装为一个字典。 裁判测试程序样例&#xff1…

Nextjs 调用组件内的方法

在 Next.js 中,如果你想从一个组件外部调用组件内部的方法,可以使用 React 的 useRef 钩子来引用组件实例并调用其方法。这种方法主要适用于类组件,但也可以用于函数组件,通过将方法暴露在 ref 对象上。 以下是一个示例&#xff…

Ningx配置前端http缓存

在构建高性能的网站或Web应用程序时,优化前端资源的加载速度是至关重要的。一个有效的方法是利用HTTP缓存机制,通过缓存静态资源来减少网络请求,降低服务器负载,并提升用户体验。本文将介绍如何使用Nginx配置前端HTTP缓存&#xf…

业务需求方面

S 最爱小组件引导弱,需要在用户操作的关键路径上增加引导。用户在直播间点击关注并且设为我的最爱后,首次会出现直播间引导条;若首次未点击引导条,之后观看满30s,出现引导条。写了去添加和区桌面添加两个UI。其中&…

linux学习笔记整理: 关于linux系统操作/安装软件 2024/7/16;

安装软件 安装方式: 二进制安装。---只需要解压就可以。 只针对特殊平台。 比如jdk tomcat RPM: 按照一定的规范就可以按照该软件。 无法安装依赖的文件。 mysql yum 远程安装 基于RPM 帮你把依赖的文件安装上去。 必须联网。 安装源码安装。 查看端口插件: 下载…

数据库:redis练习题

1、安装redis,启动客户端、验证。 redis-server redis-cli 2、string类型数据的命令操作: (1) 设置键值: set mykey "haha" (2) 读取键值: get mykey (3&…

08_TypeScript 中的类(静态属性、静态方法、抽象类、继承多态)

静态属性、静态方法、抽象类、继承多态 一、静态属性和静态方法1、回顾ES5中的静态方法2、TS 中定义静态方法和静态属性 二、多态1、定义:父类定义一个方法不去实现,让继承它的子类去实现,每一个子类有不同的表现。多态属于继承 三、 抽象方法…

Halcon与C++之间的数据转换

HALCON的HTuple类型(元组)功能很强大,可以表示INT、double、string等多种类型数据。当元组中只有一个成员时,HTuple也可表示原子类型 1. haclon -> C //HTuple转int HTuple hTuple 1; int data1 hTuple[0].I(); // data1 1//HTuple转do…

MSSQL Server运维常用SQL命令

1、数据库连接数 select name, state, state_desc from sys.databases; 查询结果: 2、数据库状态 select name, state, state_desc from sys.databases; 查询结果: 3、数据文件状态 select a.name, b.physical_name, b.state, b.state_desc from sy…

TCP连接如何确保可靠性

TCP通过序列号、确认应答、超时重传、数据校验、流量控制、拥塞控制等机制,确保了数据传输的可靠性和效率。 序列号:每个TCP段都有一个序列号,代表了数据流中的字节位置。 通过序列号,接收方可以检测数据包是否丢失或重复&#…

03MFC画笔/画刷/画椭圆/圆/(延时)文字

文章目录 画实心矩形自定义画布设计及使用连续画线及自定义定义变量扇形画椭圆/圆输出颜色文本定时器与定时事件画实心矩形 自定义画布设计及使用 连续画线及自定义定义变量 扇形 画椭圆/圆 输出颜色文本

【图像】图像识别经典算法

图像识别经典算法 一、图像识别基础二、经典图像识别算法1. Haar-like Features AdaBoost (Viola-Jones)2. SIFT (Scale-Invariant Feature Transform)3. SURF (Speeded-Up Robust Features)4. HOG (Histogram of Oriented Gradients)5. CNN (Convolutional Neural Networks) …

尚品汇-(十六)

目录 商品详情功能开发 (1)搭建service-item (2)获取sku基本信息与图片信息 (3)获取分类信息(查看三级分类) 商品详情功能开发 (1)搭建service-item 点…

「UCD」浅谈蓝湖Figma交互设计对齐

在现代数字产品的设计和开发过程中,选择合适的工具对于提高团队效率和保证产品质量至关重要。本文将从开发和设计两个不同的角度,探讨蓝湖和Figma两款流行工具的优势与不足,并提出结论和建议。 开发研发视角:蓝湖 优点: 清晰的设计规范:蓝湖为开发工程师提供了清晰的设计…

Gradio:快速构建机器学习Web应用的神奇工具

文章目录 引言官网链接原理基础使用安装 Gradio创建一个简单的 Gradio 应用 高级使用自定义界面集成到现有Web应用中 优缺点优点缺点 总结 引言 Gradio 是一个基于 Python 的库,它极大地简化了将机器学习模型转化为交互式Web应用的过程。无需深入了解Web开发或后端…

状态管理的艺术:探索Flutter的Provider库

状态管理的艺术:探索Flutter的Provider库 前言 上一篇文章中,我们详细介绍了 Flutter 应用中的状态管理,以及 StatefulWidget 和 setState 的使用。 本篇我们继续介绍另一个实现状态管理的方式:Provider。 Provider优缺点 基…

【阶乘】个人练习-Leetcode-LCP 22. 黑白方格画

题目链接:https://leetcode.cn/problems/ccw6C7/description/ 题目大意:给出一块白方格面积为n*n,给出一个数字k,每一次操作可以把方格的某一整行或者某一整列涂黑,求使得黑色格子数字为k的【最终图案】的个数。 思路…

MySQL 分库分表

分表 分表 将表按照某种规则拆分成多个表。 分表的使用原因 当数据量超大的时候,B-Tree索引效果很变差。 垂直分区 切分原则:把不常用或存储内容比较多的字段分到新的表中可使表存储更多数据。 原因,Innodb主索引叶子节点存储着当前行的所有信…