Giter Site home page Giter Site logo

roop's Introduction

Take a video and replace the face in it with a face of your choice. You only need one image of the desired face. No dataset, no training.

That's it, that's the software.

demo-gif

Installation

Do not create any issues regarding installation problems. I am only responsible for issues in this program, use google for help.

  1. install python, pip and git
  2. install ffmpeg
  3. run the following commands in terminal:
git clone https://github.com/s0md3v/roop
cd roop
pip install -r requirements.txt
  1. Download this file and keep it in roop directory

GPU Accleration (Optional)

If you have a good enough GPU, you can use it to speed-up the face-swapping process by running run.py with --gpu flag. If you plan on doing it, you will need to install the appropriate onnxruntime-* package as follows:

NVIDIA

Install cuda and then,

pip install onnxruntime-gpu

AMD

Install ROCM-based torch packages from here and then,

git clone https://github.com/microsoft/onnxruntime
cd onnxruntime
./build.sh --config Release --build_wheel --update --build --parallel --cmake_extra_defines CMAKE_PREFIX_PATH=/opt/rocm/lib/cmake ONNXRUNTIME_VERSION=$ONNXRUNTIME_VERSION onnxruntime_BUILD_UNIT_TESTS=off --use_rocm --rocm_home=/opt/rocm
pip install build/Linux/Release/dist/*.whl

Usage

Note: When you run this program for the first time, it will download some models ~300MB in size.

Executing python run.py command will launch this window: gui-demo

Choose a face (image with desired face) and the target image/video (image/video in which you want to replace the face) and click on Start. Open file explorer and navigate to the directory you launched run.py from. You will find a directory named <video_title> where you can see the frames being swapped in realtime. Once the processing is done, it will create a video file named swapped-<video_title>.mp4. That's it.

Don't touch the FPS checkbox unless you know what you are doing.

Additional command line arguments are given below:

-h, --help            show this help message and exit
-f SOURCE_IMG, --face SOURCE_IMG
                        use this face
-t TARGET_PATH, --target TARGET_PATH
                        replace this face
--keep-fps            keep original fps
--gpu                 use gpu
--keep-frames         don't delete frames directory

Looking for a CLI mode? Using the -f/--face argument will make the program in cli mode.

Future plans

  • Replace a selective face throughout the video
  • Support for replacing multiple faces

Credits

  • ffmpeg: for making video related operations easy
  • deepinsight: for their insightface project which provided a well-made library and models.
  • and all developers behind libraries used in this project.

roop's People

Contributors

s0md3v avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.