Unet已死,Transformer当立!详细解读基于DiT的开源视频生成大模型EasyAnimate

news2024/11/26 12:20:28

Diffusion Models视频生成-博客汇总

前言:最近阿里云PIA团队开源了基于Diffusion Transformer结构的视频生成模型EasyAnimate,并且提出了专门针对视频的slice VAE,对于目前基于Unet结构的视频生成最好如SVD形成了降维打击,不论是生成质量、生成时长上都是遥遥领先。这篇博客详细解读一下EasyAnimate的技术报告《EasyAnimate: A High-Performance Long Video Generation Method based on Transformer Architecture》

目录

贡献概述

模型结构

Video VAE

Video DiT结构

三阶段训练

DiT训练

数据集清洗策略

视频分割

视频过滤

视频字幕

效果试用

个人感悟


贡献概述

EasyAnimate是一种用于视频生成的高级方法,它利用 Transformer 架构的力量来实现高性能结果。作者通过扩展了最初设计用于 2D 图像合成的 DiT 框架,通过结合运动模块块来适应 3D 视频生成的复杂性。它用于捕获时间动态,从而确保产生一致的帧和无缝的运动转换。运动模块可以适应各种 DiT 基线方法来生成具有不同风格的视频。它还可以在训练和推理阶段生成具有不同帧速率和分辨率的视频,适用于图像和视频。

模型结构

Video VAE

传统的基于图像的 VAE 的一个显着限制是它不能跨时间维度压缩。因此,细微的帧间时间关系仍未捕获,结果潜在特征很大,导致CUDA内存需求激增。这些挑战极大地阻碍了这种方法在创建长视频方面的实用性。一个主要的挑战在于有效地压缩视频编码器和解码器中的时间维度。

作者使用了MagViT,在MagViT的基础上引入切片机制,提出了Slice VAE。

MagViT采用因果 3D 卷积块。该块在使用 vanilla 3D 卷积之前以先前时间的方式沿时间轴引入填充,从而确保帧利用先验信息来增强时间因果关系,同时保持不受后续帧的影响。尽管 MagViT 对视频编码和解码的复杂方法,但它在训练极其冗长的视频序列时面临挑战,这主要是由于内存限制。具体来说,所需的内存甚至经常超过 A100 GPU 可用的内存,使得大型视频的一步解码(例如 1024x1024x40)是不可行的。所以不能尝试一步解码整个序列,需要切片后批量处理。

为了批处理视频序列,作者首先沿空间维度尝试了切片机制。然而,这导致了不同批次之间的轻微照明不一致。随后,我们转移到沿时间维度切片。通过这种方法,将一组视频帧分成几个部分,每个部分分别编码和解码,如图2(a)所示。尽管如此,不同批次的信息分布是不相等的。例如,由于MagViT中的前向填充过程,第一个批次包含一个真实特征和额外的填充特征,包含的信息较少。这种不均匀的信息分布是一个可能阻碍模型优化的独特方面。此外,这种批处理策略还会影响处理过程中视频的压缩率。或者,我们实现了不同批次的特征共享,如图 2(b) 所示。在解码过程中,特征与其前后特征(如果有)连接,从而产生更一致的特征并实现更高的压缩率。这涉及通过 SpatialTemporalDownBlock(编码器中标记为浅橙色)压缩特征,针对空间和时间维度。这样,编码的特征封装了时间信息,这反过来又保留了计算资源,同时提高了生成结果的质量。

Video DiT结构

主要有两点改进:在PixArt-α的基础上加了运动模块,并用了UViT连接增强稳定性。

运动模块设计:运动模块来利用嵌入在帧长度内的时间信息,通过将注意力机制整合到时间维度上,该模型获得了同化这种时间数据的能力,这对于生成视频运动至关重要。采用网格重塑操作来增强注意力机制的输入标记池,从而增强图像中存在的空间细节的利用率,最终导致生成性能优越。经过训练的运动模块可以适应各种DiT基线模型,以生成不同风格的视频。

UViT:在训练过程中,作者观察到深度 DITs 往往不稳定,正如模型的损失表现出从 0.05 增加到 0.2 所证明的那样,最终增加到 1.0。为了追求通过 DIT 层反向传播期间增强模型优化过程和反转梯度崩溃,我们使用相应变换器块之间的长跳跃连接,这对于基于 UNet 框架的稳定扩散模型是有效的。为了在现有的扩散变压器体系结构中无缝地集成这种修改,而不需要进行全面的再训练,我们用零填充权值初始化几个完全连接的层(图3(c)中的灰色块)。

