VideoBooth: Diffusion-based Video Generation with Image Prompts

news/2024/12/2 14:24:34/

VideoBooth: Diffusion-based Video Generation with Image Prompts

Videos synthesized by image prompts.

概括

文章提出了一个视频生成模型VideoBooth,输入一张图片和一个文本提示词,即可输出保持图片中物体且符合文本提示词要求的视频。

方法

粗-细两阶段设计:1)粗阶段,利用CLIP图像编码器将图片视觉编码注入文本嵌入中,融合后的嵌入送入cross attention层;2)细阶段,将多尺度图片空间信息注入视频生成模型的cross-frame attentions层。
Overview
一些困惑:

  • 多尺度的图片编码是用什么图像编码器获取的?通过VAE获取潜在表征,而这个多尺度,其实就是潜在编码在U-Net在不同阶段的输出。

预备知识

  • 拓展2D卷积:为了处理视频数据和时序关联,我们将SD模型中的2D卷积扩展为了3D卷积。(应该指的是U-Net中的卷积层)
  • 交叉帧注意力模块:SD模型中原本的自注意力模块被修改成了交叉帧注意力模块,以提高时序一致性。交叉帧模块同时处理空间和时序域,因此可以提高合成帧的时序一致性。
  • 时序注意力模块:处理时序域,对所有帧起作用,提高时序一致性。

粗粒度视觉编码

使用CLIP获取图像提示词和文本提示词的编码信息,然后将文本编码中目标物体的编码替换为图像视觉编码,将融合后的视觉-图像编码送入交叉注意力层。CLIP图像编码器是固定的,但是为了对齐图像和文本编码,图像编码会经过MLP层。此外,为了适配融合后的编码,交叉注意力层中的K和V也被微调了。

细粒度视觉编码

这部分的编码信息应该是用来保证时序一致性的。首先通过VAE获取图像潜在编码,然后加噪送入U-Net,每个阶段的U-Net输出(包括最初的潜在编码)对应的K-V都会和原始的K-V进行拼接,初始帧的V被更新,并影响后续所有的Value。

实验


http://www.ppmy.cn/news/1551779.html

相关文章

【Linux】命令行参数与环境变量

目录 一、命令行参数1.1 命令行参数是什么?1.2 设计命令行参数的意义 二、环境变量2.1 环境变量的基本概念2.2 常见环境变量2.2.1 PATH2.2.1.1 通过命令行配置PATH2.2.1.2 使自己的程序像系统中指令一样运行 2.2.2 HOME2.2.3 PWD 2.3 查看操作系统中所有的环境变量&…

python股票数据分析(Pandas)练习

需求: 使用pandas读取一个CSV文件,文件内容包括股票名称、价格和交易量。完成以下任务: 找出价格最高的股票; 计算总交易量; 绘制价格折线图。 代码实现: import pandas as pd import matplotlib.pyplot …

C++基础:muduo库学习记录

2024/11/26-2024/11/2 :   记录一下在自己学习muduo库时对一些概念的理解和实现。 reference: [1]CMuduo网络库:简介及使用 [2]Linux-C网络编程之epoll函数 [3]Linux平台下muduo网络库源码编译安装 目录 一、基础概念1.1 阻塞 or 非阻塞 同步 or 异步1…

pgsql指令

linux 在安装pgsql的服务器上 root是用户名,test是数据库名 psql -U root -d test登录后显示,12,6是版本号 psql (12.6) 查询所有表 \dt查询表结构 \d table_name查询表所属 \dp manual_logistics_logSELECT n.nspname AS table_schema,c.relname …

Spring Security6 OAuth2 实现流程

一 通用的权限框架需求 1 响应数据格式需要统一 示例 { "code": "success", "message": "description", "data": null } ps:code: 状态码,后台定义给前端用,比如“token.expired”,前…

AJAX一、axios使用,url组成(协议,域名,资源路径)查询参数和化简,错误处理,请求/响应报文,状态码,接口文档,

一、AJAX是什么 概念 &#xff1a; AJAX是一种与服务器&#xff08;后端&#xff09;通信的技术 二、请求库axios的基本用法 1导包 2使用 // 1. 发请求 axios({ url: 请求地址 }).then(res > { // 2.接收并使用数据 }) <body><p class"province"…

游戏引擎学习第26天

编程实际游戏的第一天 在第一天的编程中&#xff0c;目标是开始编写游戏的实际部分。虽然之前有一个原型层已经完成&#xff0c;但目前这个层次只是为了快速开发和验证游戏的基本功能&#xff0c;并不适合直接发布给终端用户。虽然这个原型层足够让游戏开发顺利进行&#xff0…

学习threejs,使用CubeCamera相机创建反光效果

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️CubeCamera 立方体相机 二、…