CVPR 2023 | 用户可控的条件图像到视频生成方法(基于Diffusion)
注1:本文系“计算机视觉/三维重建论文速递”系列之一,致力于简洁清晰完整地介绍、解读计算机视觉,特别是三维重建领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI, IJCV 等)。
本次介绍的论文是: CVPR 2023 | 用户可控的条件图像到视频生成方法
文章DOI:
https://doi.org/10.48550/arXiv.2303.13744 ↗。
CVPR 2023 | 用户可控的条件图像到视频生成方法

1 引言
图像到视频(I2V)生成是计算机视觉领域一个迷人且富有潜力的研究课题。给定一张静态图像 x 0 x_0 x0和一个文本描述 y y y(例如“微笑”),条件图像到视频(cI2V)生成旨在合成出一个符合条件 y y y的新视频 x ^ _ 1 K \hat{x}\_1^K x^_1K。cI2V生成在艺术创作、娱乐产业以及机器学习的数据增广等方面都有巨大的应用前景。但是,cI2V生成面临的核心挑战在于如何同时生成符合图像 x 0 x_0 x0的视觉外观以及符合条件 y y y的时域动态。

2 动机
以往的cI2V生成方法可以分为两大类:直接合成法和无扭曲合成法。
- 直接合成法
- 直接基于图像 x 0 x_0 x0和条件 y y y逐帧生成新的视频帧
- 但是这类方法往往难以同时满足视觉细节的保真和时域连贯性。
- 无扭曲合成法
- 先生成一系列扭曲场或光流,然后根据它们来扭曲或漂移图像 x 0 x_0 x0,从而合成新视频
- 但是它们的扭曲场或光流生成往往依赖额外的监督信息,例如人体姿态。对于只给定图像 x 0 x_0 x0和简单文本条件 y y y的情况,无扭曲合成法效果仍有限。
本文提出一种称为潜在流弥散模型(LFDM)的新型cI2V生成框架,以弥补现有方法的不足。LFDM的核心创新在于,它首先基于条件 y y y在潜在空间中合成一个时域连贯的光流序列,然后用该光流序列来扭曲图像 x 0 x_0 x0,从而生成新视频。这种基于扭曲的生成方式可以更好地利用图像 x 0 x_0 x0所包含的视觉细节,同时满足条件 y y y要求的运动动力学。
3 方法
LFDM的生成流程如图1所示。它包含两个阶段的训练。


3.1 阶段一:潜在光流自动编码器
在阶段一中,我们用无标注视频训练一个潜在光流自动编码器(LFAE)。LFAE 包含编码器 Φ \Phi Φ、光流预测器 F F F和解码器 Ω \Omega Ω三个模块。给定一对来自同一视频的参考帧 x r e f x_{ref} xref和驱动帧 x d r i x_{dri} xdri,编码器 Φ \Phi Φ先把 x r e f x_{ref} xref编码为潜在空间的特征图 z z z,然后 F F F估计 x r e f x_{ref} xref到 x d r i x_{dri} xdri之间的逆向潜在空间光流 f f f。 f f f用于扭曲 z z z得到 z ~ \tilde{z} z~,最后 Ω \Omega Ω解码 z ~ \tilde{z} z~来重建 x d r i x_{dri} xdri。LFAE的训练目标是最小化重建损失。
3.2 阶段二:弥散模型
在阶段二中,我们训练一个基于3D U-Net的弥散模型(DM)来生成时域连贯的潜在光流序列。给定一段训练视频 x 0 K = x 0 , x 1 , . . . , x K x_0^K={x_0,x_1,...,x_K} x0K=x0,x1,...,xK和对应的标签 y y y,我们用阶段一训练好的 F F F来估计 x 0 x_0 x0到每个 x k x_k xk的光流 f k f_k fk。然后这些 f k f_k fk被DM以 y y y和 x 0 x_0 x0为条件,学习生成时域连贯的光流。相比像素空间或潜在特征空间,LFDM的DM只需要学习一个简单的低维光流空间,因此训练更高效。
4 实验和结果
我们在多个人脸表情、人体动作数据集上验证了LFDM的有效性。主要结论如下:
-
LFDM相比现有cI2V生成方法效果更好,可以同时保证视觉质量、时域连贯性和结果多样性。如图2所示,LFDM生成的视频质量明显优于对比方法。
-
LFDM可以轻松适配新域面部视频,只需要微调阶段一的解码器 O m e g a \\Omega Omega(图3)。这得益于LFDM分阶段的训练策略。
-
Ablation study表明,LFDM中DM的潜在光流空间维度低,计算量小,这有助于生成效率的提升(表1)。

