champ / README.md
benjamin-paine's picture
Update README.md
7152faf verified
|
raw
history blame
2.42 kB
metadata
license: apache-2.0

This repository contains a pruned and partially reorganized version of CHAMP.

@misc{zhu2024champ,
      title={Champ: Controllable and Consistent Human Image Animation with 3D Parametric Guidance}, 
      author={Shenhao Zhu and Junming Leo Chen and Zuozhuo Dai and Yinghui Xu and Xun Cao and Yao Yao and Hao Zhu and Siyu Zhu},
      year={2024},
      eprint={2403.14781},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Video credit: Polina Tankilevitch, Pexels

Image credit: Andrea Piacquadio, Pexels

Usage

First, install the CHAMP package into your python environment. If you're creating a new environment for CHAMP, be sure you also specify the version of torch you want with CUDA support, or else this will try to run only on CPU.

pip install git+https://github.com/painebenjamin/champ.git

Now, you can create the pipeline, automatically pulling the weights from this repository, either as individual models:

from champ import CHAMPPipeline
pipeline = CHAMPPipeline.from_pretrained(
  "benjamin-paine/champ",
  torch_dtype=torch.float16,
  variant="fp16",
  device="cuda"
).to("cuda", dtype=torch.float16)

Or, as a single file:

from champ import CHAMPPipeline
pipeline = CHAMPPipeline.from_single_file(
  "benjamin-paine/champ",
  torch_dtype=torch.float16,
  variant="fp16",
  device="cuda"
).to("cuda", dtype=torch.float16)

Follow this format for execution:

result = pipeline(
  reference: PIL.Image.Image,
  guidance: Dict[str, List[PIL.Image.Image]],
  width: int,
  height: int,
  video_length: int,
  num_inference_steps: int,
  guidance_scale: float
).videos
# Result is a list of PIL Images

Starting values for num_inference_steps and guidance_scale are 20 and 3.5, respectively.

Guidance keys include depth, normal, dwpose and semantic_map (densepose.) This guide does not provide details on how to obtain those samples, but examples are available in the git repository.