5分钟制作丝滑的AI视频-ComfyUI+AnimateDiff
5分钟制作丝滑的AI视频-ComfyUI+AnimateDiff
本文将介绍如何使用ComfyUI和AnimateDiff制作高质量的AI视频。通过详细的工作流设置、模型下载和参数调整,你可以轻松实现视频的风格化转换。
制作Stable Diffusion动画
1. AnimateDiff的技术原理
AnimateDiff可以搭配扩散模型算法(Stable Diffusion)来生成高质量的动态视频,其中动态模型(Motion Models)用来实时跟踪人物的动作以及画面的改变。
2. 环境搭建
这里我们使用ComfyUI来搭配AnimateDiff做视频转视频的工作流。我们预设ComfyUI的环境以及搭建好了,这里就只介绍如何安装AnimateDiff插件。
3. ComfyUI AnimateDiff视频转视频工作流
- 找到一个真人跳舞视频
- 提取视频帧,并用ControlNet Openpose提取人物动作信息
- 根据视频帧里面的动作信息,使用SD重新绘制每一帧视频
- 组合出完整视频
3.1 读取ComfyUI工作流
直接把下面这张图拖入ComfyUI界面,它会自动载入工作流,在ComfyUI里面载入文件信息。
3.2 安装缺失的node组件
第一次载入这个工作流之后,ComfyUI可能会提示有node组件未被发现,我们需要通过ComfyUI manager安装,它会自动找到缺失的组件并下载安装(需要网络通畅)。
点击ComfyUI Manager按钮打开组件管理,再点击Install Missing Custom Nodes安装组件。安装完成后要重启ComfyUI才能完成载入刚才缺失的组件。如果网络状态不好,可能会导致下载组件失败,需要多试几次。
3.3 下载一个AI绘画模型
这里比较推荐Dreamshaper 8这个模型,实测动画人物效果比较好。当然大家也可以自己去测试其他的模型。
下载好的模型放到ComfyUI > models > checkpoints目录。然后刷新页面,在Load Checkpoint这个组件里可以选择不同的模型。
3.4 下载VAE模型
下载VAE,放到ComfyUI > models > vae这个目录里。然后刷新页面,在Load VAE里可以选择不同的编码器模型。
3.5 下载AnimateDiff动态特征模型
下载mm_sd_v15_v2.ckpt,放到ComfyUI > custom_nodes > ComfyUI-AnimateDiff-Evolved > models文件夹。在AnimateDiff Loader里,可以选择我们需要的动态特征模型。
3.6 下载Openpose ControlNet模型
下载control_v11p_sd15_openpose.pth,放到ComfyUI > models > controlnet文件夹。在Load ControlNet Model (Advanced)里,选择对应模型。
3.7 上传原视频
以这个视频作为示例,在Load Video(Upload)选择视频素材。
3.8 生成视频
然后就可以点击Queue Prompt开始生成视频了。视频生成的大部分时间都集中在KSampler这个组件里,在生成过程中上面有一个进度条。
另外在打开ComfyUI的windows终端里也可以看到进度以及错误信息。生成结束后,视频会在AnimateDiff Combine这个组件里合成。
下面是一个结果的对比示例。
4. Debug
其中有三个组件会储存中间信息帮助分析错误:
- 视频帧
- ControlNet OpenPose处理结果
- 结果视频帧
其他设置
5.1 通过改变图片种子值(seed)来修改图片内容
5.2 修改人物提示词
prompt prefix: 图片主体
prompt travel: 变化的背景内容,会根据不同的frames添加进图片
在这个例子中:
- 第0-23帧,画面提示词是:High detail, girl, short pant, t-shirt, sneaker, a modern living room
- 第24-59帧:High detail, girl, short pant, t-shirt, sneaker, beach and sun
- 第60帧之后:High detail, girl, short pant, t-shirt, on the moon
5.3 输入视频参数
- frame_load_cap: 载入视频的最大帧数
- select_every_nth: 每隔~帧载入1帧画面,这样会导致跳过一些帧,导致视频不连贯,但是由于减少了需要处理的帧数,这样可以提高处理速度