Overview
The "AIWatchGate" project is an intelligent system designed for mask and temperature monitoring to ensure safety protocols are followed before granting access. Implemented using Python and Machine Learning, it utilizes Raspberry Pi 4 B as the central processing unit, incorporating a Pi camera for video capture, a temperature sensor, a servo motor for gate control, and LEDs for mask status indication.
Keywords
Raspberry pi, MobileNetV2, gate control, mask
Language
Python
Github
https://github.com/MahmoudDaasan/AIWatchGate-Intelligent-Mask-and-Temperature-Monitoring
Objectives
To detect whether individuals entering the premises are wearing masks or not.
To measure body temperature using a temperature sensor.
To control access based on mask presence and body temperature.
To ensure a safe environment by preventing entry of individuals without masks or with high temperatures.
Libraries
TensorFlow and Keras: Utilized for loading and deploying the MobileNetV2 model for mask detection.
OpenCV: Employed for image processing tasks, including face detection and manipulation.
imutils: Used for video stream processing and resizing frames.
smbus2 and mlx90614: Facilitated communication with the temperature sensor MLX90614.
RPi.GPIO: Enabled interaction with Raspberry Pi's General Purpose Input/Output (GPIO) pins for LED control and servo motor operation.
notify2: Potential library for system notifications, although currently commented out in the code.
Challenges
Integrating multiple hardware components (Pi camera, temperature sensor, servo motor, LEDs) with software modules.
Ensuring real-time performance and synchronization between face detection, temperature measurement, and gate control.
Addressing variations in lighting conditions and face orientations for accurate mask detection.
Optimizing the system for efficiency and minimal resource consumption on Raspberry Pi.
Solutions
Thorough testing and calibration of hardware components to ensure proper functionality and communication.
Implementing multi-threading or asynchronous processing to handle concurrent tasks efficiently.
Fine-tuning the MobileNetV2 model and adjusting detection thresholds for robust mask detection.
Utilizing lightweight libraries and optimized algorithms to reduce computational overhead on Raspberry Pi.