【AI动画教程】极具潜力的AI动画新方案animatediff-cli-prompt-travel

文章目录

  • 前言
  • Part1 项目简介
  • Part2 项目配置
  • Part3 模板文件准备
  • Part4 使用方法

 

前言

大家可能了解过AnimateDiff开源项目,可以生成AI动图,但是时间短,质量不高。
目前有个新项目animatediff-cli-prompt-travel优化了这些问题,甚至也有能力抗衡Runway和PikaLab的AI动画效果。

目前有两种用法:
可以根据多个参考图并追加关键词描述,用生成AI视频,
也可以根据1个视频做参考, 结合ControlNet,进行视频风格转换
不同的ControlNet组合以及结合Lora和提示词,可以出不同的效果。

由于各平台针对于这个项目的教程内容很少,而且这个项目还没有SD插件,我这边自己摸索总结了相关教程,分享给大家(可用直接看上面B站视频教程)

Part1 项目简介

项目背景

这个项目是由ebsynth utility的SD插件作者基于animatediff项目技术基础做的一套工作流优化和整合的扩展项目,这个项目是独立部署,独立运行的。
作者在原本animatediff生成GIF的技术基础上进行改良处理,可以生成更长时间的内容,并且能够加入ControlNet和提示词控制,让视频更加可控。

项目优势

1)视频生成时人物一致性较高,且可控,据说动画模型后续可以自己训练。

2)视频转绘时人物和环境融入很自然。

项目要求

1)要有一定代码基础:项目目前没有UI界面,部署和运行都需要进行代码层级编辑和配置,需要至少一点点的代码基础。
2)硬件要求高:目前这个项目建议显卡的显存为12GB以上。
3)要有稳定的科学上网方式和流量,项目运行过程中需要连接外部下载资源,而且后续运行也会访问一些配置文件。
4)要有耐心,这个项目在运行过程中可能会有各种报错和问题需要耐心处理,当然我已经尽量把我遇到的一些问题找出并规避了。

项目地址:

https://github.com/s9roll7/animatediff-cli-prompt-travel

 

【如果你认为这个项目太负责,也可以体验animatediff项目】

AnimateDiff-SD插件地址:https://github.com/ArtVentureX/comfyui-animatediff
animatediff-ComfyUI地址:https://github.com/comfyanonymous/ComfyUI

 

Part2 项目配置

环境及工具准备

1)python 3.10.x (如果你有秋叶启动器自带的python也可以)

2) git客户端 (下载地址:https://git-scm.com/) 下载后按照默认配置进行下一步,一步步安装即可.

 

安装环境验证

安装后,ctrl+R 然后输入cmd运行,然后输入下列命令验证:

git --version 命令查看git安装情况

python --version命令查看python安装情况

如果没有返回版本号,则看下一页问题检查

be4fcbd3d8045ace3f2c2e276578dc78

 

检查系统变量是否正确配置

如果没有正确返回版本,请检查系统变量中path 是否设置好(python,python\Script,Git\cmd)

一般安装项目时,变量会自动配置好,如果没有,则手动找到项目对应路径,然后配置好。

1)找到系统变量配置窗口: 我的电脑->右键属性->高级系统配置->环境变量

2)编辑系统变量:下面的框系统变量->双击Path->在编辑框里点新建->将你的路径复制进去

例如我的路径如下:

E:\02-AI_Draw\01-SD-software\novelai-webui\sd-webui-aki-v4.4\python

E:\02-AI_Draw\01-SD-software\novelai-webui\sd-webui-aki-v4.4\python\Scripts

C:\Program Files\Git\cmd

 

f003c462b8e3257424cb2aad14c4d930

 

7dcca3ce38d4429813a9277a0b04b8c0

 

项目拷贝

前置说明

由于项目拷贝配置时,会有一些问题,可以先看下面问题,然后再去进行配置。

1)可以在自己指定好的文件夹中,shift+鼠标右键,选择在powershell中运行,然后进行git clone项目。(此时需要访问外网)