三阶段训练

DiT 分为三个阶段进行训练:第一阶段,对新训练的 VAE 进行图像训练。第二阶段,运动模块在大规模数据集上进行训练以生成视频。第三阶段,整个 DiT 网络受益于使用高分辨率视频和图像进行训练。

DiT训练

DiT训练同样分成三个阶段:

  • 第一阶段,使用图像数据将 DiT 参数与该 VAE 对齐开始。
  • 第二阶段,使用大规模视频数据集和图像数据对运动模块预训练。
  • 第三阶段,使用高质量的视频数据细化整个 DiT 模型以提高其生成性能。该模型是从较低到较高分辨率逐步缩放的,这是保存GPU内存和减少计算时间的有效策略。

数据集清洗策略

使用大约1200万张图像和视频数据来训练视频VAE模型和DiT模型。

视频分割

对于较长的视频分割,我们最初使用PySceneDetect。为了识别视频中的场景变化,并基于这些转换执行场景切割,以确保视频片段的主题一致性。切割后,我们只保留那些长度在 3 到 10 秒之间进行模型训练的片段。

视频过滤

过滤掉运动分数异常、包含字幕和美学评分低的片段。

视频字幕

VideoChat2和VILA对视频打上字幕。

效果试用

很尴尬呀,传不上来,总之效果挺不错的。

个人感悟

1、效果上比Sora放出来的Demo是要差不少的,但是比Open-Sora要好一些,重点是比SVD强不少。

2、感觉基于DiT结构确实好用啊,估计还会有更多开源的作品出来,期待一波。

3、好的模型赶紧用来搞新业务搞新论文,鸡冻,冲鸭!

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

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

相关文章

快消品经销商的仓库管理,有哪些是必须注意的事项?

快消品经销商仓库管理是一个复杂而关键的过程,它涉及到产品的存储、保管、发货以及库存控制等多个环节。一个高效的仓库管理系统不仅有助于减少成本,提高运营效率,还能确保产品质量和满足客户需求。以下是一些快消品经销商在仓库管理过程中需…

JDBC之API(DriverManager)详解

之前在 JDBC 的快速入门写代码的时候,遇到了很多的API。这篇博客主要学习一些API。 目录 一、API(介绍) 二、JDBC之API——DriverManager (1)DriverManager (获取 Connection 的连接对象) 1、…

玩转热门游戏,选对系统是关键!游戏专用电脑系统在这里!

如果我们给电脑安装上游戏专用系统,那么就能体验到更加流畅、稳定的游戏运行环境,享受沉浸式的游戏体验。但是,许多新手用户不知道去哪里才能下载到玩游戏专用的电脑系统?接下来小编给大家分享玩游戏专用电脑系统,这些…

Windows应急响应靶机 - Web2

一、靶机介绍 应急响应靶机训练-Web2 前景需要:小李在某单位驻场值守,深夜12点,甲方已经回家了,小李刚偷偷摸鱼后,发现安全设备有告警,于是立刻停掉了机器开始排查。 这是他的服务器系统,请你…

【YOLOv5/v7改进系列】引入特征融合网络——ASFYOLO

一、导言 ASF-YOLO结合空间和尺度特征以实现精确且快速的细胞实例分割。在YOLO分割框架的基础上,通过引入尺度序列特征融合(SSFF)模块来增强网络的多尺度信息提取能力,并利用三重特征编码器(TFE)模块融合不同尺度的特征图以增加细节信息。此外&#xff…

尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】

视频地址:一套上手ClickHouse-OLAP分析引擎,囊括Prometheus与Grafana_哔哩哔哩_bilibili 01_尚硅谷大数据技术之ClickHouse入门V1.0 尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】尚硅谷大数据技术ClickHouse教程-笔记02【表引…

前端基础操作1——利用nvm任意切换(管理)node版本

在实际前端项目开发过程中,同时开发多个项目或者切换新项目时,因为node版本问题造成项目无法运行的问题比比皆是,这时候通过nvm管理切换不同版本的node,就能很快进入开发模式,避免因为环境问题浪费大量精力&#xff0c…

太爱这种数据可视化效果,零售行业的都看过来

