IoT project that detects face masks on human faces, reports statistics, and provides alerts of high-risk areas. Built with Python, OpenCV, YOLO, IP cameras, Grafana, and WISE-PaaS
- Face-Mask-Detection-System
- Table of Contents
- Problem Statement
- Solution
- Project Scope
On the 25th January 2020, the first case of COVID-19 was detected in Malaysia. Since then, COVID-19 has ravaged the entire nation, with over 300,000 cases as of 3 February 2021.
As a result, one way to reduce the spread of the current pandemic, and any other future pandemics, is to introduce a face mask detection system that will analyze risk levels, and notify the authorities if the risk level is exceeded, so that more efforts will be allocated on “high-risk” areas.
The main purpose of doing so is to reduce the chance of a localized outbreak, which is especially critical in areas with a lot of people such as schools, which will nurture our future leaders.
In order to solve the problem stated above, I propose a solution which will involve 4 main modules. The modules are a face mask detection module, a risk analysis module, an alert module, and finally a remote-control module.
- Python IDLE
- PyCharm
- OpenCV
- YOLOv4-Tiny
- Telegram-Bot
- MQTTBox
- Advantech WISE-PaaS/Dashboard
- Advantech SaaS Composer
- Advantech WISE-PaaS/Datahub
- Advantech WISE-PaaS/DB Services (PostgreSQL hosting platform)
- Python
- JSON
- Javascript
- PostgreSQL
- Raspberry Pi 4
- Raspberry Pi Camera Rev 1.3
- The code is not available for public as there are sensitive information due to the nature of face mask detection applications. However, key features are outlined below with their respective code that do not involve sensitive information.
- The program can be split into 3 key parts, control, detection, and notifications module. Each module is contained in separate files.
- Performance considerations was made by running different logics on separate thread and gracefully handle start/stop of each thread to prevent application from 'hanging' or be stuck in a deadlock.
- Code to execute main face mask detection program
- Code to initialize GUI