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

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 阿里云人工智能平台(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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
安全 测试技术 持续交付
精确版本号的依赖版本范围的优点是什么?
使用精确版本号作为依赖版本范围在项目的稳定性、兼容性、问题排查、安全管理以及合规性等方面都具有显著的优势。在实际项目中,对于一些关键的依赖库或对稳定性要求极高的项目组件,建议优先考虑使用精确版本号来确保项目的可靠运行。
24 1
|
人工智能 自然语言处理 数据可视化
版本动态 | SolidUI 0.2.0 版本发布
版本动态 | SolidUI 0.2.0 版本发布 一句话生成任何图形
105 0
版本动态 | SolidUI 0.2.0 版本发布
|
安全 Java 编译器
JDK21更新内容:舍弃对x86架构32位系统支持
JDK21更新内容:舍弃对x86架构32位系统支持
|
自然语言处理 Kubernetes 数据可视化
版本动态 | SolidUI 0.3.0 版本发布
版本动态 | SolidUI 0.3.0 版本发布
72 0
|
存储 监控 算法
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
249 0
|
SQL 前端开发 测试技术
版本动态 | SolidUI 0.1.0 版本发布
项目地址:https://github.com/CloudOrc/SolidUI
121 0
|
Rust 自然语言处理 算法
【算法】1342. 将数字变成 0 的操作次数(多语言实现)
给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。
|
SQL 前端开发 Java
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
614 0
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
|
JavaScript 前端开发 API
前端工程化必备,语义化版本号扫盲,支持任意版本号位数的比较方法
因为最近在做 Node 相关的项目,涉及到版本号的处理,根据版本号大小做升级 js 处理的,而因为多加了一位数,导致线上的 js 不能升级。 所以只能重写一个支持任意位数的版本号对比方法。 顺便先来一个语义化版本号的扫盲吧。
329 0