Skip to content

animikhaich/OpenVINO-Real-Time-Face-Anonymizer

Repository files navigation

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

  • Automatic Weights Download - No need to fuss about where to download weights from. It is integrated and is downloaded automatically if not already present.
  • Extensive Logging - Find out what happened, how it happened, when it happened
  • Modular Code - Feel Free to re-use and modify any part of the code. Each class/Function is created to function as a standalone code.
  • Single Point of Control - No need to search in the code where and how to modify a given parameter. Use the single config.json to tune parameters as per your specific need.

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

  • CPU: 6th Generation Intel Core i3 and Above
  • RAM: 8 GB
  • Storage: 500 MB (Including Dependencies)
  • OS: Ubuntu 16.04 LTS or 18.04 LTS (Tested), Windows

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