定制化视频生成新模范!零样本主体驱动,精确运动控制!复旦阿里等发布DreamVideo-2

文章链接:https://arxiv.org/pdf/2410.13830
项目链接:https://dreamvideo2.github.io/

亮点直击

  • DreamVideo-2,首个无需微调,同时支持主体定制和运动控制的零样本视频定制框架,能够通过设计的参考注意力学习主体外观,并使用二值mask引导的运动模块实现运动轨迹控制。

  • 识别出DreamVideo-2中运动控制占主导的问题,并通过使用混合mask 增强参考注意力(即mask参考注意力)和设计重加权扩散损失来解决该问题,从而有效平衡了主体学习和运动控制。

  • 构建了一个大型、全面且多样性丰富的视频数据集,以支持零样本视频定制任务。

  • 大量实验结果表明,DreamVideo-2优于现有的先进视频定制方法。

总结速览

解决的问题

现有的视频定制生成方法需要在测试时进行复杂的微调,且难以平衡主体学习与运动控制,限制了其在实际应用中的效果。

提出的方案

提出了DreamVideo-2,一种无需测试时微调的零样本视频定制框架,通过单张图像和一组边界框序列指导视频生成,确保生成视频的特定主体和运动轨迹。

应用的技术

  • 参考注意力机制:利用模型固有的主体学习能力来学习特定主体。

  • mask 引导的运动模块:通过从边界框中提取的二值mask 来精准控制运动。

  • 掩码参考注意力:将混合隐空间mask 建模方案集成到参考注意力中,以增强目标位置的主体表征。

  • 重加权扩散损失:区分边界框内外区域的贡献,确保主体和运动控制的平衡。

达到的效果

在一个新构建的数据集上的大量实验表明,DreamVideo-2在主体定制和运动控制方面均优于现有的先进方法。

方法

给定一个定义主体外观的单个主体图像和一个描述运动轨迹的边界框序列,DreamVideo-2旨在生成包含指定主体和运动轨迹的视频,无需在推理时进行微调或修改,如下图2所示。为了学习主体外观,利用模型的固有能力,并引入了参考注意力。对于运动控制,提出使用mask作为运动控制信号,并设计了 mask 引导运动模块。此外,为了平衡主体学习和运动控制,通过混合 mask (即mask参考注意力)增强参考注意力,并设计了重加权扩散损失。最后,详细介绍了训练、推理和数据集构建过程。

通过参考注意力进行主体学习

对于主体学习,专注于使用单张图像来捕捉外观细节,这虽然具有挑战性,但有助于实际应用。给定单个输入图像,首先对其进行分割以获得主体图像 ,背景为空白,有效地保留了独特的ID特征,同时最小化背景干扰。

为了捕捉主体外观的复杂细节,先前的研究通常使用额外的图像编码器(例如,CLIP,类似ControlNet的编码器,ReferenceNet)来提取图像特征。然而,引入额外的网络往往会增加参数数量和训练成本。在本研究中,发现视频扩散模型本身就能够提取外观特征,从而无需额外模块即可提高训练效率。

为此,引入了参考注意力,利用模型的固有能力提取多尺度主体特征。将主体图像视为单帧视频并将其输入到原始视频扩散模型中,以获得主体注意力特征 ,这是公式(2)中自注意力或交叉注意力的输出。参考注意力通过实施残差交叉注意力将主体注意力特征注入视频注意力特征 :

当 , , 时,、 和 是参考注意力的投影矩阵,并被随机初始化。此外,将参考注意力中输出线性层的权重初始化为零,以保护预训练模型在训练初期不被破坏。

通过mask引导的运动模块实现运动控制

为了便于运动控制,利用边界框作为用户输入来描绘目标的运动轨迹,提供了灵活性和便利性。定义一组边界框输入序列为 ,其中每个边界框 包含其左上角和右下角的坐标。然后,将这些边界框转换为二值mask 序列 ,其中每个mask 的前景像素值为 1,背景像素值为 0。

最终的运动控制信号表示为 ,以便与包含空白背景的主体图像对齐。与以往工作中直接使用轨迹进行训练相比,mask 提供了更强的控制信号,并将目标限制在边界框内,从而提高了训练效率和运动控制精度。

