【论文阅读】MAKE-A-VIDEO: TEXT-TO-VIDEO GENERATION WITHOUT TEXT-VIDEO DATA

Make-a-video:没有文本-视频数据的文本-视频生成。

paper:

code:

ABSTRACT

优点:

(1)加速了T2V模型的训练(不需要从头开始学习视觉和多模态表示),

(2)不需要配对的文本-视频数据,

(3)生成的视频继承了当今图像生成模型的庞大性)。

构建具有新颖有效时空模块的T2I模型。首先分解全时间U-Net和注意力张量,并在空间和时间上近似。其次,设计了一个时空pipeline,通过视频解码器、插值模型和两个超分辨率模型生成高分辨率和帧率的视频。
 

1 INTRODUCTION

用T2I模型学习文本和视觉世界之间的对应关系,并用无监督学习在无标记的视频数据上学习真实的运动。文本并不能完整描述视频的运动,Make a video可以对其进行推算,可以在无描述的情况下学习动作。

贡献:

  • 利用联合文本-图像先验,绕过对配对文本-视频数据的需求,反过来能扩展到更大量的视频数据。
  • 提出了空间和时间上的超分辨率策略,给定文本输入,生成高清高帧率的视频。
  • 根据现有的T2V系统评估Make-A-Video,并提出:(a)定量和定性测量的最先进结果,以及(b)比现有T2V文献更彻底的评估。还收集了一套300个提示的测试集,用于zero-shot T2V评估。

2 PREVIOUS WORK

baseline:NUWA ,cogvideo,VDM。

在T2V生成中,NUWA 在多任务预训练阶段结合图像和视频数据集,以提高模型泛化的微调。

CogVideo使用预训练和固定的T2I模型进行T2V生成,只有少量可训练参数,以减少训练过程中的内存使用。但是固定的自编码器和T2I模型可能会限制T2V的生成。

VDM架构可以实现图像和视频的联合生成。然而,他们从随机视频中抽取随机的独立图像作为图像源,并且没有利用大量的文本-图像数据集。

3 METHOD

图2:Make-A-Video高级架构:1.给定由先验P翻译成图像嵌入的输入文本x和期望的帧率fps,解码器Dt生成16个 64 × 64大小的帧,2.然后通过F插值到更高的帧率。3.通过SRtl和SRh将分辨率增加到256 × 256和768 × 768,从而生成高时空分辨率的视频y^。

三个主要组成部分:

(i)基于文本-图像对训练的基本T2I模型(第3.1节),

(ii)将网络构建块扩展到时间维度的时空卷积和注意层(第3.2节),

(iii)由时空层组成的时空网络,以及T2V生成所需的另一个关键元素-用于高帧率生成的帧插值网络(第3.3节)。

y^t:生成的视频,SRh;SRl:空间和时空的超分辨率网络(第3.2节),F:帧插值网络(第3.3节),dt:时空解码器(第3.2节),P:先验(第3.1节),x^:bpe编码的文本,Cx:CLIP文本编码器, x:输入文本。 

3.1 TEXT-TO-IMAGE MODEL

训练该方法的主干:在文本-图像对上训练的T2I模型。

(i)先验网络P,在推理过程中生成给定的文本嵌入xe和BPE编码的文本token x^,

(ii)生成低分辨率64 × 64 RGB图像y^l的解码器网络D,以图像嵌入ye为条件,

(iii)两个超分辨率网络SRl,SRh,分别将生成的图像y^l分辨率增加到256 × 256和768 × 768像素,从而生成最终的图像y^。

3.2 SPATIOTEMPORAL LAYERS

为了将二维(2D)条件网络扩展到时间维度,本文修改了两个关键模块,(i)卷积层和(ii)注意力层。

其他层如全连接层,在添加额外维度时不需要特定的处理,因为它们与结构化的空间和时间信息无关。

在基于u - net的扩散网络中进行了时间上的修改:时空解码器Dt生成16个RGB帧,每个大小为64 × 64,新添加的帧插值网络F,通过在生成的16帧之间进行插值来增加有效帧率(如图2所示),以及超分辨率网络SRtl。

