VidSketch:具有扩散控制的手绘草图驱动视频生成

news/2025/2/27 10:53:38

浙大提出的VidSketch是第一个能够仅通过任意数量的手绘草图和简单的文本提示来生成高质量视频动画的应用程序。该方法训练是在单个 RTX4090 GPU 上进行的,针对每个动作类别使用一个小型、高质量的数据集。VidSketch方法使所有用户都能使用简洁的文本提示和直观的手绘草图轻松创建令人惊叹的高质量视频动画。

上图为VidSketch生成的视频动画。该方法使用手绘草图序列(相应的草图放置在各个帧的左上角,从上到下的示例由 1、2、4 和 6 个草图引导)和简单的文本提示生成视频动画。这使得创建高质量、时空一致的视频动画成为可能,打破了艺术行业的障碍。VidSketch方法使所有技能水平的用户都能使用简洁的文本提示和直观的手绘草图轻松创建令人惊叹的高质量视频动画。

相关链接

  • 论文:http://arxiv.org/abs/2502.01101v1

  • 主页:https://csfufu.github.io/vid_sketch

  • 代码:https://github.com/CSfufu/VidSketch

论文介绍

随着生成式人工智能的进步,先前研究已经实现了从手绘草图生成唯美图像的任务,满足了大众对于绘画的需求。但这些方法局限于静态图像,缺乏对手绘草图生成视频动画的控制能力。

针对这一问题,论文提出的VidSketch是第一个能够直接从任意数量的手绘草图和简单的文本提示生成高质量视频动画的方法,弥合了普通用户和专业艺术家之间的鸿沟。

具体而言,该方法引入了一种基于级别的草图控制策略,在生成过程中自动调整草图的引导强度,以适应具有不同绘画水平的用户。此外,还设计了时间空间注意机制来增强生成的视频动画的时空一致性,显著提高跨帧连贯性。

不同类别的手绘草图

不同风格的 VidSketch

它是如何工作的?

手绘草图驱动的视频生成

VidSketch 的管道。在训练期间使用按类型分类的高质量小规模视频数据集来训练增强型 SparseCausal-Attention (SC-Attention) 和时间注意模块,从而提高视频动画的时空一致性。在推理期间,用户只需输入提示和草图序列即可生成量身定制的高质量动画。具体来说,第一帧是使用 T2I-Adapter 生成的,而整个草图序列由 Inflated T2I-Adapter 处理以提取信息,该信息被注入 VDM 的上采样层以指导视频生成。

训练方法遵循传统的 VDM 框架。首先在互联网上进行了广泛的搜索,为每个动作类别收集了 8-12 个高质量的训练视频。随后为每个动作类别分别训练了 SparseCausal-Attention 和 Temp-Attention 模块。这种策略有效地缓解了高质量视频数据有限的挑战,增强了生成视频的时空一致性和质量。

抽象级草图控制策略

考虑到用户绘画水平的差异性,我们对素描序列的连续性、连通性、纹理细节等进行了细致的量化分析,综合评估素描序列的抽象度,从而在视频生成过程中动态调整控制强度。抽象级素描控制策略的具体实现细节如下图所示。

我们对草图的连通性、连续性和纹理细节进行量化分析,自动评估手绘草图序列的抽象程度。不同抽象程度的草图对应不同的生成控制强度,确保VidSketch能够适应具有绘画技能的用户,从而增强该方法的泛化能力。

增强的SparseCausal-Attention机制

视频动画生成和图像生成任务的主要区别在于需要在视频帧之间保持时空一致性。为了解决视频动画生成的固有挑战,我们提出了一种增强型稀疏因果注意机制。在此机制中,对于视频序列中的每个帧 i,从初始帧和前一帧 (i-1) 中提取键/值 (K/V) 表示。然后使用当前帧 i 的查询 Q 表示来计算注意机制。

该机制在相同条件下有效地保持了帧间的一致性,大大提高了生成的视频动画的质量,更好地满足了高质量视频动画制作的需求。

更多结果


http://www.niftyadmin.cn/n/5869991.html

相关文章

0x01 html和css

css 对于三种css使用方式&#xff1a; 第一种&#xff1a;行内样式 <span style"color: grey;">2024年05月15日 20:07</span>第二种&#xff1a;内部样式 <!DOCTYPE html> <html lang"en"> <head>...<style>span{…

论软件设计模式及其应用-软考

软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代代码可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被开发人员在面向对象软件开发过程中所采用…

python-leetcode-划分字母区间

763. 划分字母区间 - 力扣&#xff08;LeetCode&#xff09; class Solution:def partitionLabels(self, s: str) -> List[int]:last_index {char: idx for idx, char in enumerate(s)}partitions []start end 0for i, char in enumerate(s):end max(end, last_index[c…

8、HTTP/1.0和HTTP/1.1的区别【高频】

第一个是 长连接&#xff1a; HTTP/1.0 默认 短连接&#xff0c;&#xff08;它也可以指定 Connection 首部字段的值为 Keep-Alive实现 长连接&#xff09;而HTTP/1.1 默认支持 长连接&#xff0c;HTTP/1.1是基于 TCP/IP协议的&#xff0c;创建一个TCP连接是需要经过三次握手的…

如何在netlify一键部署静态网站

1. 准备你的项目 确保你的静态网站文件&#xff08;如 HTML、CSS、JavaScript、图片等&#xff09;都在一个文件夹中。通常&#xff0c;项目结构如下&#xff1a; my-static-site/ ├── index.html ├── styles/ │ └── styles.css └── scripts/└── script.js…

前端px转为rem的自适应解决方案

1.前端项目安装&#xff1a;npm install postcss-pxtorem --save-dev 2.在项目根目录下新增postcss.config.js文件&#xff0c;文件内容如下&#xff1a; module.exports {plugins: {postcss-pxtorem: {rootValue: 16, // 1rem 16pxpropList: [*], // 转换所有属性selector…

服务器间迁移conda环境

注意&#xff1a;可使用迁移miniconda文件 or 迁移yaml文件两种方式&#xff0c;推荐前者&#xff0c;基本无bug&#xff01; 一、迁移miniconda文件&#xff1a; 拷贝旧机器的miniconda文件文件到新机器: 内网拷贝&#xff1a;scp -r mazhf192.168.1.233:~/miniconda3 ~/ 外…

支持自动化数据回放

以下是10个支持请求录入与回放能力的免费测试开发平台&#xff0c;均来自GitHub&#xff1a; 1. **Sharingan** GitHub地址&#xff1a;[https://github.com/didi/sharingan](https://github.com/didi/sharingan) 特点&#xff1a;基于Go语言的流量录制回放工具&…