为了从mask 序列中捕获运动信息,设计了一个mask 引导的运动模块,该模块使用一个时空编码器和一个空间 ControlNet,如前面图 2 所示。虽然先前的研究证明了 3D ControlNet 从序列输入中提取控制信息的有效性,但其高昂的训练成本在实际应用中存在潜在缺陷。鉴于mask 序列中简单的时序关系,使用一个轻量级的时空编码器足以提取所需的时序信息。因此,仅在该编码器上附加一个空间 ControlNet 以进一步提高控制精度。时空编码器由重复的二维卷积和非线性层组成,后接两个时序注意力层和一个输出卷积层,如前面图 2 右侧所示。此外,空间 ControlNet 提取多尺度特征,并将其添加到 VDM 解码器块的卷积层输入中。

平衡主体学习与运动控制

虽然上述两个组件已实现其预期功能,根据经验观察到,运动控制往往占主导地位,这可能削弱主体ID保持的质量。如下图 3(b) 所示,模型仅需少量步骤即可学会运动控制,部分说明了在指定位置生成主体相比于学习外观细节更简单。在图 3(c) 中,即使在延长训练步骤的情况下,参考注意力和运动模块的联合训练也仍然使运动控制占主导地位,从而导致主体ID被破坏。相比之下,如图 3(d) 所示,本文的方法通过以下两个关键设计有效平衡了主体学习和运动控制。

mask 参考注意力 为了在所需位置增强主体的ID特征,通过二值mask将混合隐空间mask 建模引入到参考注意力中。具体来说,将二值mask 调整为隐空间masks 以匹配不同层的注意力特征尺寸。然后,为背景(即框外区域)在 中分配相对较低的权重,得到混合masks ,强制模型在特征层面上更多关注主体,减少对背景的关注。

其中, 是mask 中背景的权重。相比使用忽略背景信息的二值masks ,混合masks 可以增强主体在所需位置的特征,同时减少背景失真。最终,mask 参考注意力可以表示为

其中 表示逐元素相乘操作。对于主体学习,冻结所有原始的 UNet 参数,仅训练附加在每个空间 Transformer 块中的mask 参考注意力,如前面图 2 所示。

重加权扩散损失 为了平衡主体学习和运动控制,进一步提出了一种重加权扩散损失,以区分边界框内外区域对标准扩散损失的贡献。具体而言,放大边界框内区域的贡献,以增强主体学习,同时保留边界框外区域的原始扩散损失。设计的重加权扩散损失可以定义为

其中, 是用于调整主体ID增强的损失权重。

训练、推理和数据集构建

训练 从训练视频中随机选择一帧并进行分割,以获得带有空白背景的主体图像,这相比于使用首帧能缓解过拟合。同时,从训练视频的所有帧中提取主体的边界框,并将其转换为mask 作为运动控制信号。在训练过程中,冻结原始的 3D UNet 参数,并根据公式 (6) 联合训练新添加的mask 参考注意力、时空编码器和 ControlNet。

推理 DreamVideo-2 在推理时无需微调,且不需要修改注意力图。用户只需提供主体图像和边界框序列,即可灵活生成包含指定主体和运动轨迹的定制视频。边界框可以从多种信号中获得,包括首帧和末帧的边界框、首帧边界框及运动轨迹,或参考视频。这些信号随后被转换为二值mask作为输入。

数据集构建 为了便于主体和运动控制的零样本视频定制任务,从 WebVid-10M数据集和内部数据中策展了一个包含视频mask 和边界框的单主体视频数据集。注释是使用 Grounding DINO、SAM和 DEVA模型生成的。本文的数据集与之前的数据集的比较见下表 1。目前已处理 230,160 个视频用于训练。

实验

实验设置

数据集 在策展的视频数据集上训练 DreamVideo-2,并通过包含 50 个主体和 36 个边界框的测试集进行评估。主体图像来源于之前的文献和互联网,而边界框来自 DAVIS 数据集中的视频和 FreeTraj 中使用的框。此外,设计了 60 个文本提示用于验证。

实现细节 使用 AdamW优化器对所有模块进行联合训练,学习率为 ,权重衰减设为 0,训练迭代次数为 30,000。训练时设置混合mask 权重 为 0.75,重加权扩散损失权重 为 2。视频的空间分辨率为 448×256,帧数 为 16。总批量大小为 144,基础模型采用 ModelScopeT2V。推理时,使用 50 步 DDIM 和强度9.0的无分类器指导,生成帧率为8fps 的视频。