图3:伪3d卷积层和注意力层的架构和初始化方案,使预训练的文本-图像模型无缝过渡到时间维度。(左)每个空间2D conv层之后都是一个时间1D conv层。(右)将时间投影初始化为零,在空间注意力层之后应用时间注意力层,产生时间注意力块的恒等函数。

3.2.1 PSEUDO-3D CONVOLUTIONAL LAYERS

伪3d卷积层。在每个2D卷积(conv)层之后堆叠一个1D卷积,如图3所示。这有助于空间轴和时间轴之间的信息共享,而没有3D转换层的沉重计算负荷。

此外,它在预训练的2D转换层和新初始化的1D转换层之间创建了一个具体的分区,允许从头开始训练时间卷积,同时在空间卷积的权重中保留以前学习的空间知识。

给定一个输入张量h∈B×C×F ×H×W,其中B, C, F, h, W分别是批次,通道,帧,高度和宽度尺寸,伪3D卷积层定义为

转置算子◦T在空间和时间维度之间进行互换。对于平滑初始化,虽然Conv1D层是从预训练的T2I模型初始化,但Conv1D层被初始化为恒等函数,从而实现从训练仅空间层到时空层的无缝过渡。

初始化时,网络生成K个不同的图像(随机噪声),每个图像仅对应输入文本,缺乏时间一致性。

代码解析:
定义一个2D的卷积
定义一个1D的卷积
用dirac初识它
temporal的卷积层变成identity function

空间卷积,每帧都是独立的,所以【BF,C,H,W】
时间卷积是ID的卷积在不同的帧上,所以把帧f放在最后一堆,CHW放到Batch上

参考:【论文精读】MAKE-A-VIDEO:TEXT-TO-VIDEO GENERATION WITHOUT TEXT-VIDEO DATA-CSDN博客

3.2.2 PSEUDO-3D ATTENTION LAYERS

T2I网络的一个关键组成部分是注意力层,除了自关注提取的特征外,文本信息与其他相关信息(如扩散时间步长)一起被注入到几个网络层次中。我们也将维度分解策略扩展到注意层。在每个空间注意层后,叠加一个时间注意层。输入张量h,将flatten定义为一个矩阵算子,它将空间维度平坦化为h ∈ B × C×F × H × W。

将空间上的attention扩展到了时间维度。伪3D注意层定义为:

与卷积层3D类似,为了允许平滑的时空初始化,注意力2D层从预训练的T2I模型初始化,注意力1D层初始化为恒等函数。

帧率调节。添加了一个额外的条件参数fps,表示生成视频中的每秒帧数。对每秒帧数的变化进行调节,使额外的增强方法能够在训练时处理有限数量的可用视频,并在推理时对生成的视频提供额外的控制。

代码解析:
以前是HW上做attenrion,现在在f上加了一层attention
实现在时间上做信息交互。
attention函数:
初始化空间上的attetion
初始化时间上的attention
进入维度的tensor
将空间维度展开。

为什么用伪?这样参数量小。3D参数量太大了。

在VDM和CogVideo上都有。

Frame rate conditioning(帧速率调节)

损失函数:混合模型 hybrid loss
MSE+KLD
原文链接:https://blog.csdn.net/m0_60634555/article/details/129714795

3.3 FRAME INTERPOLATION NETWORK

帧插值网络。输入到unit里,不再是三个channel,而是四个channel。然后多了一个binary channel去判断该帧是否是被mask的。中间插帧的帧数是可变的。

3.4 TRAINING

Make-A-Video每一个部分都是单独训练的。

prior网络只接受输入,只在文本-图像对上训练,类似于DALLE-2的训练方式
decoder网络和超分网络,首先在图像上做训练,不需要文本。需要注意的是,这个解码器接收CLIP decoder解码器作为输入。用CLIP magen enbedding做输入。

