总结目前开源的视频生成/视频编辑大模型

Diffusion Models视频生成-博客汇总

前言:随着Sora的爆火,视频生成和视频编辑受到了越来越多的关注。这篇博客总结一下目前开源的视频生成和视频编辑的大模型,并分析他们各自的优缺点,以及在自己进行科研任务或者工作中应该如何选用对应的开源模型,希望能给从事这一领域研究和使用的小伙伴们帮助。

目录

Open-Sora Plan

因果视频VAE

模型结构

训练细节

推理技巧

数据构建

Stable Video Diffusion

Open-Sora

ModelScope T2V

AnimateDiff

VideoCraft

VideoComposer

DynamiCrafter


Open-Sora Plan

https://github.com/PKU-YuanGroup/Open-Sora-Plan/tree/main

相比之前的视频生成模型,Open-Sora-Plan v1.0.0 有以下的改进:

  1. CausalVideoVAE 高效的训练与推理。用 4×8×8 的对视频进行时间和空间的压缩。
  2. 图片视频联合训练提升质量。 CasualVideoVAE 视觉将首帧图像,天然支持同时编码图像和视频。这允许扩散模型提取更多时空细节来提高质量。

Open-Sora-Plan v1.0.0支持图片视频联合训练。

因果视频VAE

模型结构

因果VAE架构继承了稳定扩散图像VAE。为了保证图片VAE的预训练权重可以无缝应用到视频VAE中,模型结构采取如下设计:

  1. CausalConv3D : 将Conv2D 转变成CausalConv3D 可以实现图片和视频的联合训练。 CausalConv3D 对第一帧进行特殊处理,因为它无法访问后续帧。更多细节,请参考#145

  2. 初始化:将Conv2D初始化Conv3D常用的方法有两种:平均初始化和中心初始化。但是我们采用了特定的初始化方法(尾部初始化)。这种初始化方法确保模型不需要训练任何就能够直接重建图像,甚至视频。

训练细节

我们展示了17×256×256下两种不同初始化方法的损失曲线。黄色曲线代表使用尾部初始化的损失,而蓝色曲线对应中心初始化的损失。如图所示,尾部初始化在损失曲线上表现出来更好的性能。此外,我们发现中心初始化会导致错误累积,导致长时间内崩溃。

推理技巧

尽管训练Diffusion中VAE始终是冻结的,我们仍然无法负载CasualVideoVAE的花销。在我们的实验中,80G的显着只存能够在半精度下推理一个256×512×512或32×1024×1024的视频,这限制了我们划分更长更高清的视频。因此我们采用平铺卷积,能够以几乎恒定的内存推理无论何时长或无论分辨率的视频。

数据构建

我们定义高质量的视频数据集包括两个核心原则:(1) 不与内容无关的水印。(2) 高质量的文本注释。

对于法则1,我们从开源网站(CC0协议)爬取了大约40k视频:1234个来自mixkit,7408个来自pexels,31616个来自pixabay。我们根据Panda70M提供的场景转换剪切脚本将这些视频大概差不多434k 视频剪辑。事实上,根据我们的剪切结果,从这些网上爬取的 99% 的视频都是单一的场景。此外,我们发现爬取的数据中超过 60% 为风景相关视频。更多细节可以在这里找到。

对于2,很难有大量的高质量的文本注释能够从网上直接抓取因此。我们用成熟的图片标注模型来获取高质量的稠密描述。我们对2个多模态大模型进行消融实验:ShareGPT4V-Captioner-7B和LLaVA-1.6-34B。原先是专门用于制作文本注释的模型实验,而晚上是一个通用的多模态大模型。在我们的消融之后,他们在标题中的表现大约。但是他们推理速度在A800上差距很大:ShareGPT4V-Captioner-7B的批量大小为12的40s/it,ShareGPT4V-Captioner-7B的批量大小为1的15s/it。我们开源所有的文本注释和原视频。

Stable Video Diffusion

https://github.com/Stability-AI/generative-models

