README.md 4.0 KB
Newer Older
H
hypox64 已提交
1 2
![image](./imgs/hand.gif)
# <img src="./imgs/icon.jpg" width="48">DeepMosaics
HypoX64's avatar
HypoX64 已提交
3
You can use it to automatically remove the mosaics in images and videos, or add mosaics to them.<br>
H
HypoX64 已提交
4 5 6
This porject based on "semantic segmentation" and "Image-to-Image Translation".<br>

* [中文版README](./README_CN.md)<br>
H
hypox64 已提交
7

H
hypox64 已提交
8
### More example
H
hypox64 已提交
9

H
hypox64 已提交
10 11
origin | auto add mosaic |  auto clean mosaic  
:-:|:-:|:-:
H
HypoX64 已提交
12 13
![image](./imgs/example/lena.jpg) | ![image](./imgs/example/lena_add.jpg) | ![image](./imgs/example/lena_clean.jpg) 
![image](./imgs/example/youknow.png)  | ![image](./imgs/example/youknow_add.png) | ![image](./imgs/example/youknow_clean.png) 
H
hypox64 已提交
14

H
hypox64 已提交
15
* Compared with [DeepCreamPy](https://github.com/deeppomf/DeepCreamPy)
H
hypox64 已提交
16

H
hypox64 已提交
17 18
mosaic image | DeepCreamPy | ours  
:-:|:-:|:-:
H
HypoX64 已提交
19 20
![image](./imgs/example/face_a_mosaic.jpg) | ![image](./imgs/example/a_dcp.png) | ![image](./imgs/example/face_a_clean.jpg) 
![image](./imgs/example/face_b_mosaic.jpg) | ![image](./imgs/example/b_dcp.png) | ![image](./imgs/example/face_b_clean.jpg) 
H
hypox64 已提交
21

H
HypoX64 已提交
22
* Style Transfer
H
hypox64 已提交
23

H
HypoX64 已提交
24 25 26
origin | to Van Gogh | to winter
:-:|:-:|:-:
![image](./imgs/example/SZU.jpg) | ![image](./imgs/example/SZU_vangogh.jpg) | ![image](./imgs/example/SZU_summer2winter.jpg) 
H
hypox64 已提交
27

H
HypoX64 已提交
28
An interesting example:[Ricardo Milos to cat](https://www.bilibili.com/video/BV1Q7411W7n6)
H
hypox64 已提交
29

H
hypox64 已提交
30 31 32 33 34
## Run DeepMosaics
You can either run DeepMosaics via pre-built binary package or from source.<br>

### Pre-built binary package
For windows, we bulid a GUI version for easy test.<br>
H
HypoX64 已提交
35
Download this version and pre-trained model via [[Google Drive]](https://drive.google.com/open?id=1LTERcN33McoiztYEwBxMuRjjgxh4DEPs)  [[百度云,提取码1x0a]](https://pan.baidu.com/s/10rN3U3zd5TmfGpO_PEShqQ) <br>
H
hypox64 已提交
36

H
HypoX64 已提交
37
* [[How to use]](./docs/exe_help.md)<br>
H
hypox64 已提交
38

H
hypox64 已提交
39
![image](./imgs/GUI.png)<br>
H
hypox64 已提交
40
Attentions:<br>
H
HypoX64 已提交
41

H
hypox64 已提交
42
  - Require Windows_x86_64, Windows10 is better.<br>
H
HypoX64 已提交
43 44 45 46
  - Different pre-trained models are suitable for different effects.[[Introduction to pre-trained models]](./docs/pre-trained_models_introduction.md)<br>
  - Run time depends on computer performance(The current version does not support gpu, if you need to use gpu please run source).<br>
  - If output video cannot be played, you can try with [potplayer](https://daumpotplayer.com/download/).<br>
  - GUI version update slower than source.<br>
H
hypox64 已提交
47 48 49

### Run from source
#### Prerequisites
H
hypox64 已提交
50 51
  - Linux, Mac OS, Windows
  - Python 3.6+
H
hypox64 已提交
52
  - [ffmpeg 3.4.6](http://ffmpeg.org/)
H
HypoX64 已提交
53
  - [Pytorch 1.0+](https://pytorch.org/)
H
hypox64 已提交
54
  - CPU or NVIDIA GPU + CUDA CuDNN<br>
H
hypox64 已提交
55 56
#### Dependencies
This code depends on opencv-python, torchvision available via pip install.
H
hypox64 已提交
57
#### Clone this repo
HypoX64's avatar
HypoX64 已提交
58 59
```bash
git clone https://github.com/HypoX64/DeepMosaics
HypoX64's avatar
HypoX64 已提交
60
cd DeepMosaics
HypoX64's avatar
HypoX64 已提交
61
```
H
HypoX64 已提交
62
#### Get pre-trained models
63
You can download pre_trained models and put them into './pretrained_models'.<br>
H
HypoX64 已提交
64 65
[[Google Drive]](https://drive.google.com/open?id=1LTERcN33McoiztYEwBxMuRjjgxh4DEPs)  [[百度云,提取码1x0a]](https://pan.baidu.com/s/10rN3U3zd5TmfGpO_PEShqQ)<br>
[[Introduction to pre-trained models]](./docs/pre-trained_models_introduction.md)<br>
H
hypox64 已提交
66

H
hypox64 已提交
67
#### Simple example
H
hypox64 已提交
68
* Add Mosaic (output media will save in './result')<br>
HypoX64's avatar
HypoX64 已提交
69
```bash
H
hypox64 已提交
70
python3 deepmosaic.py --media_path ./imgs/ruoruo.jpg --model_path ./pretrained_models/mosaic/add_face.pth --use_gpu 0
HypoX64's avatar
HypoX64 已提交
71
```
H
hypox64 已提交
72
* Clean Mosaic (output media will save in './result')<br>
HypoX64's avatar
HypoX64 已提交
73
```bash
H
hypox64 已提交
74
python3 deepmosaic.py --media_path ./result/ruoruo_add.jpg --model_path ./pretrained_models/mosaic/clean_face_HD.pth --use_gpu 0
HypoX64's avatar
HypoX64 已提交
75
```
H
hypox64 已提交
76
#### More parameters
H
HypoX64 已提交
77 78
If you want to test other image or video, please refer to this file.<br>
[[options_introduction.md]](./docs/options_introduction.md) <br>
H
hypox64 已提交
79

H
hypox64 已提交
80 81 82
## Training with your own dataset
If you want to train with your own dataset, please refer to [training_with_your_own_dataset.md](./docs/training_with_your_own_dataset.md)

HypoX64's avatar
HypoX64 已提交
83
## Acknowledgments
H
hypox64 已提交
84 85
This code borrows heavily from [[pytorch-CycleGAN-and-pix2pix]](https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix) [[Pytorch-UNet]](https://github.com/milesial/Pytorch-UNet) [[pix2pixHD]](https://github.com/NVIDIA/pix2pixHD) [[BiSeNet]](https://github.com/ooooverflow/BiSeNet).