基线方法 将本文的方法与 DreamVideo和 MotionBooth进行主体定制和运动控制的对比。此外,还与 DreamVideo 和 VideoBooth进行独立的主体定制对比,并与 Peekaboo、Direct-a-Video和 MotionCtrl进行运动轨迹控制的对比。

评估指标 通过 9 个指标评估方法,重点关注三个方面:总体一致性、主体保真度和运动控制精度。

  • 对于总体一致性,使用 CLIP 图文相似性 (CLIP-T)、时序一致性 (T. Cons.) 和动态程度 (DD) 进行评估,DD 使用光流来测量运动动态。

  • 对于主体保真度,引入了四个指标:CLIP 图像相似性 (CLIP-I)、DINO 图像相似性 (DINO-I)、区域 CLIP-I (R-CLIP) 和区域 DINO-I (R-DINO)。R-CLIP 和 R-DINO 计算主体图像与边界框定义的帧区域之间的相似性。

  • 对于运动控制精度,使用平均交并比 (mIoU) 和质心距离 (CD) 指标 。CD 计算生成的主体质心与目标边界框之间的归一化距离。使用 Grounding-DINO 来预测生成视频的边界框。

主要结果

主体定制和运动控制的联合 对比了本文的方法与基线方法生成带有指定主体和运动轨迹视频的质量,结果如下图 4 所示。观察到,DreamVideo 和 MotionBooth 难以在主体保留和运动控制之间取得平衡,尤其是在训练单一主体图像时。主体与运动的控制强度不平衡影响了它们的表现,导致在增强某一方面时损害了另一方面的效果。相较之下,DreamVideo-2 能够在各种上下文中和谐地生成带有期望主体外观和运动轨迹的定制视频。此外,本文的方法有效地将主体限制在边界框内,更好地符合用户的偏好,增强了其在实际应用中的适用性。

定量比较结果 如下表 2 所示。DreamVideo-2 在文本对齐、主体保真度和运动控制精度方面始终优于所有基线方法,同时在时序一致性上也达到了可比的表现。值得注意的是,本文的方法在 mIoU 和 CD 指标上显著超越了基线方法,验证了在运动控制方面的稳健性。相比之下,DreamVideo 在 CLIP-I 和 DINO-I 指标上表现第二优,但在 mIoU 和 CD 上较弱,表明其在主体ID保留方面具有优势,但在运动控制方面存在局限性。MotionBooth 由于对整个模型进行了微调,CLIP-T 得分最低,但在 mIoU 和 CD 指标上比 DreamVideo 更好,表明使用显式运动控制信号(例如边界框)可能比从参考视频学习更为有效。

主体定制 还评估了独立的主体定制能力。下图 5 展示了定性比较结果。观察到,VideoBooth 对于其训练数据中未包含的主体表现出有限的泛化能力,而 DreamVideo 在单张图像训练时未能捕捉到外观细节。相反,当在与 VideoBooth 相同的数据集上训练时,DreamVideo-2 结合参考注意力和重加权扩散损失,可以生成符合文本提示的目标主体视频。

表 3 的定量比较结果显示,尽管 DreamVideo-2 在 CLIP-I 和时序一致性上保持相当的表现,但它在 CLIP-T、DINO-I 和动态程度上取得了最高分,验证了本文的方法在文本对齐、主体保真度和运动动态方面的优越性。

运动控制 除了主体定制之外,还评估了运动控制能力,如图 6 所示。结果表明,所有基线方法在准确控制主体按边界框定义的运动方面都存在困难。同时,Direct-a-Video 可能会因修改注意力图值而导致生成的物体外观损坏。相比之下,仅使用运动编码器的 DreamVideo-2 能够实现精确的运动控制,并有效地确保主体保持在边界框内,展示了稳健的控制能力。

如下表 4 所示,尽管与 MotionCtrl 相比在时序一致性(T. Cons.)上略低,本文的方法在 CLIP-T 上取得最高得分,并且在 mIoU 和 CD 指标上大幅超越基线方法。

