commit 217628f48fb268284b218079834f5994ff0a05df Author: GuijiIntelligence Date: Tue Aug 20 17:04:05 2024 +0800 first commit diff --git a/README.md b/README.md new file mode 100755 index 0000000..fce1094 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +# ReHiFace-S πŸ€–πŸ€–πŸ€– + +## πŸš€ Introduction + +ReHiFace-S, short for β€œReal Time High-Fidelity Faceswap”, is a real-time high-fidelity faceswap algorithm created by Silicon-based Intelligence. By open-sourcing the capabilities of digital human generation, developers can easily generate large-scale digital humans who they want, enabling real-time faceswap capability. + +## πŸ’ͺ Project features + +- Real-time on NVIDIA GTX 1080Ti +- Zero-shot inference +- High Fidelity faceswap +- Support ONNX and live camera mode +- Support super resulution and color transfer +- Better Xseg model for face segment + +## πŸ”₯ **Examples** + +We show some faceswap examples.
+

+ showcase +
+

+

+ showcase +
+

+ +## πŸ”§ Getting Started + +### Clone the code and prepare the environment + +- Python >= 3.9 (Recommend to use [Anaconda](https://www.anaconda.com/download/#linux) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html)) +- [PyTorch >= 1.13](https://pytorch.org/) +- CUDA 11.7 +- Linux Ubuntu20.04
+ +```bash +conda create --name faceswap python=3.9 +conda activate faceswap +pip install -r requirements.txt +``` + +## 😊 Pretrained models + +Download all pretrained weights from [Google Drive](https://drive.google.com/drive/folders/1hVWFXPIDwACqoKKtgXAJubYC_H4k5njc?usp=drive_link) or [Baidu Yun](https://pan.baidu.com/s/1Bn47xOjZg-oU7_WyAHu3EQ?pwd=9bjo). We have packed all weights in one directory 😊. Download and place them in `./pretrain_models` folder ensuring the directory structure is as follows:
+```python +pretrain_models +β”œβ”€β”€ 9O_865k.onnx +β”œβ”€β”€ CurricularFace.tjm +β”œβ”€β”€ gfpganv14_fp32_bs1_scale.onnx +β”œβ”€β”€ pfpld_robust_sim_bs1_8003.onnx +β”œβ”€β”€ scrfd_500m_bnkps_shape640x640.onnx +β”œβ”€β”€ xseg_230611_16_17.onnx +``` + +## πŸ’» How to Test + +```python +CUDA_VISIBLE_DEICES='0' python inference.py +``` +Or, you can change the input by specifying the `--src_img_path` and `--video_path` arguments: +```python +CUDA_VISIBLE_DEICES='0' python inference.py --src_img_path --video_path +``` + +### Live Cam faceswap + +You should at least run by NVIDIA GTX 1080Ti.
+ +***Notice: The time taken to render to a video and warm up the models are not included.***
+ +Not support Super Resolution. +```python +CUDA_VISIBLE_DEICES='0' python inference_cam.py +``` +***Notice: Support change source face during live with 'data/image_feature_dict.pkl' !*** +

+ showcase +
+

+

+ showcase +
+

+ +## πŸ€— Gradio interface + +We also provide a Gradio interface for a better experience, just run by: + +```bash +python app.py +``` + +## ✨ Acknowledgments + +- Thanks to [Hififace](https://github.com/johannwyh/HifiFace) for base faceswap framework.
+- Thanks to [CurricularFace](https://github.com/HuangYG123/CurricularFace) for pretrained face feature model.
+- Thanks to [Xseg](https://github.com/iperov/DeepFaceLab/tree/master) for base face segment framework. +- Thanks to [GFPGAN](https://github.com/TencentARC/GFPGAN) for face super resolution. +- Thanks to [LivePortrait](https://github.com/KwaiVGI/LivePortrait) and [duix.ai](https://github.com/GuijiAI/duix.ai) for README template. + + +## 🌟 Citation + +If you find ReHiFace-S useful for your research, welcome to 🌟 this repo.