tbaronnat/roop-dataset

Roop faceswap with dataset

1.0.0 2024-03-28 19:53 UTC

This package is not auto-updated.

Last update: 2024-04-26 17:35:01 UTC


README

Google Colab Link: Click here

Roop

Take a video and replace the face in it with a face of your choice. No training.

You only need one image of the desired face. Use --source option

You can also add a dataset directory with many images of the desired face. The script will select the best source image for swap for each target. Use --source_dir option

You can also add a target directory instead of target path, with many images than will be processed with loop

Build Status

Installation

Be aware, the installation needs technical skills and is not for beginners. Please do not open platform and installation related issues on GitHub. We have a very helpful.

Basic - It is more likely to work on your computer, but will be quite slow

Acceleration - Unleash the full potential of your CPU and GPU

Usage

Start the program with arguments:

python run.py [options]

-h, --help                                                                 show this help message and exit
-s SOURCE_PATH, --source SOURCE_PATH                                       select an source image (if not chose dataset instead)
-sd SOURCE_DIR, --source_dir source_dir_PATH                               select an source dataset
-t TARGET_PATH, --target TARGET_PATH                                       select an target image or video
-td TARGET_DIR, --target_dir TARGET_DIR                                    select a target directory with images or videos to process
-o OUTPUT_PATH, --output OUTPUT_PATH                                       select output file or directory
--frame-processor FRAME_PROCESSOR [FRAME_PROCESSOR ...]                    frame processors (choices: face_swapper, face_enhancer, ...)
--gpu                                                                      precise if use gpu (default: True)
--keep-fps                                                                 keep target fps
--keep-frames                                                              keep temporary frames
--skip-audio                                                               skip target audio
--many-faces                                                               process every face
--reference-face-position REFERENCE_FACE_POSITION                          position of the reference face
--reference-frame-number REFERENCE_FRAME_NUMBER                            number of the reference frame
--similar-face-distance SIMILAR_FACE_DISTANCE                              face distance used for recognition
--temp-frame-format {jpg,png}                                              image format used for frame extraction
--temp-frame-quality [0-100]                                               image quality used for frame extraction
--output-video-encoder {libx264,libx265,libvpx-vp9,h264_nvenc,hevc_nvenc}  encoder used for the output video
--output-video-quality [0-100]                                             quality used for the output video
--max-memory MAX_MEMORY                                                    maximum amount of RAM in GB
--execution-provider {cpu} [{cpu} ...]                                     available execution provider (choices: cpu, ...)
--execution-threads EXECUTION_THREADS                                      number of execution threads
-v, --version                                                              show program's version number and exit

Headless

Using the (-s/--source or -sd/--source_dir), (-t/--target or -td/--target_dir) and -o/--output argument will run the program in headless mode.

Disclaimer

This software is designed to contribute positively to the AI-generated media industry, assisting artists with tasks like character animation and models for clothing.

We are aware of the potential ethical issues and have implemented measures to prevent the software from being used for inappropriate content, such as nudity.

Users are expected to follow local laws and use the software responsibly. If using real faces, get consent and clearly label deepfakes when sharing. The developers aren't liable for user actions.

Licenses

Our software uses a lot of third party libraries as well pre-trained models. The users should keep in mind that these third party components have their own license and terms, therefore our license is not being applied.

Credits

  • deepinsight for their insightface project which provided a well-made library and models.
  • all developers behind the libraries used in this project

Documentation

Read the documentation for a deep dive.