用户研究 为进一步评估 DreamVideo-2,进行了用户研究,邀请 15 名标注员对三种方法生成的 300 组视频进行评分。每组包含 3 个生成的视频、一个主体图像、文本提示和对应的边界框。根据文本对齐度、主体保真度、运动对齐度和总体质量四个方面进行评估,并通过多数投票得出结果。下图 7 显示,用户在四个方面均更偏好本文的方法。

消融实验

各组件的效果 本文进行了消融实验以探究各组件的效果,如下图 8(a) 所示。观察到,去除mask 机制或重加权扩散损失后,主体ID的质量因运动控制的主导性而下降。虽然在mask 参考注意中使用二值mask 有助于保留主体ID,但由于忽略了注意力中的背景信息,往往导致背景模糊、视频质量低下。值得注意的是,在没有运动编码器的情况下,mask 参考注意力仍然能够实现粗略的轨迹控制。

下表 5 的定量结果表明,去除mask 机制、运动编码器或重加权扩散损失后,所有指标的性能均会下降。这证实了各组件对整体性能的贡献;

混合mask 权重 的效果 为确定最佳混合mask 权重 ,对其值进行调整并测量其影响。如上图 8(b) 所示,使用 = 1 会导致主体ID退化,而 = 0 则会导致背景模糊。此外,观察到增加 可以提高视频质量。为平衡主体ID与视频质量,最终选择 = 0.75。

表 5 显示了定量结果。 会导致 CLIP-T 得分最低但 mIoU 最高。较小的 λM 可以增强位置信息但会抑制背景,从而提高控制精度但降低视频质量。此外,结果表明使用混合mask 在主体保真度方面始终优于不使用,突显其有效性。

结论

本文提出了 DreamVideo-2,这是一种创新的零样本视频定制框架,能够生成具有特定主体和运动轨迹的视频。引入了参考注意力用于主体学习,并设计了mask 引导的运动模块以实现运动控制。针对 DreamVideo-2 中运动控制主导性的问题,在参考注意力中引入了混合mask 并设计了重加权扩散损失,从而有效地平衡了主体学习和运动控制。大量实验结果表明,DreamVideo-2 在主体定制和运动轨迹控制方面均具有优势。

局限性 尽管本文的方法能够定制单个主体与单一轨迹,但在生成包含多个主体和多重轨迹的视频时仍存在不足。一种解决方案是构建更为多样化的数据集并训练通用模型。

参考文献

[1] DreamVideo-2: Zero-Shot Subject-Driven Video Customization with Precise Motion Control

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

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

相关文章

mockito+junit完成单元测试

一:单元测试的特点 配合断言使用(可以杜绝System.out)可以重复执行不依赖环境不会对数据产生影响spring的上下文环境不是必须的一般都需要配合mock类框架来实现 二:常用的mock类框架 mockito 官网:Mockito framew…

【LeetCode:153. 寻找旋转排序数组中的最小值 + 二分】

在这里插入代码片 🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕…

【Python系列】poetry安装与使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

linux之网络子系统- TCP连接的开销,主要是内存的开销

一、相关实际问题 内核是如何管理内存的如何查看内核使用的内存信息服务器上一条ESTABLISH状态的空连接需要消耗多少内存机器上出现了3万多个TIME_WAIT,内存开销会不会很大 二、Linux内核如何管理内存 内核针对自己的应用场景,使用了一种叫做SLAB/SLU…

第三十四篇:URL和URI的区别,HTTP系列一

前面我们讲到通过TCP协议通信双方建立可靠连接,那么此时双方进行通信,需要用人能理解的形式进行信息组织,也就是为各种特定需求服务,满足日常生活中的各种场景。 比如:网页浏览、电子邮件、远程登录、文件传输、网络管…

4499元起!苹果发布新款Mac mini:升级M4/M4 Pro 仅手掌大小

10月30日消息,今晚不仅是小米发布了重磅旗舰,苹果也带来了重磅升级后的新款Mac mini。 目前已经上架官网,采用全新外观设计,仅仅只有手掌大小,可以直接托在手心,不过厚度相对增加了一些,具体尺寸…

Golang | Leetcode Golang题解之第522题最长特殊序列II

