animikhaich / OpenVINO-Real-Time-Face-Anonymizer

Real-Time Face Anonymizer Algorithm using Intel OpenVINO
http://animikhaich.github.io/
MIT License
8 stars 3 forks source link
ai anonymization anonymize blur cnn computer-vision deep-learning face-blur face-detection intel machine-learning opencv openvino openvino-inference-engine openvino-toolkit python real-time

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Real Time Face Anonymizer

Blur Faces in Real-Time while processing on a single CPU. Make your videos GDPR compliant in minutes.
View Demo · Report Bug · Request Feature

Demo GIF

Table of Contents

About The Project

General Data Protection Regulation (GDPR) is a regulation in EU law on data protection and privacy in the European Union and the European Economic Area.

One of the key guidelines of the GDPR is to hide/remove any personal identification for any person for videos uploaded online or analyzed by Algorithms.

This program aims to provide an option to Anonymize or Blur faces that are visible in a video with the help of a light-weight model that allows real-time processing on limited hardware like CPUs.

This code has been tried and tested on 10th Gen Intel Core i5 10400 CPU and has been observed to provide up-to 59 FPS.

Face Detection Model used: MobileNetV2 based OpenVINO face-detection-0104 Model

Demo

Features

Getting Started

At the moment, the GUI Runs but the functional part is broken (since the website has been modified). You can still try out the code, or contribute. Just clone the repository, install the dependencies and start using it.

Prerequisites

Built With

I wanted to reduce the file-size for this simple project. Hence, I used Tkinter instead of PyQT5.

Minimum Hardware Requirements

For detailed hardware and software support for OpenVINO please visit the Computer Vision Hardware Page.

Installation and Inference

  1. Install and Set Up Intel OpenVINO by following the Install Docs

  2. Clone the repo

git clone https://github.com/animikhaich/Real-Time-Face-Anonymizer.git
  1. Install Python packages
pip install -r requirements.txt
  1. Change the video source and other settings in the config.json file

  2. Run the main.py file

python main.py

Changelog

See the Changelog.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Animikh Aich