论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
人工智能
›
人工智能
›
AIGC专栏15——CogVideoX-Fun详解 支持图&文生视频 拓展 ...
AIGC专栏15——CogVideoX-Fun详解 支持图&文生视频 拓展CogVideoX到256~10 ...
九天猎人
论坛元老
|
2024-9-21 18:17:55
|
显示全部楼层
|
阅读模式
楼主
主题
1659
|
帖子
1659
|
积分
4977
学习媒介
这段时间正在练习EasyAnimateV4.5,发现总有一些问题解决不了,开始怀疑是自己的练习框架有问题。
恰逢清华开源了CogVideoX,这是个很优秀的文生视频模型,惋惜没有图生视频,还固定了分辨率,于是试着将CogVideo修改到我们的框架中,发现其实结果还不错。
项目特点
支持
图 和 文
生视频;
支持
首尾图
天生视频
最大
支持720p 49帧
视频天生;
无限长
视频天生;
数据处置惩罚到练习完整pipeline代码开源
。
天生结果
CogVideoX-Fun的天生结果如下,分别支持图生视频和文生视频。与EasyAnimate雷同,通过图生视频的本领,我们还可以进行视频续写,天生无限长视频。
相关地址汇总
源码下载地址
https://github.com/aigc-apps/CogVideoX-Fun
感谢大家的关注。
CogVideoX-Fun详解
技术储备
Diffusion Transformer (DiT)
DiT基于扩散模型,所以难免包罗不断去噪的过程,如果是图生图的话,另有不断加噪的过程,此时离不开DDPM那张老图,如下:
DiT相比于DDPM,使用了更快的采样器,也使用了更大的分辨率,与Stable Diffusion一样使用了隐空间的扩散,但可能更偏研究性质一些,没有使用非常大的数据集进行预练习,只使用了imagenet进行预练习。
与Stable Diffusion不同的是,DiT的网络结构完全由Transformer构成,没有Unet中大量的上下采样,结构更为简单清晰。
Stable Diffusion 3
在2024年3月,Stability AI发布了Stable Diffusion 3,Stable Diffusion 3一个模型系列,参数量从 800M 到 8B 不等。相比于已往的Stable Diffusion,Stable Diffusion 3的生图质量更高,且更符合人类偏好。
Stable Diffusion 3做了多改进,比如文本信息注入的方式,DiT模型在最初引入文本时,通常使用Cross Attention的方法联合文本信息,如Pixart-α、hunyuan DiT等。Stable Diffusion 3通过Self-Attention引入文本信息。相比于Cross Attention,使用Self-Attention引入文本信息不但节流了Cross Attention的参数量,还节流了Cross Attention的计算量。
Stable Diffusion 3还引入了RMS-Norm。,在每一个attention运算之前,对Q和K进行了RMS-Norm归一化,用于增强模型练习的稳固性。
同时使用了更大的VQGAN,VQGAN压缩得到的特性维度从原来的4维提升到16维等。
EasyAnimate-I2V
在EasyAnimate中,
需要重修的部分
和
重修的参考图
分别通过VAE进行编码,
上图黑色的部分代表需要重修的部分,白色的部分代表首图
,然后和随机初始化的latent进行concat,假设我们等待天生一个384x672x144的视频,此时的初始latent就是4x36x48x84,
需要重修的部分
和
重修的参考图
编码后也是4x36x48x84,三个向量concat到一起后便是12x36x48x84,传入DiT模型中进行噪声预测。
这样模型就可以知道视频的哪些部分需要重修,通过inpaint的方式实现图生视频。
算法细节
算法构成
我们使用了CogVideoX作为底子模型,并在此底子上重新练习。
在CogVideoX-FUN中,我们基于CogVideoX在大约1.2m的数据上进行了练习,支持图片与视频预测,支持像素值从512x512x49、768x768x49、1024x1024x49与不同纵横比的视频天生。另外,我们支持图像到视频的天生与视频到视频的重修。
引入InPaint模型,实现图生视频功能,可以通过首尾图指定视频天生。
基于Token长度的模型练习。告竣不同大小多分辨率在同一模型中的实现。
InPaint模型
我们以CogVideoX作为底子结构,参考EasyAnimate进行图生视频的模型练习。
在进行视频天生的时间,将
参考视频
使用VAE进行encode,
上图黑色的部分代表需要重修的部分,白色的部分代表首图
,与噪声Latents一起堆叠后输入到Transformer中进行视频天生。
我们对
被Mask的区域
进行3D Resize,直接Resize到需要重修的视频的画布大小。
然后将Latent、Encode后的参考视频、被Mask的区域,concat后输入到DiT中进行噪声预测。得到终极的视频。
基于Token长度的模型练习
我们网络了大约高质量的1.2m数据进行CogVideoX-Fun的练习。
在进行练习时,我们根据不同Token长度,对视频进行缩放后进行练习。整个练习过程分为三个阶段,每个阶段的13312(对应512x512x49的视频),29952(对应768x768x49的视频),53248(对应1024x1024x49的视频)。
以CogVideoX-Fun-2B为例子,其中:
13312阶段,Batch size为128,练习步数为7k
29952阶段,Batch size为256,练习步数为6.5k。
53248阶段,Batch size为128,练习步数为5k。
练习时我们采用高低分辨率联合练习,因此模型支持从512到1280任意分辨率的视频天生,以13312 token长度为例:
在512x512分辨率下,视频帧数为49;
在768x768分辨率下,视频帧数为21;
在1024x1024分辨率下,视频帧数为9;
这些分辨率与对应长度混淆练习,模型可以完成不同大小分辨率的视频天生。
Resize 3D Embedding
在适配CogVideoX-2B到CogVideoX-Fun框架的途中,发现源码是以截断的方式去得到3D Embedding的,这样的方式只能适配单一分辨率,当分辨率发生变化时,Embedding也应当发生变化。
参考Pixart-Sigma,我们采用positional embeddings Interpolation对3D embedding进行Resize,positional embeddings Interpolation相比于直接天生cos sin的embedding更易收敛。
项目使用
项目启动
推荐在docker中使用CogVideoX-Fun:
# pull image
docker pull mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:cogvideox_fun
# enter image
docker run -it -p 7860:7860 --network host --gpus all --security-opt seccomp:unconfined --shm-size 200g mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:cogvideox_fun
# clone code
git clone https://github.com/aigc-apps/CogVideoX-Fun.git
# enter CogVideoX-Fun's dir
cd CogVideoX-Fun
# download weights
mkdir models/Diffusion_Transformer
mkdir models/Personalized_Model
wget https://pai-aigc-photog.oss-cn-hangzhou.aliyuncs.com/cogvideox_fun/Diffusion_Transformer/CogVideoX-Fun-2b-InP.tar.gz -O models/Diffusion_Transformer/CogVideoX-Fun-2b-InP.tar.gz
cd models/Diffusion_Transformer/
tar -xvf CogVideoX-Fun-2b-InP.tar.gz
cd ../../
python app.py
复制代码
到这里已经可以打开gradio网站了。
文生视频
起首辈入gradio网站。选择对应的预练习模型,如"models/Diffusion_Transformer/EasyAnimateV3-XL-2-InP-512x512"。然后在下方填写提示词。
然后调解视频高宽和天生帧数,末了进行天生;
图生视频
图生视频与文生视频有两个不同点:
1、需要指定参考图;
2、指定与参考图雷同的高宽;
CogVideoX-Fun的ui已经提供了自适应的按钮Resize to the Start Image,打开后可以自动根据输入的首图调解高宽。
视频生视频
视频生视频与文生视频有两个不同点:
1、需要指定参考视频;
2、指定与参考视频雷同的高宽;
CogVideoX-Fun的ui已经提供了自适应的按钮Resize to the Start Image,打开后可以自动根据输入的视频调解高宽。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
九天猎人
论坛元老
这个人很懒什么都没写!
楼主热帖
从洞察到决策,一文解读标签画像体系建 ...
C# 使用流读取大型TXT文本文件 ...
袋鼠云平台代码规范化编译部署的提效性 ...
Flink的API分层、架构与组件原理、并行 ...
SpringBoot(八) - 统一数据返回,统一 ...
Redis命令手册
打穿你的内网之三层内网渗透 ...
JVM
小程序【第一期】
微服务(三)之负载均衡(服务端和客户端) ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Java
快速回复
返回顶部
返回列表