Make pixels dance:high-dynamic video generation

news2024/12/24 22:51:07

 

1.Introduction

大多数视频生成主要关注文本到视频的生成,PixelDance在文本指令的基础上,将图像指令分别用于视频剪辑的第一帧和最后一帧,第一帧图像指令描绘了视频剪辑的主要场景,最后一帧图像是可选的,描述了剪辑的结尾,并为生成提供了额外的控制。以<文本,第一帧,最后一帧>为指令,文本指令由预训练的文本编码器编码,与unet进行cross-attention,图像由预训练的VAE编码和扰动的视频潜变量或高斯噪声串联编码,作为输入传递给扩散模型,在训练中,使用真实的第一帧来强制模型严格遵循指令,保持连续性。模型有15亿参数。在各种复杂的场景中创作了首个具有清晰故事情节的三分钟视频,角色在各个场景中保持一致。

2.Related work

2.1 Video Generation

GAN、VQVAE-transformer,将temporal convs和temporal attention添加到预训练的文本到图像的扩散模型的2D unet中。视频生成和视频编辑。

2.2 Long video Generation

需要在连续的视频片段之间实现平滑过渡,保持场景和角色的长期一致性。1.自回归,在生成新片段时以迁移片段为条件使用滑动窗口;2.分层方法,先生成稀疏帧,再插帧。PixelDance以自回归的方式生成连续视频片段。

3.method

3.1 Model architecture

3.1.1 Latent diffusion architecture

LDM是在VAE潜空间中从受扰动输入中去噪的模型。使用2d unet,通过在空间维度插入temporal layer,将2d unet扩展为3d unet,其中2d conv沿temporal维度使用1d attention,模型可以同时训练图像和视频,以保持在空间维度上的高保真度生成能力。temporal attention层中使用bi-self-attention,使用预训练的CLIP文本编辑器对文本指令进行编码,通过cross-attention将text嵌入unet,hidden states作为query,text作为key和value。

3.1.2 Image Instruction Injection

将第一帧和最后一帧的图像和文本结合,在训练中,使用真实的视频帧作为指令,指定第一帧和最后一帧,使用VAE将其编码到扩散模型的输入空间中,采用[first,PAD,last],将image条件和加噪的潜变量沿通道维度连接,作为扩散模型的输入。

3.2 Training and inference

对于第一帧,使用真实第一帧来训练,使模型在推理中严格遵循第一帧的指令。相比之下,有意的避免鼓励模型完全复制最后一帧的指令,在推理时,预先无法获得真实的最后一帧,模型需要根据用户提供的粗略草图进行引导,以生成时间连贯的视频。引入了三种技术,1.从一个剪辑的最后三帧真实图像中随机选择一张图像作为最后一帧的指令进行训练;2.对图像指令的潜在code进行噪声扰动;3.在训练过程中以概率n随机丢弃最后一帧的指令,将相应的潜在code变成0。相应的,在推理时,在总共T个去噪步骤中的钱t个步骤中,使用最后一帧的指令来引导视频生成,以达到期望的技术状态后,在后续步骤中丢弃该指令。推理中使用classifer-free guidance。

4.Experiments

4.1 Implementation details

在WebVid-10M上训练了视频扩散模型,该数据集包含约1000w个短视频片段,平均持续时间为18s,分辨率主要为336x596。每个视频斗鱼一段文本相关联,该文本通常只提供与视频内容弱相关的粗略描述。此外WebVid-10M所有视频上都有水印,自采集了500k的视频剪辑,粗粒度的文本描述对。

PixelDance同时在视频-文本数据集和图像-文本数据集上进行训练,对于视频数据,每个视频随机采样16个连续帧,每秒读4帧,采用LAION-400M作为图像-文本数据集,图像-文本数据每8个训练迭代进行一次利用,这块还挺特别,是图文和视频文本同时在训练的。预训练的文本编码器和VAE模型的权重在训练时冻结,使用DDPM训练,首先在分辨率为256x256模型上训练,bs为192,在32个A100上进行200k迭代,然后在更高分辨率上微调50k。

5.mode

第一种模式为base模式,只需要提供一张指导图片和相应文本描述;

第二种模式为高级模式,用户需要提交两张指导图片和相关描述文本描述;

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

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

相关文章

2024年AI云计算专题研究报告:智算带来的变化

今天分享的人工智能系列深度研究报告&#xff1a;《2024年AI云计算专题研究报告&#xff1a;智算带来的变化》。 &#xff08;报告出品方&#xff1a;华泰证券&#xff09; 报告共计&#xff1a;32页 Al 云计算 2024:关注智算带来的新变化 通过对海内外主要云厂商及其产业链…

HarmonyOS 的应用开发语言:ArkTS

本心、输入输出、结果 文章目录 HarmonyOS 的应用开发语言&#xff1a;ArkTS前言ArkTS 产生背景ArkTS 语言特点ArkTS 基本语法ArkTS 声明式 UIArkTS 状态管理ArkTS 渲染控制 ArkTS 轻量化并发机制ArkTS 相关文档花有重开日&#xff0c;人无再少年实践是检验真理的唯一标准 Harm…

mysql语句大全及用法

常用的MySQL语句和简要用法&#xff0c;以帮助你开始学习和使用MySQL。 连接数据库 mysql -u username -p在命令行中使用以上命令来连接到MySQL数据库服务器。username 是你的MySQL用户名&#xff0c;执行后会提示输入密码。 显示数据库 SHOW DATABASES;列出数据库服务器上…

Nginx首页修改及使用Nginx实现端口转发