2)如果项目无法用git clone创建,可以直接去Github上下载项目,并解压到目标文件夹 https://github.com/s9roll7/animatediff-cli-prompt-travel

3)执行pip install操作时报错,subprocess-exited-with-error。

可以执行 pip install --upgrade setuptools 升级setuptools 库,如果仍不行,则pip install 后追加--no-build-isolation执行

例如:python -m pip install --no-build-isolation -e .

565a5c9e80ce44134056794a35818cd0

 

 

Animatediff-cli-prompt-travel项目配置过程(Powershell中运行举例)

 

#拷贝项目

git clone https://github.com/s9roll7/animatediff-cli-prompt-travel.git

 

#进入项目文件夹

cd animatediff-cli-prompt-travel

 

#构建运行环境和依赖

python -m venv venv

venv\Scripts\activate.bat

python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

python -m pip install -e .

python -m pip install xformers

 

# 如果需要视频转绘,则可以用下面命令安装依赖

python -m pip install -e .[stylize]

 

# 如果需要DWpose这种预处理器处理openpose,则可以用下面命令安装依赖((DWPose更能处理复杂的动作)

python -m pip install -e .[dwpose]

 

-----------subprocess-exited-with-error异常配置替换------

python -m pip install -e . 可替换命令 python -m pip install --no-build-isolation -e .

python -m pip install -e .[stylize] 可替换命令 python -m pip install --no-build-isolation -e .[stylize]

python -m pip install -e .[dwpose] 可替换命令 python -m pip install --no-build-isolation -e .[dwpose]

 

(注意!!由于文本编辑器问题,上述的--no-build-isolation 命令中  no前面有2个 -

 

Part3 模板文件准备

1) 下载animatediff的动画模板文件

将模板放入到项目对应motion-module目录下(无目录时自己创建)

animatediff-cli-prompt-travel-main\data\models\motion-module\

模板下载地址:https://huggingface.co/guoyww/animatediff/tree/main

(3个模板选择一个即可,可以选择mm_sd_v15_v2.ckpt或mm_sd_v14.ckpt, 不建议水印明显的mm_sd_v15)

 

2)SD大模型和Lora模型

找一些Stable Diffusion的大模型和Lora模型,放到项目对应SD目录下

animatediff-cli-prompt-travel-main\data\models\sd\

目前模型的路径建议在animatediff-cli-prompt-travel-main\data的子目录内,不然会提示错误

ef80af27e39dcaa6a02cd3728b555b1f

a1b0bd7d22cb3f47e6c269f0d57991d6

3)项目运行依赖和模型

由于项目运行过程中会自动下载各种依赖和模型

我整理了一些下载好的资料,这样可以省去你的下载过程。 这些文件需要在你部署完项目后,放到这个文件路径下 animatediff-cli-prompt-travel-main\data\models

百度网盘下载:

链接:https://pan.baidu.com/s/1fHjOwtjzjjG6EmGnEZavmg 提取码:7aai

8e00f44532c87e301fb21f0d2e52cf88

 

Part4 使用方法

Animatediff-cli-prompt-travel项目有2种使用方法

1)参考图视频生成:类似Runway或Pika,即Animatediff的基础用法,根据参考图片(1张或多张)来生成视频或GIF图或视频。

2)视频风格转换:相当于视频重绘,基于某个视频,转换风格。

eb7e18aee9e22e0a505a682956b16efe

 

使用方法-json配置文件说明

由于上述两种方法都依赖于配置文件来配置,简单了解下配置文件prompt_travel.json的相关配置说明

 

模板引用配置

"path": 对应的SD大模型路径

"motion_module": 对应animatediff的动画算法模型

"lora_map": 对应SD的lora模型路径

其他Seed,steps,guidance_scale,clip_skip配置同SD基本配置。

 

Prompt配置

"head_prompt": 是通用初始正向提示词。

"prompt_map": 是可以配置不同关键帧的提示词。

"tail_prompt": 是通用补充在最后的正向提示词。

"n_prompt": 反向提示词 (最终某帧的正向提示词是:head_prompt+prompt_map+tail_prompt组成)

 

