README.md


    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

    image

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

    项目简介

    使用深度学习方法去掉图片或视频中的马赛克

    发行版本

    当前项目没有发行版本

    贡献者 5

    mega_speed @mega_speed
    HypoX64 @weixin_36721459
    H Harry Pham @Harry Pham
    H hypox64 @hypox64

    开发语言

    • Python 97.4 %
    • C++ 1.5 %
    • CMake 1.0 %