在原模型训练好后,我们需要扩充temporal的维度。扩展完后,我们需要在未标记的video上做fine-turn。我们需要做16张从原始数据上的采样。训完后再训插帧网络。
 

4 EXPERIMENTS

表1:MSR-VTT对T2V生成的评价。zero-shot即没在MSR-VTT上训练。样本/输入:为每个输入生成多少样本。

 

5 DISCUSSION

用无监督学习更多的视频有助于摆脱对标记数据的依赖。本文工作表明,标记图像与未标记视频片段有效结合可以实现这一目标。

限制。该方法无法学习只能在视频中推断的文本和现象之间的关联。如何将这些结合起来(例如,生成一个人从左到右或从右到左挥手的视频),以及生成具有多个场景和事件的较长视频,描述更详细的故事,留给未来的工作。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL、Jdbc、JdbcTemplate、Mybatics

数据库:查询(show、select)、创建(create)、使用(use)、删除(drop)数据库 表:创建(【字段】约束、数据类型)、查询、修改(alter *add)、删除 DML:增加(inse…

关于职场伪勤奋

前段时间看了一些关于勤奋学习、职场成长类的书籍,就在思考勤奋学习和职场的关系时,结合个人的理解,我定义了一种勤奋叫职场“伪勤奋”。那关于职场“伪勤奋”的定义和理解,与大家分享: 1、选择性任务完成 伪勤奋特征…

西电计科微机原理实验二(详细注释版)

西电计科微机原理实验二(详细注释版) 环境:VSCodeMASM/TASM插件(建议使用相同环境,学校机房环境有点老,可能会出一些奇怪的问题) 实验室:EⅡ-522 实验要求 输入一个不超过5位的十进制数,回车结束输入,并将其转换为二进制数,输出到屏幕上输入非数字字符,报错,重新输入输入q或…

git客户端安装问题

问题回顾: 做git客户端版本升级,安装好之后提示git:‘remote-https‘ 不是一个 git 命令。参见 git --help。 问题处理: 缺少第二步依赖下载 安装步骤: 1、删除安装git yum remove git 2、安装依赖 yum install lib…

Java常用注解

文章目录 第一章、Java注解与元数据1.1)元数据与注解概念介绍1.2)Java注解的作用和使用1.3)注解的分类 第二章、Mybatis框架常用注解2.1)Mybatis注解概览2.2)常用注解MapperScanMapperSelectInsertUpdateDeleteParam结…

tcp的聊天室

注意&#xff1a;要加库文件&#xff0c;服务端客户端都要加 network 客户端的头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpSocket>//客户端类 #include <QMessageBox>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } Q…

Ubuntu 设置共享文件夹

一、在Windows中建立一个英文的文件夹 注意&#xff1a;新建文件夹的名称一定要是英文的&#xff0c;不能出现中文的路径&#xff08;可能出现问题&#xff09; 二、在VMware中添加共享文件 3: VMware安装VMware Tools 一般安装成功桌面上会显示这个安装包&#xff0c;&…

RV32/64 特权架构

machine mode: 运行最可信的代码;supervisor mode:为 Linux&#xff0c;FreeBSD 和 Windows 等操作系统提供支持;user mode:权限最低&#xff0c;应用程序的代码在此模式下运行&#xff1b; 这两种新模式都比user mode有着更高的权限&#xff0c;有更多权限的模式通常可以使用…

深度学习中的13种概率分布

1 概率分布概述 共轭意味着它有共轭分布的关系。 在贝叶斯概率论中&#xff0c;如果后验分布 p&#xff08;θx&#xff09;与先验概率分布 p&#xff08;θ&#xff09;在同一概率分布族中&#xff0c;则先验和后验称为共轭分布&#xff0c;先验称为似然函数的共轭先验。 多…

Python实现多种图像锐化方法:拉普拉斯算子和Sobel算子

