【AIGC-AI视频生成系列-5】Stable Video Diffusion -长文解读视频/3D生成变革的开始 - 知乎一句话总结:长文解读一份Stability AI 最新力作Stable Video Diffusion,如同实验报告的论文,构建了一个高质量的视频生成通用模型,在多种下游任务中微调后都有非常好的效果。 论文地址:https://stability.ai/s…https://zhuanlan.zhihu.com/p/668592926视频生成这块,目前是runway的gen2和pika走的比较远,stable video diffusion是开源的。svd大概就是微调文生图模型,然后清洗一批视频数据后,插入temporal layer后进行视频微调。
1.数据预处理
三阶段数据处理:
step1:图像预处理,2d text-to-image预处理模型;
step2:视频预处理,基于大规模视频训练集,进行视频训练;
step3:高质量视频微调,进一步提升模型生成的视频分辨率和质量;
1.1 数据预处理和注释
从上视频中获取短视频,PySceneDetect。
裁剪完成后,采用三种不同的方法来对裁剪后的视频进行标注:
1.Coca标注每段视频中间帧的内容;2.V-blip对视频整体进行解读;3.基于llm,对上述两个生成结果做一个总结。
有了基础数据集后,需要关注美学指标,比如视频中静止太多,文本太多,因此使用基于深度光流对视频进行评估,使用了2帧的帧率,把平均光流幅度低于一定阈值的视频都过滤掉了。
1.2 stage 1:Image pretraining
基于sd 2.1改了预训练参数。只训练time-embedding层,并使用512x512训练,预训练的比随机初始化效果好。
1.3 stage 2:生成视频训练的数据
人工过滤了一批视频数据。
1.4 stage 3:高质量视频生成微调
整体训练借鉴了图像diffusion model的训练模式。经过包括微调50K步并人工审核等生成评价指标后,使用视频预训练模型参数,效果更好。
2.大规模视频模型的训练
基于上述结果开始训练特定的预训练模型。
2.1 预训练基础模型
使用network preconditioning将图像模型中的固定离散噪声调度微调为连续噪声,对大小为256x384的图像进行微调,在插入temporal layer后,使用256x384的LVD-F对模型进行训练,使用bs为768在100k迭代中微调模型以生成14个320x576的帧。对于这一训练阶段,将噪声调度想更多噪声的方向进行调整是重要的。
2.2 高质量文生图视频模型
在得到生面的基础模型之后,使用约1M的视频数据微调,将256x384的分辨率提升到576x1024.
2.3 高质量图生视频模型
同样基于base模型,可以微调图生视频模型。不同于文本控制,直接将输入文本embedding替换为条件的clip embedding,另外,还将条件帧的噪声增强模型按通道维度连接到unet的输入。另一方面,标准的Diffusion-cfg 会导致伪影的生成,而如果CFG权重太低则又会出现视频帧之间的不一致,cfg太大又会出现过拟合的情况。文章中使用了随帧数动态cfg的方案(即从小到大)。