我们提出了Stable Video Diffusion——一种用于高分辨率、最先进的文本到视频和图像到视频生成的潜在视频扩散模型。最近,通过插入时间层并在小型、高质量的视频数据集上微调它们,将训练用于 2D 图像合成的潜在扩散模型转化为生成视频模型。然而,文献中的训练方法差异很大,该领域尚未同意 cu-* 同等贡献的统一策略。评级视频数据。在本文中,我们确定并评估了三种不同的阶段,以成功训练视频ldm:文本到图像预训练、视频预训练和高质量的视频微调。此外,我们展示了精心策划的预训练数据集生成高质量视频的必要性,并提出了一个系统管理过程来训练一个强大的基础模型,包括字幕和过滤策略。然后,我们探讨了微调基础模型对高质量数据的影响,并训练了一个与闭源视频生成竞争的文本到视频模型。我们还表明,我们的 base1 模型为下游任务提供了强大的运动表示,例如图像到视频生成以及对相机运动特定 LoRA 模块的适应性。最后,我们证明了我们的模型提供了强大的多视图 3D 先验,可以作为微调多视图扩散模型的基础,该模型以前馈方式联合生成对象的多个视图,在其计算预算的一小部分上优于基于图像的方法。

Open-Sora

https://github.com/hpcaitech/Open-Sora

Open-Sora项目是一项致力于高效制作高质量视频,并使所有人都能使用其模型、工具和内容的计划。 通过采用开源原则,Open-Sora 不仅实现了先进视频生成技术的低成本普及,还提供了一个精简且用户友好的方案,简化了视频制作的复杂性。 通过 Open-Sora,我们希望更多开发者一起探索内容创作领域的创新、创造和包容。

ModelScope T2V

GitHub - modelscope/modelscope: ModelScope: bring the notion of Model-as-a-Service to life.

ModelScopeT2V集成了时空块,以确保一致的帧生成和平滑的运动转换。该模型可以适应训练和推理过程中不同帧数的变化,使其适用于图像文本和视频文本数据集。ModelScopeT2V集合了三个组件(即VQGAN、文本编码器和去噪UNet),总共包含17亿个参数,其中5亿个参数专用于时间能力。该模型在三个评估指标上展示了优于最先进方法的性能。

AnimateDiff

https://github.com/guoyww/AnimateDiff

随着文本到图像模型(如Stable Diffusion)和相应的个性化技术(如LoRA和DreamBooth)的发展,每个人都可以以可承受的成本将自己的想象力表现为高质量的图像。因此,对图像动画技术有很大的需求,以进一步将生成的静止图像与运动动力学相结合。在这个项目中,我们提出了一个有效的框架来一次性地对大多数现有的个性化文本到图像模型进行动画处理,从而节省了特定于模型的调优工作。

提出的框架的核心是将新初始化的运动建模模块附加到基于冻结的文本到图像模型中,然后在视频剪辑上对其进行训练,以提取合理的运动。一旦训练,通过简单地注入这个运动建模模块,所有的个性化版本派生自同一基础一个很容易成为文本驱动模型,产生多样化和个性化的动画图像。

VideoCraft

https://github.com/VideoCrafter/VideoCrafter

VideoCrafter是一个用于制作视频内容的开源视频生成和编辑工具箱。它目前包括Text2Video和Image2Video模型

VideoComposer

https://github.com/ali-vilab/videocomposer

对可控性的追求作为视觉内容创作的更高标准,在可定制图像合成方面取得了显著进展。然而,由于时间动态的巨大变化和跨帧时间一致性的要求,实现可控视频合成仍然是一个挑战。基于合成生成的范例,这项工作提出了VideoCompoer,它允许用户灵活地使用文本条件、空间条件和更重要的时间条件来合成视频。具体来说,考虑到视频数据的特点,我们引入压缩视频的运动矢量作为明确的控制信号,为时间动态提供指导。此外,我们开发了一个时空条件编码器(STC-encoder),作为一个统一的接口,有效地结合时序输入的空间和时间关系,使模型能够更好地利用时间条件,从而实现更高的帧间一致性。大量的实验结果表明,VideoCompoer能够以各种形式同时控制合成视频中的空间和时间模式,例如文本描述、草图序列、参考视频,甚至是简单的手工制作动作。代码和模型将公开提供。

DynamiCrafter

https://github.com/Doubiiu/DynamiCrafter

