From d147ee8072f941986be5f6dd0e2ac75241df638c Mon Sep 17 00:00:00 2001
From: Liu Ziang <1125402467@qq.com>
Date: Sun, 20 Jun 2021 12:42:44 +0800
Subject: [PATCH 1/7] Complete ReadMe
Add internal link to Preparation and Usage.
Add top news.
---
README.md | 32 +++++++-------------
doc/guidance/preparation.md | 27 +++++++++++++++++
doc/guidance/usage.md | 47 ++++++++++++++++++++++++++++++
doc/img/multi_face_comparison.png | Bin 0 -> 5950739 bytes
4 files changed, 85 insertions(+), 21 deletions(-)
create mode 100644 doc/guidance/preparation.md
create mode 100644 doc/guidance/usage.md
create mode 100644 doc/img/multi_face_comparison.png
diff --git a/README.md b/README.md
index 3471013..4c1f81d 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,11 @@ Currently, only the test code is available, and training scripts are coming soon


+## Top News
+
+**`2021-06-20`**: We release the scripts for arbitrary video and image processing.
+
+
## Results

@@ -29,7 +34,6 @@ Currently, only the test code is available, and training scripts are coming soon
-
**High-quality videos can be found in the link below:**
[[Mama(video) 1080p]](https://drive.google.com/file/d/1JTruy6BTnT1EK1PSaZ4x-F8RhtZU_kT3/view?usp=sharing)
@@ -45,6 +49,8 @@ Currently, only the test code is available, and training scripts are coming soon
[[Online Video]](https://www.bilibili.com/video/BV12v411p7j5/)
+
+
## Dependencies
- python3.6+
- pytorch1.5+
@@ -52,28 +58,12 @@ Currently, only the test code is available, and training scripts are coming soon
- opencv
- pillow
- numpy
-
+- moviepy
+- insightface
## Usage
-### To test the pretrained model
-```
-python test_one_image.py --isTrain false --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path crop_224/6.jpg --pic_b_path crop_224/ds.jpg --output_path output/
-```
-
---name refers to the SimSwap training logs name.
-
-## Pretrained model
-
-### Usage
-There are two archive files in the drive: **checkpoints.zip** and **arcface_checkpoint.tar**
-
-- **Copy the arcface_checkpoint.tar into ./arcface_model**
-- **Unzip checkpoints.zip, place it in the root dir ./**
-
-[[Google Drive]](https://drive.google.com/drive/folders/1jV6_0FIMPC53FZ2HzZNJZGMe55bbu17R?usp=sharing)
-
-[[Baidu Drive]](https://pan.baidu.com/s/1wFV11RVZMHqd-ky4YpLdcA) Password: ```jd2v```
-
+[Preparation](./doc/guidance/preparation.md)
+[Simple Usage](./doc/guidance/usage.md)
## To cite our paper
```
diff --git a/doc/guidance/preparation.md b/doc/guidance/preparation.md
new file mode 100644
index 0000000..7c1f6c6
--- /dev/null
+++ b/doc/guidance/preparation.md
@@ -0,0 +1,27 @@
+
+# Preparation
+
+### Environment and Dependencies
+```
+conda create -n simswap python=3.6
+conda activate simswap
+conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch
+(option): pip install --ignore-installed imageio
+pip install insightface==0.2.1 onnxruntime moviepy
+```
+- We use the face detection and alignment methods from **[insightface](https://github.com/deepinsight/insightface)** for image preprocessing. Please download the relative files and save them to ./insightface_func/models from [this link](https://onedrive.live.com/?authkey=%21ADJ0aAOSsc90neY&cid=4A83B6B633B029CC&id=4A83B6B633B029CC%215837&parId=4A83B6B633B029CC%215834&action=locate).
+- The pytorch and cuda versions above are most recommanded. They may vary.
+- Using insightface with different versions is not recommanded. Please use this specific version.
+- These settings are tested valid on both Windows and Ununtu.
+
+### Pretrained model
+There are two archive files in the drive: **checkpoints.zip** and **arcface_checkpoint.tar**
+
+- **Copy the arcface_checkpoint.tar into ./arcface_model**
+- **Unzip checkpoints.zip, place it in the root dir ./**
+
+[[Google Drive]](https://drive.google.com/drive/folders/1jV6_0FIMPC53FZ2HzZNJZGMe55bbu17R?usp=sharing)
+[[Baidu Drive]](https://pan.baidu.com/s/1wFV11RVZMHqd-ky4YpLdcA) Password: ```jd2v```
+
+### Note
+We expect users to have GPU with at least 8G memory. For those who do not, we will provide Colab Notebook implementation in the future.
diff --git a/doc/guidance/usage.md b/doc/guidance/usage.md
new file mode 100644
index 0000000..f75acf1
--- /dev/null
+++ b/doc/guidance/usage.md
@@ -0,0 +1,47 @@
+
+# Usage
+
+### Simple face swaping for already face-aligned images
+```
+python test_one_image.py --isTrain false --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path crop_224/6.jpg --pic_b_path crop_224/ds.jpg --output_path output/
+```
+
+### Face swaping for video
+- Swap only one face within the video(the one with highest confidence by face detection).
+```
+python test_video_swapsingle.py --isTrain false --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path ./demo_file/Iron_man.jpg --video_path ./demo_file/mutil_people_1080p.mp4 --output_path ./output/mutil_test_swapsingle.mp4 --temp_path ./temp_results
+```
+
+- Swap all faces within the video.
+```
+python test_video_swapmutil.py --isTrain false --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path ./demo_file/Iron_man.jpg --video_path ./demo_file/mutil_people_1080p.mp4 --output_path ./output/mutil_test_swapmutil.mp4 --temp_path ./temp_results
+```
+
+
+
+
+### Face swaping for Arbitrary images
+- Swap only one face within one image(the one with highest confidence by face detection). The result would be saved to ./output/result_whole_swapsingle.jpg
+```
+python test_wholeimage_swapsingle.py --isTrain false --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path ./demo_file/Iron_man.jpg --pic_b_path ./demo_file/mutil_people.jpg --output_path ./output/
+```
+
+- Swap all faces within one image. The result would be saved to ./output/result_whole_swapmutil.jpg
+```
+python test_wholeimage_swapmutil.py --isTrain false --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path ./demo_file/Iron_man.jpg --pic_b_path ./demo_file/mutil_people.jpg --output_path ./output/
+```
+Difference between single face swapping and all face swapping are shown below.
+
+
+### Parameters
+| Parameters | Function |
+| :---- | :---- |
+| --name | The SimSwap training logs name |
+| --pic_a_path | Path of image with the target face |
+| --pic_b_path | Path of image with the source face to swap |
+| --video_path | Path of video with the source face to swap |
+| --temp_path | Path to store intermediate files |
+| --output_path | Path of directory to store the face swapping result |
+
+### Note
+We expect users to have GPU with at least 8G memory. For those who do not, we will provide Colab Notebook implementation in the future.
diff --git a/doc/img/multi_face_comparison.png b/doc/img/multi_face_comparison.png
new file mode 100644
index 0000000000000000000000000000000000000000..b3195721c154d3044fdae250fc2cdf120f9a8319
GIT binary patch
literal 5950739
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
z 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