https://github.com/animikhaich/openvino-real-time-face-anonymizer
Real-Time Face Anonymizer Algorithm using Intel OpenVINO
https://github.com/animikhaich/openvino-real-time-face-anonymizer
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
Last synced: 15 days ago
JSON representation
Real-Time Face Anonymizer Algorithm using Intel OpenVINO
- Host: GitHub
- URL: https://github.com/animikhaich/openvino-real-time-face-anonymizer
- Owner: animikhaich
- License: mit
- Created: 2020-09-19T16:55:27.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-16T02:59:05.000Z (over 4 years ago)
- Last Synced: 2024-04-18T08:14:16.796Z (about 1 year ago)
- Topics: 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
- Language: Python
- Homepage: http://animikhaich.github.io/
- Size: 8.83 MB
- Stars: 7
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]
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
![]()
## Table of Contents
- [Table of Contents](#table-of-contents)
- [About The Project](#about-the-project)
- [Demo](#demo)
- [Features](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Built With](#built-with)
- [Minimum Hardware Requirements](#minimum-hardware-requirements)
- [Installation and Inference](#installation-and-inference)
- [Changelog](#changelog)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Animikh Aich](#animikh-aich)## 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](https://docs.openvinotoolkit.org/latest/omz_models_intel_face_detection_0104_description_face_detection_0104.html)
## Demo
- [YouTube Video](https://youtu.be/0TuRVxJVuOI)
## 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
- [Intel OpenVINO Toolkit](https://docs.openvinotoolkit.org/)
- [Python 3](https://www.python.org/)
- [Git](https://git-scm.com/)### Built With
I wanted to reduce the file-size for this simple project. Hence, I used Tkinter instead of PyQT5.
- [Intel OpenVINO 2020.3 LTS](https://software.intel.com/content/www/us/en/develop/articles/openvino-2020-3-lts-relnotes.html)
- [OpenCV](https://opencv.org/)
- [Numpy](https://numpy.org/)
- [Requests](https://requests.readthedocs.io/en/master/)### 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), WindowsFor detailed hardware and software support for OpenVINO please visit the [Computer Vision Hardware Page](https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/hardware.html).
### Installation and Inference
1. Install and Set Up Intel OpenVINO by following the [Install Docs](https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_linux.html)
2. Clone the repo
```sh
git clone https://github.com/animikhaich/Real-Time-Face-Anonymizer.git
```3. Install Python packages
```sh
pip install -r requirements.txt
```4. Change the video source and other settings in the `config.json` file
5. Run the `main.py` file
```sh
python main.py
```## Changelog
See the [Changelog](CHANGELOG.md).
## Roadmap
See the [open issues](https://github.com/animikhaich/Real-Time-Face-Anonymizer/issues?q=is%3Aopen) 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](LICENSE.md) for more information.
## Contact
#### Animikh Aich
- Website: [Animikh Aich - Website](http://www.animikh.me/)
- LinkedIn: [animikh-aich](https://www.linkedin.com/in/animikh-aich/)
- Email: [[email protected]](mailto:[email protected])
- Twitter: [@AichAnimikh](https://twitter.com/AichAnimikh)[contributors-shield]: https://img.shields.io/github/contributors/animikhaich/Real-Time-Face-Anonymizer.svg?style=flat-square
[contributors-url]: https://github.com/animikhaich/Real-Time-Face-Anonymizer/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/animikhaich/Real-Time-Face-Anonymizer.svg?style=flat-square
[forks-url]: https://github.com/animikhaich/Real-Time-Face-Anonymizer/network/members
[stars-shield]: https://img.shields.io/github/stars/animikhaich/Real-Time-Face-Anonymizer.svg?style=flat-square
[stars-url]: https://github.com/animikhaich/Real-Time-Face-Anonymizer/stargazers
[issues-shield]: https://img.shields.io/github/issues/animikhaich/Real-Time-Face-Anonymizer.svg?style=flat-square
[issues-url]: https://github.com/animikhaich/Real-Time-Face-Anonymizer/issues
[license-shield]: https://img.shields.io/github/license/animikhaich/Real-Time-Face-Anonymizer.svg?style=flat-square
[license-url]: https://github.com/animikhaich/Real-Time-Face-Anonymizer/blob/master/LICENSE.md
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/animikh-aich/
[product-screenshot]: assets/face-blur-demo.gif