AIGC专栏16——CogVideoX-Fun V1.1版本详解 支持图&文生视频与更大的动态性 为文生视频添加控制

学习前言

前段时间开源了CogVideoX-Fun,发现第一版有些时候图生视频不太动,观察了原版的SVD和原版的CogVideoX-I2V,应该要给参考图片添加一些Noise会更好。并且重构了动作更大的数据集,目标动的也就越开心。

另外,筛选了一批带有Pose的视频,训练了带有控制的CogVideoX-Fun模型。
在这里插入图片描述

相关地址汇总

源码下载地址

https://github.com/aigc-apps/CogVideoX-Fun

HF测试链接

https://huggingface.co/spaces/alibaba-pai/CogVideoX-Fun-5b
感谢大家的关注。

CogVideoX-Fun V1.1详解

技术储备

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的方式实现图生视频。

算法细节

V1.1特点

在CogVideoX-FUN v1.1中,我们在之前的数据集中再次做了筛选,选出其中动作幅度较大,而不是静止画面移动的视频,数量大约为0.48m。模型依然支持图片与视频预测,支持像素值从512x512x49、768x768x49、1024x1024x49与不同纵横比的视频生成。我们支持图像到视频的生成与视频到视频的重建。

另外,我们还发布了添加控制信号的训练代码与预测代码,并发布了初版的Control模型。

对比V1.0版本,CogVideoX-FUN V1.1突出了以下功能:

  • 在5b模型中,给参考图片添加了Noise,增加了视频的运动幅度。
  • 发布了添加控制信号的训练代码与预测代码,并发布了初版的Control模型。

参考图片添加Noise

在原本CogVideoX-FUN V1.0的基础上,我们参考CogVideoXSVD,在非0的参考图向上添加Noise以破环原图,追求更大的运动幅度。

我们5b模型中添加了Noise,2b模型仅使用了新数据进行了finetune,因为我们在2b模型中尝试添加Noise之后,生成的视频运动幅度过大导致结果变形,破坏了生成结果,而5b模型因为更为的强大生成能力,在运动中也保持了较为稳定的输出。

另外,提示词对生成结果影响较大,请尽量描写动作以增加动态性。如果不知道怎么写正向提示词,可以使用smooth motion or in the wind来增加动态性。并且尽量避免在负向提示词中出现motion等表示动态的词汇。

添加控制信号的CogVideoX-Fun

在原本CogVideoX-FUN V1.0的基础上,我们使用Pose控制信号替代了原本的mask信号,将控制信号使用VAE编码后作为Guidance与latent一起进入patch流程,

我们在0.48m数据中进行了筛选,选择出大约20000包含人像的视频与图片进行pose提取,作为condition控制信号进行训练。

在进行训练时,我们根据不同Token长度,对视频进行缩放后进行训练。整个训练过程分为两个阶段,每个阶段的13312(对应512x512x49的视频),53248(对应1024x1024x49的视频)。

以CogVideoX-Fun-V1.1-5b-Pose为例子,其中:

  • 13312阶段,Batch size为128,训练步数为2.4k
  • 53248阶段,Batch size为128,训练步数为1.2k。

工作原理图如下:
ui

项目使用

项目启动

推荐在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,打开后可以自动根据输入的视频调整高宽。
请添加图片描述

控制生视频

首先调整model type到Control。
在这里插入图片描述
然后选择对应的带有控制的Model。
在这里插入图片描述
可修改prompt如下:

A person wearing a knee-length white sleeveless dress and white high-heeled sandals performs a dance in a well-lit room with wooden flooring. The room's background features a closed door, a shelf displaying clear glass bottles of alcoholic beverages, and a partially visible dark-colored sofa. 

在这里插入图片描述
然后修改为根据参考视频自动resize。
在这里插入图片描述
最后上传控制视频,进行生成。
demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bubbliiiing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值