Sen descrición

xuzuoyun a46a6b373d '1' %!s(int64=3) %!d(string=hai) anos
.vscode 8957364625 init %!s(int64=3) %!d(string=hai) anos
checkpoints 7891a98723 a %!s(int64=3) %!d(string=hai) anos
crop_224 3ee304b0e1 update %!s(int64=4) %!d(string=hai) anos
data 01a8d6d0a6 init %!s(int64=4) %!d(string=hai) anos
database 862c57126b '1' %!s(int64=3) %!d(string=hai) anos
demo_file 8957364625 init %!s(int64=3) %!d(string=hai) anos
docs d04c4c2f82 reduce loading burden %!s(int64=3) %!d(string=hai) anos
insightface_func 8957364625 init %!s(int64=3) %!d(string=hai) anos
models 01a8d6d0a6 init %!s(int64=4) %!d(string=hai) anos
options 8957364625 init %!s(int64=3) %!d(string=hai) anos
parsing_model 8957364625 init %!s(int64=3) %!d(string=hai) anos
simswaplogo b394ffdffd Updated %!s(int64=4) %!d(string=hai) anos
util 8957364625 init %!s(int64=3) %!d(string=hai) anos
.gitattributes a0dab0c7b1 Initial commit %!s(int64=4) %!d(string=hai) anos
.gitignore 7891a98723 a %!s(int64=3) %!d(string=hai) anos
LICENSE 40595829ce Update LICENSE %!s(int64=4) %!d(string=hai) anos
MultiSpecific.ipynb 4e7c555848 fix model param downloading bug %!s(int64=3) %!d(string=hai) anos
README.md ab198b253d Update README.md %!s(int64=3) %!d(string=hai) anos
main.py a46a6b373d '1' %!s(int64=3) %!d(string=hai) anos
test_one_image.py ca800ef00b Update test_one_image.py %!s(int64=3) %!d(string=hai) anos
test_video_swap_multispecific.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos
test_video_swapmulti.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos
test_video_swapsingle.py 8957364625 init %!s(int64=3) %!d(string=hai) anos
test_video_swapspecific.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos
test_wholeimage_swap_multispecific.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos
test_wholeimage_swapmulti.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos
test_wholeimage_swapsingle.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos
test_wholeimage_swapspecific.py 5e1e0dd90e Added the option for using mask %!s(int64=3) %!d(string=hai) anos

README.md

SimSwap: An Efficient Framework For High Fidelity Face Swapping

Proceedings of the 28th ACM International Conference on Multimedia

The official repository with Pytorch

*Our method can realize arbitrary face swapping on images and videos with one single trained model.*

Currently, only the test code is available. Training scripts are coming soon

simswaplogo

Our paper can be downloaded from [Arxiv] [ACM DOI]

Attention

This project is for technical and academic use only. Please do not apply it to illegal and unethical scenarios.

If you find this project useful, please star it. It is the greatest appreciation of our work.

Top News

2021-07-19: Obvious border abruptness has been resolved. We add the ability to using mask and upgrade the old algorithm for better visual effect, please go to Inference for image or video face swapping for details. Please don’t forget to go to Preparation to check the latest set up. (Thanks for the help from @woctezuma and @instant-high)

2021-07-04: A new Colab performing multi specific face video swapping has been added. You can check it out here

2021-07-03: We add the scripts for multi specific face swapping, please go to Inference for image or video face swapping for details.

2021-07-02: We add the scripts for designating a specific person in arbitrary video or image to change face, please go to Inference for image or video face swapping for details.

2021-07-02: We have added a hyper parameter to allow users to choose whether to add the simswap logo as a watermark, please go to the section "About watermark of simswap logo" of Inference for image or video face swapping for details.

2021-06-20: We release the scripts for arbitrary video and image processing, and a colab demo.

Dependencies

  • python3.6+
  • pytorch1.5+
  • torchvision
  • opencv
  • pillow
  • numpy
  • imageio
  • moviepy
  • insightface

Usage

Preparation

Inference for image or video face swapping

Colab demo

Stronger feature

Colab fo switching specific faces in multi-face videos

Training: coming soon

Video

Results

Results1

Results2

High-quality videos can be found in the link below:

[Mama(video) 1080p]

[Google Drive link for video 1]

[Google Drive link for video 2]

[Google Drive link for video 3]

[Baidu Drive link for video] Password: b26n

[Online Video]

User case

If you have some interesting results after using our project and are willing to share, you can contact us by email or share directly on the issue. Later, we may make a separate section to show these results, which should be cool.

At the same time, if you have suggestions for our project, please feel free to ask questions in the issue, or contact us directly via email: email1, email2, email3. (All three can be contacted, just choose any one)

License

For academic and non-commercial use only.The whole project is under the CC-BY-NC 4.0 license. See LICENSE for additional details.

To cite our paper

@inproceedings{DBLP:conf/mm/ChenCNG20,
  author    = {Renwang Chen and
               Xuanhong Chen and
               Bingbing Ni and
               Yanhao Ge},
  title     = {SimSwap: An Efficient Framework For High Fidelity Face Swapping},
  booktitle = {{MM} '20: The 28th {ACM} International Conference on Multimedia},
  pages     = {2003--2011},
  publisher = {{ACM}},
  year      = {2020},
  url       = {https://doi.org/10.1145/3394171.3413630},
  doi       = {10.1145/3394171.3413630},
  timestamp = {Thu, 15 Oct 2020 16:32:08 +0200},
  biburl    = {https://dblp.org/rec/conf/mm/ChenCNG20.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Related Projects

Please visit our another ACMMM2020 high-quality style transfer project

logo

title

Learn about our other projects [RainNet];

[Sketch Generation];

[CooGAN];

[Knowledge Style Transfer];

[SimSwap];

[ASMA-GAN];

[SNGAN-Projection-pytorch]

[Pretrained_VGG19].

Acknowledgements