动画的静态图像提供了一个引人入胜的视觉体验。传统的图像动画技术主要集中在用随机动力学(例如云和流体)或特定领域的运动(例如人的头发或身体运动)来动画自然场景,因此限制了它们对更一般的视觉内容的适用性。为了克服这一限制,我们探索了开放域图像的动态内容合成,将其转换为动画视频。关键思想是通过将图像纳入生成过程作为指导,利用文本到视频扩散模型的运动先验。给定图像,我们首先使用查询转换器将其投影到与文本对齐的富上下文表示空间中,这有助于视频模型以兼容的方式消化图像内容。然而,一些视觉细节仍然难以在最终的视频中保留下来。为了补充更精确的图像信息,我们进一步通过将完整图像与初始噪声连接起来,将其输入扩散模型。实验结果表明,该方法可以产生视觉上令人信服的、更符合逻辑和自然的运动,并且与输入图像的符合性更高。对比评估表明,我们的方法明显优于现有的竞争对手。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 5月16日,星期四

每天一分钟,知晓天下事! 2024年5月16日 星期四 农历四月初九 1、 移民管理局:即日起,全面实施外国旅游团乘坐邮轮入境免签政策。 2、 教育部:拟同意设置康复大学等24所本科高等学校。 3、 催收指引出炉:…

MySQL第一次作业(基本操作)

目录 一、登陆数据库 二、创建数据库zoo 三、修改数据库zoo字符集为gbk 四、选择当前数据库为zoo 五、查看创建数据库zoo信息 六、删除数据库zoo 一、登陆数据库 指令: mysql -u root -p 二、创建数据库zoo 指令: create database zoo; 三、修改数…

电感式传感器

电感传感器是基于电磁感应原理,将被测非电量(如位移、压力、振动等)转换为电感量变化的一种结构性传感器。利用自感原理的有自感式传感器(可变磁阻式),利用互感原理的有互感式(差动变压器式和涡…

怎么做微信预约链接_微信预约新风尚

在快节奏的现代生活中,我们都渴望找到一种既方便又高效的方式来处理日常事务。无论是预约看病、预约美容,还是预约一场心仪的讲座或活动,我们都希望能够一键搞定,省时省力。今天,就让我来为大家揭秘如何制作一个微信预…

软考--软件设计师--试题六--工厂方法模式(Factory Method)

工厂方法模式(Factory Method) 1、意图 定义一个用于创建对象的接口,让子类决定实例化哪儿一个类,factory method使一个类的实例化延迟到其子类。 2、结构 3、适用性 a、当一个类不知道它所必须创建的对象的类的时候。 b、当一个类希望由它的子类来指定…

[Cocos Creator 3.5赛车游戏] 第二节 环境准备

所有教程都避不开环境准备,下面您将要安装好您将会用到的Cocos DashBoard和VS Code,步骤如下: 一.安装Cocos DashBoard: 如果直接百度里输入“Cocos DashBoard 下载”,得到的结果没有一个是有用的,所以还是要自己去官…

FileLink如何实现金融行业跨网文件传输

在金融行业,跨网文件传输一直是一个备受关注的问题。由于金融数据的敏感性和重要性,如何确保文件在传输过程中的安全性、稳定性和合规性成为了金融机构急需解决的难题。而FileLink作为一款跨网文件交换系统,凭借其强大的功能和优势&#xff0…

KCNScrew Pack for mac v1.8(2024.05.15)激活版 序列号查询软件

KCNScrew Pack是一款Mac序列号查询软件,内置强大的序列号数据库。软件包含数千款软件序列号,基本上大多数常用软件你都可以找到相应的序列号。 KCNScrew Pack for mac v1.8(2024.05.15)激活版 序列号查询软件 主界面 打开KCNScrew可以看到如下的主界面&…

【前端】利用canvas实现图片压缩(附demo源码)

简言 记录下使用canvas来压缩图片的实现方式。 图片压缩 有的时候会遇到图片压缩的场景,我们可以使用canvas重新绘制图片,然后利用canvas的toDataURL()API导出base64数据实现图片压缩。 canvas图片压缩原理: canvas重新绘制图片可以控制绘…

MySQL创建存储过程函数(2)

DDL CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT COMMENT 学号,createDate datetime DEFAULT NULL,userName varchar(20) DEFAULT NULL,pwd varchar(36) DEFAULT NULL,phone varchar(11) DEFAULT NULL,age tinyint(3) DEFAULT NULL,sex char(2) DEFAULT NULL,i…

Java | Leetcode Java题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution {public ListNode partition(ListNode head, int x) {ListNode small new ListNode(0);ListNode smallHead small;ListNode large new ListNode(0);ListNode largeHead large;while (head ! null) {if (head.val < x…

mysql8.0(安装含踩坑内容)

下载 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 上传 文件包移动到/usr/local/ cp mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz /usr/local/ 解压 tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 重命名 mv …