两张静态图变16帧卡通动画:ToonCrafter 图像插值免费上手
【免费下载链接】ToonCrafter[SIGGRAPH Asia 2024, Journal Track] ToonCrafter: Generative Cartoon Interpolation项目地址: https://gitcode.com/GitHub_Trending/to/ToonCrafter
ToonCrafter 是一个开源的卡通图像插值工具:给它一张起始帧、一张结束帧,自动补出中间16帧的卡通过渡动画,面向动画爱好者和需要快速产出卡通演示素材的开发者。两帧关键帧之间逐帧手绘的枯燥工作,从此不用自己画了。
核心能力:两张卡通关键帧能换回什么
ToonCrafter 输入一对卡通关键帧(起始帧 + 结束帧),直接输出 512×320 分辨率、16 帧的过渡视频。它建立在预训练的图生视频扩散模型之上,运行时只做推理、无需训练,还可以追加稀疏草图来指定运动走向。无论你是想补全人物两个姿势之间的中间帧,还是手头只有两张静图、想快速变成动的演示素材,都能一条命令完成。
从克隆到出片:环境配置与模型权重下载
先克隆仓库,再建一个 Python 3.8.5 的 conda 环境,依赖一次装齐:
git clone https://gitcode.com/GitHub_Trending/to/ToonCrafter cd ToonCrafterconda create -n tooncrafter python=3.8.5 conda activate tooncrafter pip install -r requirements.txt然后在 Hugging Face 上搜索 ToonCrafter,下载 ToonCrafter_512 的权重文件model.ckpt,放进对应的 checkpoints 目录:
mkdir -p checkpoints/tooncrafter_512_interp_v1接着执行推理脚本,默认读取prompts/512_interp/下的示例图对,结果写入results/目录:
sh scripts/run.sh不想敲命令的话,运行python gradio_app.py打开 Gradio 页面,在浏览器里直接上传两帧即可生成。
效果展示:512×320 卡通关键帧插值成片
下面这组示例中,起止两帧只差了表情与口型,中间16帧全部由模型补齐,姿态过渡平滑,背景无明显抖动。
第二组是护照盖章的特写镜头,模型补全了印章压下、接触纸面的小动作过程,两帧之间的细节保持稳定。
技术路线:图生视频扩散模型的纯推理方案
核心是一个预训练的图生视频潜空间扩散模型:逐帧 AutoencoderKL 先把每帧编码成 4 通道 latent,3D UNet 在时间轴上做时序卷积与时序自注意力,保证帧间连续。插值模式下,两张关键帧经 cross-attention 注入为图像条件,文本描述(OpenCLIP 编码)同时提供语义引导,模型用 50 步 DDIM 去噪直接"画"出过渡帧,不需要对模型做任何微调。时间长度 16 帧、v 参数化、zero-SNR rescale 等结构细节都写在 configs/inference_512_v1.0.yaml 里。
采样参数与显存要求:关键项一览
| 项目 | 默认值 | 建议范围 | 说明 |
|---|---|---|---|
| ddim_steps | 50 | 20–50 | DDIM 采样步数,越少越快,细节略降 |
| frame_stride | 10 | 5–30 | 等效帧率,值越小运动幅度越大 |
| video_length | 16 | 固定 16 | 单次生成视频长度上限,当前模型最高 16 帧 |
| seed | 123 | 任意整数 | 生成结果带随机性,不满意换 seed 重跑 |
这些参数都集中在 scripts/run.sh 和推理脚本中。官方在 A100 上测试,512×320 已是当前上限;显存吃紧时优先调低 ddim_steps。README 也提醒生成成功率不保证,翻车时换个随机种子重跑即可。
想用自己的素材,把prompts/512_interp/下的两帧替换掉(同目录 prompts.txt 里是配套的描述文本),再执行一次sh scripts/run.sh,成片就落在results/里。如果不想让模型自由发挥运动轨迹,可以试试仓库提供的稀疏草图引导,或者进一步看基于参考图的草图上色扩展;算法细节可查阅 ToonCrafter 的 arXiv 论文。
【免费下载链接】ToonCrafter[SIGGRAPH Asia 2024, Journal Track] ToonCrafter: Generative Cartoon Interpolation项目地址: https://gitcode.com/GitHub_Trending/to/ToonCrafter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考