|
# AniDoc: Animation Creation Made Easier |
|
<a href="https://yihao-meng.github.io/AniDoc_demo/"><img src="https://img.shields.io/static/v1?label=Project&message=Website&color=blue"></a> |
|
<a href="https://arxiv.org/pdf/2412.14173"><img src="https://img.shields.io/badge/arXiv-2404.12.14173-b31b1b.svg"></a> |
|
|
|
|
|
|
|
https://github.com/user-attachments/assets/99e1e52a-f0e1-49f5-b81f-e787857901e4 |
|
|
|
|
|
|
|
|
|
> <a href="https://yihao-meng.github.io/AniDoc_demo">**AniDoc: Animation Creation Made Easier**</a> |
|
> |
|
|
|
[Yihao Meng](https://yihao-meng.github.io/)<sup>1,2</sup>, [Hao Ouyang](https://ken-ouyang.github.io/)<sup>2</sup>, [Hanlin Wang](https://openreview.net/profile?id=~Hanlin_Wang2)<sup>3,2</sup>, [Qiuyu Wang](https://github.com/qiuyu96)<sup>2</sup>, [Wen Wang](https://github.com/encounter1997)<sup>4,2</sup>, [Ka Leong Cheng](https://felixcheng97.github.io/)<sup>1,2</sup> , [Zhiheng Liu](https://johanan528.github.io/)<sup>5</sup>, [Yujun Shen](https://shenyujun.github.io/)<sup>2</sup>, [Huamin Qu](http://www.huamin.org/index.htm/)<sup>β ,2</sup><br> |
|
<sup>1</sup>HKUST <sup>2</sup>Ant Group <sup>3</sup>NJU <sup>4</sup>ZJU <sup>5</sup>HKU <sup>β </sup>corresponding author |
|
|
|
> AniDoc colorizes a sequence of sketches based on a character design reference with high fidelity, even when the sketches significantly differ in pose and scale. |
|
</p> |
|
|
|
**Strongly recommend seeing our [demo page](https://yihao-meng.github.io/AniDoc_demo).** |
|
|
|
|
|
## Showcases: |
|
<p style="text-align: center;"> |
|
<img src="figure/showcases/image1.gif" alt="GIF" /> |
|
</p> |
|
<p style="text-align: center;"> |
|
<img src="figure/showcases/image2.gif" alt="GIF" /> |
|
</p> |
|
<p style="text-align: center;"> |
|
<img src="figure/showcases/image3.gif" alt="GIF" /> |
|
</p> |
|
<p style="text-align: center;"> |
|
<img src="figure/showcases/image4.gif" alt="GIF" /> |
|
</p> |
|
|
|
## Flexible Usage: |
|
### Same Reference with Varying Sketches |
|
<div style="display: flex; flex-direction: column; align-items: center; gap: 20px;"> |
|
<img src="figure/showcases/image29.gif" alt="GIF Animation"> |
|
<img src="figure/showcases/image30.gif" alt="GIF Animation"> |
|
<img src="figure/showcases/image31.gif" alt="GIF Animation" style="margin-bottom: 40px;"> |
|
<div style="text-align:center; margin-top: -50px; margin-bottom: 70px;font-size: 18px; letter-spacing: 0.2px;"> |
|
<em>Satoru Gojo from Jujutsu Kaisen</em> |
|
</div> |
|
</div> |
|
|
|
### Same Sketch with Different References. |
|
|
|
<div style="display: flex; flex-direction: column; align-items: center; gap: 20px;"> |
|
<img src="figure/showcases/image33.gif" alt="GIF Animation" > |
|
|
|
<img src="figure/showcases/image34.gif" alt="GIF Animation" > |
|
<img src="figure/showcases/image35.gif" alt="GIF Animation" style="margin-bottom: 40px;"> |
|
<div style="text-align:center; margin-top: -50px; margin-bottom: 70px;font-size: 18px; letter-spacing: 0.2px;"> |
|
<em>Anya Forger from Spy x Family</em> |
|
</div> |
|
</div> |
|
|
|
## TODO List |
|
|
|
- [x] Release the paper and demo page. Visit [https://yihao-meng.github.io/AniDoc_demo/](https://yihao-meng.github.io/AniDoc_demo/) |
|
- [x] Release the inference code. |
|
- [ ] Build Gradio Demo |
|
- [ ] Release the training code. |
|
- [ ] Release the sparse sketch setting interpolation code. |
|
|
|
|
|
## Requirements: |
|
The training is conducted on 8 A100 GPUs (80GB VRAM), the inference is tested on RTX 5000 (32GB VRAM). In our test, the inference requires about 14GB VRAM. |
|
## Setup |
|
``` |
|
git clone https://github.com/yihao-meng/AniDoc.git |
|
cd AniDoc |
|
``` |
|
|
|
## Environment |
|
All the tests are conducted in Linux. We suggest running our code in Linux. To set up our environment in Linux, please run: |
|
``` |
|
conda create -n anidoc python=3.8 -y |
|
conda activate anidoc |
|
|
|
bash install.sh |
|
``` |
|
## Checkpoints |
|
1. please download the pre-trained stable video diffusion (SVD) checkpoints from [here](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/tree/main), and put the whole folder under `pretrained_weight`, it should look like `./pretrained_weights/stable-video-diffusion-img2vid-xt` |
|
2. please download the checkpoint for our Unet and ControlNet from [here](https://huggingface.co/Yhmeng1106/anidoc/tree/main), and put the whole folder as `./pretrained_weights/anidoc`. |
|
3. please download the co_tracker checkpoint from [here](https://huggingface.co/facebook/cotracker/blob/main/cotracker2.pth) and put it as `./pretrained_weights/cotracker2.pth`. |
|
|
|
|
|
|
|
|
|
## Generate Your Animation! |
|
To colorize the target lineart sequence with a specific character design, you can run the following command: |
|
``` |
|
bash scripts_infer/anidoc_inference.sh |
|
``` |
|
|
|
|
|
We provide some test cases in `data_test` folder. You can also try our model with your own data. You can change the lineart sequence and corresponding character design in the script `anidoc_inference.sh`, where `--control_image` refers to the lineart sequence and `--ref_image` refers to the character design. |
|
|
|
|
|
|
|
## Citation: |
|
Don't forget to cite this source if it proves useful in your research! |
|
```bibtex |
|
@article{meng2024anidoc, |
|
title={AniDoc: Animation Creation Made Easier}, |
|
author={Yihao Meng and Hao Ouyang and Hanlin Wang and Qiuyu Wang and Wen Wang and Ka Leong Cheng and Zhiheng Liu and Yujun Shen and Huamin Qu}, |
|
journal={arXiv preprint arXiv:2412.14173}, |
|
year={2024} |
|
} |
|
|
|
``` |
|
|