ToonCrafter是什么?
Tooncrafter是由腾讯人工智能实验室、香港中文大学和香港城市大学研究人员开源的卡通动画视频中间帧生成工具。它突破了传统卡通动画制作中线性运动的假设限制。采用创新的生成插值技术,只需两张关键帧图片即可自动生成中间动态帧,创造出流畅的动画效果。与需要逐帧绘制的传统动画制作方法相比,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解码器:ToonCrafter可以通过使用双参考3D解码器来补偿潜在空间压缩造成的细节损失。该解码器通过混合注意力残留学习机制(HAR),将输入图像的细节注入到生成帧的潜在表示中。
- 混合注意力残差的学习机制(HAR):在解码过程中,HAR通过交叉注意机制将输入图像的特征注入解码器的浅层,并使用残留学习来增强细节的恢复。
- 伪3D卷积(Pseudo-3D Convolution):ToonCrafter在解码器中引入伪3D卷积,有助于提高时间序列帧之间的一致性。
- 草图编码器(Sketch Encoder):它提供了一个独立的草图编码器,允许用户通过输入草图来控制生成动画的运动和风格,增加生成过程的交互性和可控性。
- 扩散模型(Diffusion Models):基于扩散模型,Tooncrafter是一种从数据中逐渐添加噪声,然后学习逆过程来消除噪声并恢复数据的生成模型。这允许在视频生成中从随机噪声中生成连续的视频帧。
- 迭代去噪过程:ToonCrafter在生成每一帧时,通过迭代去噪过程逐渐细化生成的图像,从噪声中恢复出清晰的帧。
- 训练和优化端到端:Tooncrafter的每个组件都通过端到端的方式进行训练和优化,以确保整个插值过程的协同工作和最终生成视频的质量。
- 多模态输入支持:Tooncrafter除了开始和结束帧外,还支持草图、参考图像等多模态输入,以增强动画生成的表现力和控制力。
如何使用和体验ToonCrafter?
方法一:在线版Demo体验
- 访问Hugging 在线DemoFace版,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
- 然后按照上面在线版的操作步骤输入图片并设置参数生成
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...