Python实现多种图像锐化方法&#xff1a;拉普拉斯算子和Sobel算子 图像和视频逐渐成为人们生活中信息获取的重要来源&#xff0c;而图像和视频在传输过程中有很多因素可能造成图像模糊&#xff0c;比如不正确的聚焦会产生离焦模糊&#xff0c;景物和照相机的相对运动会造成运动…

C# 编写Windows服务程序

1.什么是windows服务&#xff1f; Microsoft Windows 服务&#xff08;即&#xff0c;以前的 NT 服务&#xff09;使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动&#xff0c;可以暂停和重新启动而且不显示任何用…

基于自动化脚本批量上传依赖到nexus内网私服

前言 因为某些原因某些企业希望私服是不能连接外网的&#xff0c;所以需要某些开源依赖需要我们手动导入到nexus中&#xff0c;尽管nexus为我们提供了web页面。但是一个个手动导入显然是一个庞大的工程。 对此我们就不妨基于脚本的方式实现这一过程。 预期效果 笔者本地仓库…

IDEA之设置主题风格为eclipse风格

设置IDEA的主题风格为eclipse风格&#xff0c;步骤如下: 1.选择File->Settings 2.选择 Plugins 3.搜索 eclipse theme&#xff0c;注意是红框里的&#xff0c;点击 install 下载后就会自动设置这个主题 4.你也可以去修改主题&#xff0c;选择 Appearance&#xff0c;设置th…

deepstream-python安装

​ 安装deepstream-docker 在这边文章中deepstream-docker详细介绍了如何在Ubuntu下安装deepstream-docker&#xff0c;安装完成之后&#xff0c;为了快速入门deepstream&#xff0c;我们可以安装deepstream-python库&#xff0c;通过阅读相应的例子来快速搭建一个应用。 安…

认识loader和plugin

在 webpack 中&#xff0c;专注于处理 webpack 在编译过程中的某个特定的任务的功能模块&#xff0c;可以称为插件。它和 loader 有以下区别&#xff1a; 1loader 是一个转换器&#xff0c;将 A 文件进行编译成 B 文件&#xff0c;比如&#xff1a;将 A.less 转换为 A.css&…

IDEA之设置项目包的结构层级为eclipse默认样式

idea默认项目包的结构层级如下: 想修改成eclipse默认的那种样式&#xff0c;设置步骤如下: 1.点击下图中红框图标进行设置 2.选择 Tree Appearance&#xff0c;取消勾选 Compact Middle Packages 3.勾选红框里的两个选项&#xff0c;Flatten Packages 和 Hide Empty Middle Pa…

HTML插入视频和音频(详解)

&#x1f4cd;文章目录&#x1f4cd; &#x1f9c0;一&#xff0c;简介&#x1f9c0;二&#xff0c;视频(video)&#x1f367;1&#xff0c;普通的视频插入&#x1f367;2&#xff0c;在html5中嵌入视频网站视频 &#x1f9c0;三&#xff0c;音频(audio) &#x1f9c0;一&#…

50mA、24V、超低 IQ、低压降稳压器

一、Description The TPS715 low-dropout (LDO) voltage regulators offer the benefits of high input voltage, low-dropout voltage, low-power operation, and miniaturized packaging. The devices, which operate over an input range of 2.5 V to 24 V, are stable wit…

Wordle 游戏实现 - 使用 C++ Qt

标题&#xff1a;Wordle 游戏实现 - 使用 C Qt 摘要&#xff1a; Wordle 是一款文字猜词游戏&#xff0c;玩家需要根据给定的单词猜出正确的答案&#xff0c;并在限定的次数内完成。本文介绍了使用 C 和 Qt 框架实现 Wordle 游戏的基本思路和部分代码示例。 引言&#xff1a;…

jmeter简单压测kafka

前言 这也是一个笔记&#xff0c;就是计划用jmeter做性能测试&#xff0c;但是这里是只要将数据放到kafka的topic里&#xff0c;后面查看下游业务处理能力。 一、方案 因为只要实现数据放到kafka&#xff0c;参考了下博友的方案&#xff0c;可行。 二、方案验证 详细过程就不…