在当今数字化浪潮下,数据可视化已成为零售行业洞察市场趋势、优化运营决策的关键技术。奥威BI零售数据分析方案凭借其卓越的数据可视化效果,成为零售企业的得力助手。接下来就通过BI节假日分析报表来简单地感受一下。 注:该BI节假日分析报表…

ArcGIS消除碎图斑

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 这次是上次 我们经常在相交、标识、更新等操作后或者是栅格转矢量可能存在很多的细碎图斑&#…

反激开关电源输出整流二极管选型及计算

1、电压 输出整流二极管电压应力:VoutVin/n尖峰电压余量5373/14.22010(选60V左右的二极管) 通常为了降低电压尖峰,需要在二极管上加RC吸收,来降低尖峰 2、电流 整流二极管的电流也是需要根据变压器输出绕组的峰值电流来…

深度学习500问——Chapter12:网络搭建及训练(3)

文章目录 12.3.5 Caffe有哪些接口 12.4 网络搭建有什么原则 12.4.1 新手原则 12.4.2 深度优先原则 12.4.3 卷积核size一般为奇数 12.4.4 卷积核不是越大越好 12.5 有哪些经典的网络模型值得我们去学习的 12.6 网络训练有哪些技巧 12.6.1 合适的数据集 12.6.2 合适的预…

console.log日志展示

console.log日志展示 1.特定颜色打印 console.log("%caaa","color:#1e80ff") 解释:重点就是%c和color。

IDEA2023中使用run Dashboard面板?实现批量运行微服务

1、直接点击Add service--->Run Configuration Type---->Spring Boot 2、这样就出现了run Dashboard面板,可同时运行多个工程模块,shift选中所有启动类组命名(Group Configurations) 3、启动所有的项目

linux分区

挂载只改变数据存储的分区位置,不改变文件系统的目录结构,无论怎么挂载linux系统的分区仍然是/根分区和其子目录/opt、/etc、/home等等 临时挂载 添加新磁盘模拟新设备接入,无论使用什么虚拟机都可以 重启电脑reboot,执行lsblk&a…

RestTemple请求GET接口403

问题描述 使用oss接口获取资源的时候,通过浏览器可以直接下载,在代码中使用RestTemplate的get方式访问的时候,出现403错误 问题排查 因为返回状态码是403,就想着是不是授权问题,因为有的接口是有防抓取规则的&…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 02 Clos拓扑

本章回答以下问题: 什么是 Clos 拓扑,它与“接入 - 汇聚 - 核心”拓扑有何不同?Clos 拓扑的特征是什么?Clos 拓扑对数据中心网络的影响是什么? Clos拓扑 云原生数据中心基础设施的先行者们想要构建一种支持大规模水平扩展网络。 基本的Clos拓扑如图…

C++ #pragma pack(n)

一、#pragma简介 #pragma是预处理指令的一种,它的作用是设定编译器的状态、指定编译器完成特定任务。 (预处理阶段:在编译阶段之前进行) #pragma相当于是由各个厂商开发扩展的,因此可能因编译器或操作系统不同而有所差…

【论文阅读】-- TSR-TVD:时变数据分析和可视化的时间超分辨率

TSR-TVD: Temporal Super-Resolution for Time-Varying Data Analysis and Visualization 摘要1 引言2 相关工作3 我们的循环生成方法3.1 损失函数3.2 网络架构 4 结果与讨论4.1 数据集和网络训练4.2 结果4.3 讨论 5 结论和未来工作致谢参考文献附录1 训练算法及优化2 网络分析…

基于 Arm 虚拟硬件的心电图(ECG)疾病分类应用开发实战

基于 Arm 虚拟硬件的心电图(ECG)疾病分类应用开发实战 目录 文章目录 [toc] 一、实验背景1. 嵌入式软件开发的基本流程2. Arm 虚拟硬件镜像产品简介 二、实验目标三、实验步骤简介四、实验前准备1. 订阅使用 Arm 虚拟硬件镜像的百度智能云云服务器 BCC 实例1.1 百度智能云账号准…

win11家庭版使用自带的Linux子系统并安装docker【全网整合版】

1. 电脑配置项 开发者选项 设置->系统->开发者选项 启用或关闭windows功能 控制面板->卸载程序->启用或关闭windows功能 勾选适用于Linux的Windows子系统和虚拟机平台并重启电脑(首次勾选选项时电脑提示重启) Hyper-V 关键点:win11家庭版在启动…