EasyAnimate-v3版本支持I2V及超长视频生成

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 阿里云人工智能平台(PAI)自研开源的视频生成项目EasyAnimate正式发布v3版本

阿里云人工智能平台 PAI 自研开源的视频生成项目EasyAnimate正式发布v3版本:

  • 支持图片(可配合文字)生成视频
  • 支持上传两张图片作为起止画面生成视频
  • 最大支持 720p(960*960分辨率)144帧视频生成
  • 最低支持 12G 显存使用(3060 12G可用)
  • 视频续写生成无限时长视频

效果展示

https://video-data-hz.oss-cn-hangzhou.aliyuncs.com/EasyAnimate-v3-PRvideo.mp4

image.png

上图展示图生视频和文生视频的输入参考图、Prompt(提示词)及生成结果。

image.png

项目提供基于Gradio搭建的WebUI界面,上手非常方便。

模型结构

image.png

  • EasyAnimate-v3采用Diffusion Transformer(DiT)结构,T5作为Text Encoder,整体框架如上图a所示。
  • 图b是我们设计的混合运动模块(Hybrid Motion Module):
  • 偶数层:时间序列上集成注意力机制,模型学习时序信息。
  • 奇数层:全局序列(空间+时间)上进行全局注意力学习(Global Attention),提高模型全局感受野。
  • 参考图c的U-ViT,为了提高训练稳定性,我们引入跳连接结构(Skip Connection),引入的浅层特征进一步优化深层特征,并且在每个Skip Connection额外增加一个零初始化(Zero Initialize)的全连接层(Linear Layer),使其可以作为一个可插入模块应用到已经训练好的DiT结构中。

image.png

EasyAnimate-v3中的Slice VAE(Variational Auto Encoder)结构如上,不仅有1/4的时序压缩率,还支持对不同输入使用不同的处理策略:

  • 输入视频帧时:在高宽与时间轴上进行压缩,例如当输入为512*512分辨率*8帧的视频帧时,将其压缩为64*64*2的Latent向量。
  • 输入图片时:则仅仅在高宽上进行压缩,列入当输入为512*512分辨率的图片时,将其压缩为64*64*1的Latent向量。

image.png

EasyAnimate-v3版本新增的图生视频Pipeline如上图所示,我们提供视觉-文本双流的信息注入:

  • 需要重建的部分和重建的参考图分别通过Slice VAE进行编码(上图黑色的部分代表需要重建的部分,白色的部分代表首图),然后和随机初始化的Latent进行Concat合并。假设我们期待生成一个384*672分辨率*144帧的视频,此时的初始Latent就是4x36x48x84,需要重建的部分和重建的参考图编码后也是4x36x48x84,三个向量Concat合并到一起后便是12x36x48x84,传入DiT模型中进行噪声预测。
  • 文本提示词这里,我们使用CLIP Image Encoder对输入图片编码后,使用一个CLIP Projection进行映射,然后将结果与T5编码后的文本进行Concat合并,二者在DiT中进行Cross Attention。

联系我们

EasyAnimate官方钉钉群:77450006752

项目主页https://easyanimate.github.io

开源地址:https://github.com/aigc-apps/EasyAnimate

技术报告:https://arxiv.org/abs/2405.18991

PAI平台上快速体验:https://pai.console.aliyun.com/?#/dsw-gallery/preview/deepLearning/cv/easyanimate

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
3月前
|
Python
Python语言提供了多种输出格式化的方法,这些方法随着时间的推移和版本的更新而发展
【6月更文挑战第19天】Python格式化方法包括过时的`%`操作符,`str.format()`,推荐的f-string(Python 3.6+)和Template strings。f-string提供最佳的可读性和性能,`str.format()`是通用的,而`%`不推荐使用。模板字符串用于特定场景。对于旧版Python,使用`str.format()`或`%`。
30 4
|
12月前
|
网络协议 开发工具 Android开发
​​Android平台GB28181历史视音频文件下载规范探讨及技术实现
​​Android平台GB28181历史视音频文件下载规范探讨及技术实现
146 1
|
12月前
|
安全 Java 编译器
JDK21更新内容:舍弃对x86架构32位系统支持
JDK21更新内容:舍弃对x86架构32位系统支持
|
12月前
|
开发工具 Android开发 开发者
Android平台GB28181历史视音频文件检索规范探讨及技术实现
Android平台GB28181历史视音频文件检索规范探讨及技术实现
|
存储 监控 算法
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
228 0
|
缓存 自然语言处理 JavaScript
改了 3 个字符,10 倍的沙箱性能提升?!!
改了 3 个字符,10 倍的沙箱性能提升?!!
115 0
|
SQL 前端开发 Java
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
586 0
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
|
Android开发
如何处理JCO版本太旧引起的问题
如何处理JCO版本太旧引起的问题
如何处理JCO版本太旧引起的问题
|
缓存
「OushuDB」版本升级 二进制替换升级步骤
请注意需要留下足够的升级与测试时间,避免升级出现问题需要回退到老版本。另外,请在升级前做好数据的备份工作,防止出现意外。
113 0
|
C#
各个 C# 版本的主要特性、发布日期和发布方式(C# 1.0 - 7.3)
原文 各个 C# 版本的主要特性、发布日期和发布方式(C# 1.0 - 7.3) 本文收集各个 C# 版本的主要特性、发布日期和发布方式。 C# 8.0 尚在预览版本 C# 7.3 2018 年 5 月 随 Visual Studio 2017 v15.
1858 0
下一篇
云函数