其他图片控制配置

"ip_adapter_map":Ip adapter的图片地址 "controlnet_map": Contorlnet的参考图的整体目录地址 "upscale_config": Tile方法尺寸放大配置

 

output输出格式配置

"format":输出格式配置,可以是gif/mp4/webp格式。

"fps": 则是输出帧率

0b62a94dd9b080868b2a0794ca01fd15

使用方法1 参考图视频生成

基本工作流说明

dcb094828d9f2cb1068964a108693eec

 

项目配置过程(Powershell中运行举例)

(在animatediff-cli-prompt-travel项目根目录中shift+鼠标右键,选择在powershell中运行)

venv\Scripts\activate.bat

# 下列参数含义为以prompt_travel.json的配置参数,生成图片或视频,宽256 高384 总帧数128 帧率16

animatediff generate -c config/prompts/prompt_travel.json -W 256 -H 384 -L 128 -C 16

# 会在项目根目录/output目录下生成项目目录

-------------------------------------

# 如果需要生成的视频放大处理,则可以使用tile放大 (放大时可以配置强度:tile, line anime, ip2p, ref)

# 下面这个命令,可与将原本256X384尺寸的图或视频放大为512X768尺寸,斜体部分换成你的项目路径。

animatediff tile-upscale PATH_TO_TARGET_FRAME_DIRECTORY -c config/prompts/prompt_travel.json -W 512

# 方法方式2 (smoother than tile-upscale) animatediff refine PATH_TO_TARGET_FRAME_DIRECTORY -W 768

# 如果首次生成内容不满意,可以额外调整关键词和prompt后再次生成视频.

animatediff refine PATH_TO_TARGET_FRAME_DIRECTORY -c config/prompts/some_minor_changed.json

 

个人配置-参考图视频生成

venv\Scripts\activate.bat

#下面这个命令可以不需要,但如果你运行生成报错,则建议每次运行再输入下这个命令。

python -m pip install --no-build-isolation -e .

animatediff generate -c config/prompts/test1.json -W 256 -H 384 -L 128 -C 16

#图片放大为512尺寸 (绿色部分为之前生成的输出目录)

animatediff tile-upscale output/2023-09-22T23-38-34-sample-majicmixrealistic_v6 -c config/prompts/prompt_travel.json -W 512

 

使用方法2 视频风格转换

基本工作流说明

35e1312903494e29e7b05b62317a8226

 

367427329e83ff28fa1a52b99d7d5805

 

项目配置参数(Powershell中运行举例)

(在animatediff-cli-prompt-travel项目根目录中shift+鼠标右键,选择在powershell中运行)

venv\Scripts\activate.bat

#需要视频风格化,需要保证安装了[stylize]依赖,如果下述命令报错,则用python -m pip install --no-build-isolation -e .[stylize]

python -m pip install -e .[stylize]

# 通过源视频来生成配置目录(这一步默认会8fps方式生成图片,可以追加参数转为15fps: -f 15)

animatediff stylize create-config YOUR_SRC_MOVIE_FILE.mp4

# 生成测试用视频(仅跑前16帧)

animatediff stylize generate STYLYZE_DIR -L 16

# 生成测试用视频(仅跑从200帧开始的16帧)

animatediff stylize generate STYLYZE_DIR -L 16 -FO 200

# 正常生成完整视频

animatediff stylize generate STYLYZE_DIR

 

个人实际操作配置-视频转绘用法

venv\Scripts\activate.bat

python -m pip install --no-build-isolation -e .[stylize]

animatediff stylize create-config data\video.mp4 -f 15

 

#修改生成目录的json配置文件

#先测试验证,生成前15帧的视频

animatediff stylize generate stylize\carnimeanime_v10-lineart-tilecolor -L 15

#测试有问题,则修改json配置后,继续上一步操作。

#测试完成没问题,直接完整输出

animatediff stylize generate stylize\carnimeanime_v10-lineart-tilecolor

最后,有问题可以来群里交流沟通:306177490

 

微海报