Complete ReadMe

Add internal link to Preparation and Usage.
Add top news.
This commit is contained in:
Liu Ziang
2021-06-20 12:42:44 +08:00
parent 5fc482cf65
commit d147ee8072
4 changed files with 85 additions and 21 deletions

View File

@@ -20,6 +20,11 @@ Currently, only the test code is available, and training scripts are coming soon
![video4](/doc/img/zhoujielun.webp)
![video5](/doc/img/zhuyin.webp)
## Top News
**`2021-06-20`**: We release the scripts for arbitrary video and image processing.
## Results
![Results1](/doc/img/results1.PNG)
@@ -29,7 +34,6 @@ Currently, only the test code is available, and training scripts are coming soon
<img src="./doc/img/video.webp"/>
**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
```

View File

@@ -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.

47
doc/guidance/usage.md Normal file
View File

@@ -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.
<img src="../img/multi_face_comparison.png"/>
### 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 MiB