DeepMosaics

Automatically remove the mosaics in images and videos, or add mosaics to them.

GPL-3.0 License

Stars
2.1K

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
image image image
image image image
mosaic image DeepCreamPy ours
image image image
image image image
  • Style Transfer
origin to Van Gogh to winter
image image image

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]

image Attentions:

  • 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

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