按照我之前博客给的方法搭建好这样一个CTF靶场 但是呢它默认是在8000端口 如何直接访问IP地址或者域名就可以实现直接访问到靶场呢 我们需要将80端口的内容转发到8000&#xff0c;使用nginx实现端口转发功能 首先我们安装nginx&#xff1a; 安装工具和库 yum -y install gc…

数据结构二维数组计算题,以行为主?以列为主?

1.假设以行序为主序存储二维数组Aarray[1..100,1..100]&#xff0c;设每个数据元素占2个存储单元&#xff0c;基地址为10&#xff0c;则LOC[5,5]&#xff08; &#xff09;。 A&#xff0e;808 B&#xff0e;818 C&#xff0e;1010 D&…

【数字信号处理】DFT

DFT 2023年11月18日 #elecEngeneer 文章目录 DFT1. 离散傅里叶变换-DFT2. 离散傅里叶反变换-IDFT3. DFT的误差下链 1. 离散傅里叶变换-DFT 离散傅里叶变换&#xff08;Discrete Fourier Transform&#xff0c;DFT&#xff09;&#xff0c;是当有 N {N} N 个信号采样点&#…

1,使用IDLE开启我们第一个Python程序

前面我们已经安装好了Python&#xff0c;安装了Python后&#xff0c;他会自动帮我们安装一个IDLE。IDLE是一个Python自带的非常简洁的集成开发环境&#xff08;IDE&#xff09;。他是一个Python Shell&#xff0c;我们可以利用Python Shell与Python交互。下面我们就利用IDLE开发…

10基于matlab的悬臂梁四节点/八节点四边形单元有限元编程(平面单元)

悬臂梁&#xff0c;有限元编程。基于matlab的悬臂梁四节点/八节点四边形单元有限元编程&#xff08;平面单元&#xff09;&#xff0c;程序有详细注解&#xff0c;可根据需要更改参数&#xff0c;包括长度、截面宽度和高度、密度、泊松比、均布力、集中力、单元数量等。需要就拍…

水の数列

这题目没有修改&#xff0c;所以可以考虑预处理 显然\(x\)从大到小或者从小到大&#xff0c;被选中的数字是单调的(尽管区间变化个数没有单调性) 所以我们可以考虑枚举\(x\) 我最开始想的是从大到小枚举\(x\)&#xff0c;但是维护有一点复杂&#xff0c;因为是删除 这个时候就要…

12.12 作业

1&#xff0c; 源代码&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);speerornew QTextToSpeech(this);idstartTimer(1000);//每隔一秒&#xf…

Linux Ubuntu 手动搭建webDav

1、安装 因为需要跟 zotero 进行交互&#xff0c;因此需要在服务器搭建一个webDav 以下是搭建步骤&#xff1a; sudo apt-get update sudo apt-get install apache2 Ubuntu 安装apache2来实现 不同于Centos 安装好了之后&#xff0c;运行 a2enmod dav_fs a2enmod dav 激…

040.Python面向对象_设计原则

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

Mysql的所有数据类型和它们的区别

一、数值类型 1. 普通整数数值类型 以下数据类型只能用以保存整数 整数数值类型类型存储大小&#xff08;字节&#xff09;有符号的取值范围&#xff08;允许存在负数&#xff09;无符号的取值范围TINYINT1-128 ~ 1270 ~ 255SMALLINT2- 327678 ~ 327670 ~ 65535MEDIUMINT3- 8…

性能优化 vue2/vue3 通过CDN 减少项目启动时间

其实更多可以通过压缩图片等文件大小 也会让项目运行快一些 以及尽量使用异步或者懒加载 使用CDN可以避免在项目中使用npm导入Vue的依赖项&#xff0c;从而减少项目启动时的加载时间 使用方法如下 <!-- Vue 2 --> <script src"https://cdn.jsdelivr.net/npm/vue…

Linux上使用一分钟搞定Kafka的安装

文章目录 一、前言二、安装三、验证是否安装成功 一、前言 一般我们要安装Kafka&#xff0c;还需要先安装JDK和Zookeeper&#xff0c;并进行相关配置。因为Kafka和Zookeeper都是运行在JVM之上的服务&#xff0c;所以需要先安装JDK。另外&#xff0c;Kafka依赖Zookeeper管理集群…

Python常用文件操作库详解与示例

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 文件操作是编程中常见的任务之一&#xff0c;而Python提供了丰富的文件操作库&#xff0c;使得文件的读取、写入、复制、移动等操作变得非常便捷。本文将深入介绍一些Python中常用的文件操作库&#xff0c;以及它…

CSS import 规则

导入 “navigation.css” 样式到当前的样式表&#xff1a; import “navigation.css”; /* 使用字符串 / 或者 import url(“navigation.css”); / 使用 url 地址 */ 属性定义及使用说明 CSS import 用于从其他样式表导入样式规则。 import 规则必须在 CSS 文档的头部&#xff…

NSSCTF第15页(2)

[GKCTF 2020]ez三剑客-easynode 有源代码&#xff0c;点进来看 const express require(express); const bodyParser require(body-parser);const saferEval require(safer-eval); // 2019.7/WORKER1 找到一个很棒的库const fs require(fs);const app express();app.use(b…

设计模式——单例模式(Singleton Pattern)

概述 单例模式确保一个类只有一个实例&#xff0c;而且自行实例化并向整个系统提供整个实例&#xff0c;这个类称为单例类&#xff0c;它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式有三个要点&#xff1a;一是某个类只能有一个实例&#xff1b;二是它必须自行…

使用发布订阅模式处理多维度复杂融合场景

场景再现&#xff1a; 模式正确封装方法&#xff1a; class Strategy {map new Map();constructor({ defaultCbs, errorCbs }) {// 默认this.map.set("default", defaultCbs ?? []);// 错误this.map.set("error", errorCbs ?? []);}// 获取条件keyg…