DeepMosaics
English | 中文
You can use it to automatically remove the mosaics in images and videos, or add mosaics to them.
This project is based on "semantic segmentation" and "Image-to-Image Translation".
Try it at this website!
Examples
origin | auto add mosaic | auto clean mosaic |
---|---|---|
- Compared with DeepCreamPy
mosaic image | DeepCreamPy | ours |
---|---|---|
- Style Transfer
origin | to Van Gogh | to winter |
---|---|---|
An interesting example:Ricardo Milos to cat
Run DeepMosaics
You can either run DeepMosaics via a pre-built binary package, or from source.
Try it on web
You can simply try to remove the mosaic on the face at this website.
Pre-built binary package
For Windows, we bulid a GUI version for easy testing.
Download this version, and a pre-trained model via [Google Drive] [百度云,提取码1x0a]
- [Help document]
- Video tutorial => [youtube] [bilibili]
- Requires Windows_x86_64, Windows10 is better.
- Different pre-trained models are suitable for different effects.[Introduction to pre-trained models]
- Run time depends on computers performance (GPU version has better performance but requires CUDA to be installed).
- If output video cannot be played, you can try with potplayer.
- GUI version updates slower than source.
Run From Source
Prerequisites
- Linux, Mac OS, Windows
- Python 3.6+
- ffmpeg 3.4.6
- Pytorch 1.0+
- CPU or NVIDIA GPU + CUDA CuDNN
Dependencies
This code depends on opencv-python, torchvision available via pip install.
Clone this repo
git clone https://github.com/HypoX64/DeepMosaics.git
cd DeepMosaics
Get Pre-Trained Models
You can download pre_trained models and put them into './pretrained_models'.
[Google Drive] [百度云,提取码1x0a]
[Introduction to pre-trained models]
In order to add/remove mosaic, there must be a model file mosaic_position.pth
at ./pretrained_models/mosaic/mosaic_position.pth
Install dependencies
(Optional) Create a virtual environment
virtualenv mosaic
source mosaic/bin/activate
Then install the dependencies
pip install -r requirements.txt
If you can not build scikit-image
, running export CFLAGS='-Wno-implicit-function-declaration
then try to rebuild.
Simple Example
- Add Mosaic (output media will be saved in './result')
python deepmosaic.py --media_path ./imgs/ruoruo.jpg --model_path ./pretrained_models/mosaic/add_face.pth --gpu_id 0
- Clean Mosaic (output media will save in './result')
python deepmosaic.py --media_path ./result/ruoruo_add.jpg --model_path ./pretrained_models/mosaic/clean_face_HD.pth --gpu_id 0
If you see the error Please check mosaic_position_model_path!
, check if there is a model file named mosaic_position.pth
at ./pretrained_models/mosaic/mosaic_position.pth
More Parameters
If you want to test other images or videos, please refer to this file.
[options_introduction.md]
Training With Your Own Dataset
If you want to train with your own dataset, please refer to training_with_your_own_dataset.md
Acknowledgements
This code borrows heavily from [pytorch-CycleGAN-and-pix2pix] [Pytorch-UNet] [pix2pixHD] [BiSeNet] [DFDNet] [GFRNet_pytorch_new].