图2. 不同方法的生成比较


图3. 微调 O m e g a \\Omega Omega后在新域人脸数据集的生成效果提升
表1. 不同方法的生成时间和空间复杂度比较
| 模型 | 生成一段视频所需时间 | 潜在空间维度 |
|---|---|---|
| VDM | 112.5s | 40×64×64×3 |
| LFDM | 36s | 40×32×32×3 |
5 不足和未来展望
尽管取得了一定进展,LFDM仍存在一些局限:
-
当前仅支持单主体视频生成 。未来可以拓展至包含多个主体的光流预测。
-
输入条件仅为类别标签,期望支持基于文本的控制信号。
-
采样速度相比GAN慢 。可以探索一些快速采样策略以提升生成效率。
6 总结
本文提出了一种新型的基于潜在空间光流扭曲的条件图像到视频生成方法LFDM。
- 它可以高质量地生成符合条件要求的新视频。
- 分阶段的训练策略也使LFDM容易迁移到新域。
- 实验结果表明LFDM优于多种先进对比方法。
- 本文为条件视频生成任务提供了一种新的有效思路。
相关文章:
CVPR 2023 | 用户可控的条件图像到视频生成方法(基于Diffusion)
注1:本文系“计算机视觉/三维重建论文速递”系列之一,致力于简洁清晰完整地介绍、解读计算机视觉,特别是三维重建领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI, IJCV 等)。 本次介绍的论…...
动态规划(基础)
一,背包问题 老规矩,上链接(http://t.csdn.cn/hEwvu) (1)01背包问题 给定一个承重量为C的背包,n个重量分别为w1,w2,...,wn的物品,物品i放入背包能产生pi(>0)的价值(i1,…...
【Pytorch:nn.Embedding】简介以及使用方法:用于生成固定数量的具有指定维度的嵌入向量embedding vector
文章目录 1、nn.Embedding2、使用场景 1、nn.Embedding 首先我们讲解一下关于嵌入向量embedding vector的概念 1)在自然语言处理NLP领域,是将单词、短语或其他文本单位映射到一个固定长度的实数向量空间中。嵌入向量具有较低的维度,通常在几…...
动态库的命名规则
1、动态库的命名规则:libname.so.x.y.z 名字含义lib这是共享库的前缀name共享库名字x主版本号y次版本号z发布版本号 2、每个版本号的含义 版本号含义主版本号表示库的重大升级,不同主版本号的库之间是不兼容的。依赖旧的主版本号的程序需要改动相应的…...
【Linux】网络---->网络理论
网络理论 网络协议分层模型网络数据的封装于分用地址管理 网络协议分层模型 OSI五层模型:应用层,传输层,网络层,数据链路层,物理层 应用层:主要负责应用程序间的沟通,代表协议有HTML协议&#x…...
Android学习之路(4) UI控件之输入框
本节引言: 在本节中,我们来学习第二个很常用的控件EditText(输入框); 和TextView非常类似,最大的区别是:EditText可以接受用户输入! 1.设置默认提示文本 如下图,相信你对于这种用户登录的界面并…...
1.初识Web
文章目录 1. 什么是Web?2.初始Web前端2.1.Web标准 1. 什么是Web? web:全球广域网,也称万维网(www World Wide Web),能够通过浏览器访问的网站。 2.初始Web前端 网页有哪些部分组成? 文字、图片、音频、视频、超链接… 我们看到的网页&am…...
【微服务技术一】Eureka、Nacos、Ribbon(配置管理、注册中心、负载均衡)
微服务技术一 技术栈图一、注册中心Eureka概念:搭建EurekaServer服务注册服务发现(消费者对提供者的远程调用) 二、Ribbon负载均衡负载均衡的原理:LoadBalanced负载均衡的策略:IRule懒加载 三、Nacos注册中心Nacos的安…...
【Linux】可重入函数 volatile关键字 以及SIGCHLD信号
可重入函数 volatile关键字 以及SIGCHLD信号 一、可重入函数1、引入2、可重入函数的判断 二、volatile关键字1、引入2、关于编译器的优化的简单讨论 三、SIGCHLD信号 一、可重入函数 1、引入 我们来先看一个例子来帮助我们理解什么是可重入函数: 假设我们现在要对…...
【动态规划】回文串问题
文章目录 动态规划(回文串问题)1. 回文子串2. 最长回文子串3. 回文串分割 IV4. 分割回文串 ||5. 最长回文子序列6. 让字符串成为回文串的最小插入次数 动态规划(回文串问题) 1. 回文子串 题目链接 状态表示 f[i][j]表示 i 到 j …...
Laravel Swift Mail发送带附件的邮件报错 “Swift_IoException The path cannot be empty“处理
先说下情况,就是我要做一个发送附件的邮件发送功能,结果,报错:The path cannot be empty。给我整的有点迷糊,网上也没有类似的问题。后来,我检查了一下代码,发现有个地方,是需要给附…...
Linux下常见的代理服务器软件介绍
在Linux系统中,代理服务器是我们搭建网络环境和处理网络请求的常用工具。但是,你知道Linux下常见的代理服务器软件有哪些吗?本文将为你带来对几款常见的Linux代理服务器软件的介绍,帮助你选择适合的代理服务器。 一、Squid&#…...
SCSS的基本用法
1、声明变量 $ 声明变量的符号 $ 下面这张图左半部分是scss的语法,右半部分是编译后的css。(整篇文章皆是如此) 2、默认变量 !default sass 的默认变量仅需要在值后面加上 !default 即可。 如果分配给变量的值后面添加了 !default 标志…...
alertmanager创建nginx-ingress basic auth鉴权
步骤 生成密码 printf "admin:$(openssl passwd -crypt xxxxxx)\n" >> auth 创建新的 Kubernetes 密钥 kubectl create secret generic basic-auth --from-file auth -n victoria-metrics 修改 ingress 以使用 secret 中的凭证来实现基本身份验证 编辑 P…...
系列六、Redis中的五大数据类型及相关操作
一、五大数据类型 String类型、List类型、Set类型、ZSet类型、hash类型。 二、String类型 2.1、内存储存模型 2.2、常用操作命令 三、List类型 3.1、概述 list列表,相当于Java中的list集合。特点:元素有序 且 可以重复。 3.2、内存存储模型 3.3、常用…...
四大运营商的大流量卡测评,看完您会选哪个运营商?
很多朋友都说网上的流量卡资费是真的便宜,但是小编认为资费便宜归便宜,但是运营商的小心思也有不少。 今天小编就带大家看一看三大运营商推出的正规流量卡都有哪些小心思? 首先,移动推出的线上大流量卡数量是最少的ÿ…...
Apache-Maven
安装Maven 解压apache-maven到目录下 Maven目录如下 bin:目录中存放的是可执行文件,JAVA项目中的编译执行打包都要使用bin. conf:存放的是Maven的配置文件,本地配置、私服配置都需要在conf下的settings.xml进行配置。 lib下存放的是Maven所…...
什么是原子交换?
安全地在各个区块链网络之间传输资产对于释放被困流动性并吸引更多用户进入这一领域至关重要,同时也保持 Web3 的信任最小化核心价值。原子交换是一种让两个人在不依赖于中介来促成交易的情况下,在不同的区块链网络之间交换通证资产的方式。这为 DeFi 用…...
java springboot word文档转pdf
java springboot word文档转pdf 1、环境2、依赖3、代码 1、环境 1、java、springboot 2、maven或者gradle 3、办公软件(自己电脑上的wps或者office等,如果部署到服务器上也要安装,linux、Mac 都有,自己安装) 可能会遇…...
【Leetcode Sheet】Weekly Practice 2
Leetcode Test 1281 整数的各位积和之差(8.9) 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 提示: 1 < n < 10^5 【原始代码】: int subtractProductAndSum(int n){//1 < n < 10^5//…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