题目: 题解: func isSubseq(s, t string) bool {ptS : 0for ptT : range t {if s[ptS] t[ptT] {if ptS; ptS len(s) {return true}}}return false }func findLUSlength(strs []string) int {ans : -1 next:for i, s : range strs {for j, t : range s…

b站小土堆PyTorch视频学习笔记(CIFAR10数据集分类实例)

1、准备数据集并查看数据集长度 train_data torchvision.datasets.CIFAR10(root"./data", trainTrue, transformtorchvision.transforms.ToTensor(), downloadTrue) test_data torchvision.datasets.CIFAR10(root"./data", trainFalse, transformtorch…

ESP8266 连接 MQTT 服务器EMQX 连接MQTTX

目录 1.先用有一台自己的云服务器 2. 使用FinalShell连接阿里云云服务器ECS 3.安装宝塔 4.在云服务器打开8888端口 5.使用外网面板地址打开宝塔面板 6.安装Docker 7.下载emqx 8.打开emqxWeb 界面 9.下载MQTTX 10.EMQX加一个客户端 11.开始通信 12.加入单片机ESP8266 …

开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库

文章目录 前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名 7. 测试访问二级子域名 前言 本文主要介绍如何在Linux CentOS8 中搭建GitLab私有仓库并且结合内网穿透工具实现在公网…

【1个月速成Java】基于Android平台开发个人记账app学习日记——第4天,注册登录功能设计

24.11.03 1.修改项目目录 从今天开始将正式进行功能的设计,首先需要对原来的项目结构进行修改,主要是添加新的文件夹用于存放新的文件。下面进行展示和讲解: 我用红圈圈出了新添加的文件夹,介绍下它们都是干啥的: da…

论文 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES

1. 背景信息 在信息检索领域,传统的方法往往依赖于大量的标注数据来训练模型,以便在各种任务中表现良好。然而,许多实际应用中的监督数据是有限的,尤其是在不同的检索任务中。最近的研究开始关注如何从一个拥有丰富监督数据的任务…

IDEA 取消参数名称提示、IDEA如何去掉变量类型提醒

解决办法 1.File—>Setting–>Editor—>Inlay Hints—>Parameter names—> Java—>Parameters with names that are cont 取消勾选,点击Apply 2.File—>Setting–>Editor—>Inlay Hints—>Parameter names—> Java—>‘New’…

three.js 智慧城市扫光效果

城市扫光效果在线预览 import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js import { GLTFLoader } from three/examples/jsm/loaders/GLTFLoader.js import { DRACOLoader } from three/examples/jsm/loaders/DRACOLoa…

vscode插件-08 Golang

文章目录 Go安装其他必须软件 Go Go语言环境,只需安装这一个插件。然后通过vscode命令下载安装其他go环境需要的内容。 程序调试,需要创建.vscode文件夹并编写launch.json文件。 安装其他必须软件 ctrlshiftp,调出命令面板,输入…

开源一款前后端分离的企业级网站内容管理系统,支持站群管理、多平台静态化,多语言、全文检索的源码

大家好,我是一颗甜苞谷,今天分享一款前后端分离的企业级网站内容管理系统,支持站群管理、多平台静态化,多语言、全文检索的源码。 前言 在当今的数字化时代,企业网站和个人博客已成为信息传播和品牌建设的重要渠道。…

数字身份发展趋势前瞻:去中心化身份

去中心化身份(Decentralized Identity,DID)是数字身份管理领域的一个重要的发展趋势。通过区块链和分布式账本技术(DLT),去中心化身份赋予用户更多对其个人信息的控制权,同时减少对传统中心化认…

ELK-01-kibana安装

文章目录 前言一、下载解压二、修改配置三、启动四、浏览器打开网页总结 前言 elasticsearch安装请参考:https://blog.csdn.net/smdai/article/details/142461237 kibana文档:https://github.com/elastic/kibana/tree/v8.15.1 kibana下载:ht…

SpringMvc参数传递

首先对于post请求汉字乱码需要进行过滤器配置 普通参数传递 直接传递 客户端传递的属性名与我的bean中的函数参数名相同 映射传递RequestParam("XXX") 在我们方法参数中定义一个与客户端属性名一致 并绑定参数 POJO实体类传递 嵌套POJO传递 数组likes参数传递…

IDEA切换窗口快捷键失效

问题描述: 在idea中,如果切换窗口的快捷键(Alt Tab)失效了,可以通过清除缓存的方式修复