svjack's picture
Update README.md
2eb03e6 verified
## ___***ToonCrafter_with_SketchGuidance***___
This repository is an implementation that recreates the SketchGuidance feature of "ToonCrafter".
- https://github.com/ToonCrafter/ToonCrafter
- https://arxiv.org/pdf/2405.17933
https://github.com/user-attachments/assets/f72f287d-f848-4982-8f91-43c49d037007
# ToonCrafter with Sketch Guidance
## Overview
This repository contains the ToonCrafter model with additional sketch guidance functionality. The model is hosted on GitHub and can be accessed via the following link:
- **Repository:** [https://github.com/svjack/ToonCrafter_with_SketchGuidance](https://github.com/svjack/ToonCrafter_with_SketchGuidance)
## Installation
### Clone the Repository
To clone the repository and set up the environment, follow these steps:
```bash
git clone https://github.com/svjack/ToonCrafter_with_SketchGuidance && cd ToonCrafter_with_SketchGuidance
pip install -r requirements.txt
pip install --upgrade einops
```
### List Control Models
After cloning the repository, you can list the control models available:
```bash
ls control_models
```
### Download Sketch Encoder
Download the `sketch_encoder.ckpt` file from the Hugging Face repository:
```bash
wget https://huggingface.co/Doubiiu/ToonCrafter/resolve/main/sketch_encoder.ckpt
```
### Copy Sketch Encoder to Control Models
Move the downloaded `sketch_encoder.ckpt` file to the `control_models` directory:
```bash
cp sketch_encoder.ckpt control_models
```
## Usage
### Run the Gradio App
Once the repository is cloned and the necessary files are in place, you can run the Gradio app using the following command:
```bash
python gradio_app.py
```
This will start the Gradio interface, allowing you to interact with the ToonCrafter model with sketch guidance.
## 🧰 Models
|Model|Resolution|GPU Mem. & Inference Time (A100, ddim 50steps)|Checkpoint|
|:---------|:---------|:--------|:--------|
|ToonCrafter_512|320x512| TBD (`perframe_ae=True`)|[Hugging Face](https://huggingface.co/Doubiiu/ToonCrafter/blob/main/model.ckpt)|
|SketchEncoder|TBD| TBD |[Hugging Face](https://huggingface.co/Doubiiu/ToonCrafter/blob/main/sketch_encoder.ckpt)|
Currently, ToonCrafter can support generating videos of up to 16 frames with a resolution of 512x320. The inference time can be reduced by using fewer DDIM steps.
## ⚙️ Setup
### Install Environment via Anaconda (Recommended)
```bash
conda create -n tooncrafter python=3.8.5
conda activate tooncrafter
pip install -r requirements.txt
```
## 💫 Inference
### 1. Local Gradio demo
1. Download pretrained ToonCrafter_512 and put the model.ckpt in checkpoints/tooncrafter_512_interp_v1/model.ckpt.
2. Download pretrained SketchEncoder and put the model.ckpt in control_models/sketch_encoder.ckpt.
```bash
python gradio_app.py
```