ToonCrafter是什么
ToonCrafter是由腾讯AI实验室、香港中文大学和香港城市大学的研究人员开源的卡通动画视频中间帧生成工具,突破了传统卡通动画制作中线性运动的假设限制,采用创新的生成式插值技术,仅需两张关键帧图片,即可自动生成中间动态帧,创造出流畅的动画效果。与需要逐帧绘制的传统动画制作方法相比,ToonCrafter极大地提高了动画制作的效率,减少了动画师的工作量,缩短了制作时间,同时保持了动画的质量和创意性。
ToonCrafter的功能特色
- 生成式卡通插值:ToonCrafter利用深度学习模型,通过给定的两张关键帧图片,自动推算并生成中间帧,实现卡通动画的平滑过渡和动态效果。该插值方法不仅填补了帧与帧之间的空白,还能够模拟复杂的运动模式,如角色动作和场景变化。
- 细节保持与增强:ToonCrafter采用先进的双参考3D解码器技术,确保在生成新帧的过程中,图像的细节得到保留甚至增强。这种机制特别适用于卡通动画,因为它们通常包含清晰的线条和鲜明的色彩,需要在插值过程中避免细节的模糊和失真。
- 支持草图指导动画:ToonCrafter提供了一个草图编码器,允许用户通过简单的草图输入来指导动画的生成。用户可以指定动画的某些方面,如角色的运动轨迹或特定风格的强调,从而实现个性化的动画效果。
- 遮挡区域处理:ToonCrafter能够有效识别和处理动画中的遮挡情况,例如当一个角色或对象部分或完全遮挡另一个时。该工具能够合理推断遮挡区域的运动和变化,生成符合视觉逻辑的帧。
- 多应用场景:ToonCrafter的应用范围广泛,不仅可以用于生成完整的卡通动画视频,还适用于从卡通素描线稿生成动画,以及对现有动画进行上色和风格化处理,提供了动画制作的多样性。
ToonCrafter的官网入口
- 官方项目主页:https://doubiiu.github.io/projects/ToonCrafter/
- GitHub代码库:https://github.com/ToonCrafter/ToonCrafter
- Hugging Face Demo:https://huggingface.co/spaces/Doubiiu/tooncrafter
- arXiv技术论文:https://arxiv.org/abs/2405.17933v1
ToonCrafter的技术原理
- 生成式插值框架:ToonCrafter采用了一种新颖的生成式插值方法,与传统的基于对应关系的插值方法不同,它不依赖于显式的帧间对应关系,而是通过学习视频数据的潜在表示来进行帧的生成。
- 领域适配(Toon Rectification Learning):通过领域适配策略,ToonCrafter能够将真实视频的运动先验适配到卡通视频领域,解决了领域差异问题,避免了非卡通内容的意外合成。
- 双参考3D解码器:利用双参考3D解码器,ToonCrafter能够补偿由于潜在空间压缩导致的细节丢失。这种解码器通过混合注意力残差学习机制(HAR),将输入图像的细节信息注入到生成帧的潜在表示中。
- 混合注意力残差学习机制(HAR):在解码过程中,HAR通过交叉注意力机制将输入图像的特征注入到解码器的浅层,同时在深层使用残差学习来增强细节的恢复。
- 伪3D卷积(Pseudo-3D Convolution):为了增强时间上的连贯性,ToonCrafter在解码器中引入了伪3D卷积,这有助于改善时间序列帧之间的一致性。
- 草图编码器(Sketch Encoder):提供了一个独立的草图编码器,允许用户通过输入草图来控制生成动画的运动和风格,增加了生成过程的交互性和可控性。
- 扩散模型(Diffusion Models):ToonCrafter基于扩散模型,这是一种从数据中逐步添加噪声,然后学习逆过程以去除噪声并恢复数据的生成模型。在视频生成中,这允许从随机噪声中生成连续的视频帧。
- 迭代去噪过程:在生成每一帧时,ToonCrafter通过迭代去噪过程逐步精细化生成的图像,从噪声中恢复出清晰的帧。
- 端到端的训练和优化:ToonCrafter的各个组件通过端到端的方式进行训练和优化,确保整个插值过程的协同工作和最终生成视频的质量。
- 多模态输入支持:除了起始和结束帧,ToonCrafter还支持如草图、参考图像等多模态输入,以增强生成动画的表现力和控制性。
如何使用和体验ToonCrafter
方法一、在线版Demo体验
- 访问Hugging Face版的在线Demo,https://huggingface.co/spaces/Doubiiu/tooncrafter
- 在Input Image添加输入图像
- 输入提示词并调节Seed值、步长、FPS等
- 最后点击Generate按钮进行生成视频
方法二、本地代码部署
开发人员可以选择本地部署和运行ToonCrafter,具体步骤如下:
- 获取代码:访问ToonCrafter的项目页面,或使用Git命令克隆或下载代码到本地。
git clone https://github.com/ToonCrafter/ToonCrafter.git
- 环境准备:通过Anaconda安装所需的Python环境和依赖库
conda create -n tooncrafter python=3.8.5 conda activate tooncrafter pip install -r requirements.txt
- 下载预训练模型:下载预先训练好的ToonCrafter_512模型并将其
model.ckpt
放入checkpoints/tooncrafter_512_interp_v1/model.ckpt
。 - 命令行运行
sh scripts/run.sh
- 运行本地Gradio版界面:你也可以选择运行本地Gradio UI,运行指令
python gradio_app.py
- 然后按照上方在线版的操作步骤输入图片并设置参数进行生成即可
© 版权声明
文章版权归作者所有,未经允许请勿转载。