GithubHelp home page GithubHelp logo

faisalsalem / deepprivacy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hukkelas/deepprivacy

0.0 0.0 0.0 12.6 MB

DeepPrivacy: A Generative Adversarial Network for Face Anonymization

License: MIT License

Python 99.80% Dockerfile 0.20%

deepprivacy's Introduction

DeepPrivacy

[Interactive Demo]

DeepPrivacy is a fully automatic anonymization technique for images.

This repository contains the source code for the paper "DeepPrivacy: A Generative Adversarial Network for Face Anonymization" published at ISVC 2019, and ย "Image Inpainting with Learnable Feature Imputation " published at GCPR 2020.

The DeepPrivacy GAN never sees any privacy sensitive information, ensuring a fully anonymized image. It utilizes bounding box annotation to identify the privacy-sensitive area, and sparse pose information to guide the network in difficult scenarios.

DeepPrivacy detects faces with state-of-the-art detection methods. Mask R-CNN is used to generate a sparse pose information of the face, and DSFD is used to detect faces in the image.

Information

Check out the original version here:

Check out GCPR readme to reproduce our results from our publication "Image Inpainting with Learnable Feature Imputation".

New features in version 2

  • FP16 inference
  • Support for face detection and landmark detection with a single SSD model (retinanet).
  • Face alignment before anonymization - improves performance for rotate faces.
  • Heavily refactored code.
  • All improvements from our paper "Image Inpainting with Learnable Feature Imputation" are included.
  • Support for standard image inpainting datasets (CelebA-HQ and Places2).
  • Support for video inference

Installation

Install the following:

  • Pytorch >= 1.7.0 (Some checkpoints requires a bug fix from pytorch 1.7 - the current master branch)
  • Torchvision >= 0.6.0
  • NVIDIA Apex (If you want to train any models - nolt needed for inference)
  • Python >= 3.6

Simply by running our setup.py file:

python3 setup.py install

or with pip:

pip install git+https://github.com/hukkelas/DeepPrivacy/

Docker

In our experiments, we use docker as the virtual environment.

Our docker image can be built by running:

cd docker/

docker build -t deep_privacy . 

Usage

We have a file command line interface to anonymize images.

python3 anonymize.py -s input_image.png -t output_path.png

You can change the model with the "-m" or "--model" flag (see model zoo). The cli accepts image files, video files, and directories.

The cli is also available outside the folder python -m deep_privacy.cli.

Also check out python -m deep_privacy.cli -h for more arguments.

Webcam

Test out the model with

python webcam.py

Also check out python webcam.py -h for more arguments.

Anonymization Model Zoo

Model Dataset Detector Num parameters
deep_privacy_v1 FDF 128x128 DSFD face detector + Mask RCNN for keypoints 46.92M
fdf128_rcnn512 (recommended) FDF 128x128 DSFD face detector + Mask RCNN for keypoints 47.39M
fdf128_retinanet512 FDF 128x128 SSD-based RetinaNet with ResNet50 backbone 49.84M
fdf128_retinanet256 FDF 128x128 SSD-based RetinaNet with ResNet50 backbone 12.704M
fdf128_retinanet128 FDF 128x128 SSD-based RetinaNet with ResNet50 backbone 3.17M

Retinanet Detector

Combined keypoint and face detection in one single-shot model (SSD-based). Uses five landmarks: eyes, nose, and mouth (left and right). Model is based on RetinaFace. The model is significantly faster, but has poorer detection than DSFD.

DSFD + RCNN

Uses Mask R-CNN is for keypoint detection, and DSFD for face detection.

Citation

If you find this code useful, please cite the following:

@InProceedings{10.1007/978-3-030-33720-9_44,
author="Hukkel{\aa}s, H{\aa}kon
and Mester, Rudolf
and Lindseth, Frank",
title="DeepPrivacy: A Generative Adversarial Network for Face Anonymization",
booktitle="Advances in Visual Computing",
year="2019",
publisher="Springer International Publishing",
pages="565--578",
isbn="978-3-030-33720-9"
}


FDF Dataset

The FDF dataset will be released at github:hukkelas/FDF

License

All code is under MIT license, except the following.

Code under deep_privacy/detection:

deepprivacy's People

Contributors

andmagdo avatar arkad97 avatar cclauss avatar hardmaru avatar hukkelas avatar juliantodt avatar sajjadaemmi avatar stianhanssen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.