An open API service indexing awesome lists of open source software.

https://github.com/victor-m16/facial-recognition-access-control-system

This project allows a user to automatically access a secured area using facial recognition and automatically control a lock from a web based gui.
https://github.com/victor-m16/facial-recognition-access-control-system

esp32 face-recognition internet-of-things python raspberry-pi-4 raspberry-pi-camera servo-motor

Last synced: 7 months ago
JSON representation

This project allows a user to automatically access a secured area using facial recognition and automatically control a lock from a web based gui.

Awesome Lists containing this project

README

          

# Facial Recognition Access Control and Surveillance System (FRACS) Description

## Overview
FRACS is a comprehensive system designed for real-time access control and surveillance. It leverages facial recognition technology to grant or deny access to secured areas based on recognized faces. The system also includes features for live streaming, user management, and remote control capabilities.

## Features
1. **Facial Recognition:** Utilizes machine learning algorithms to identify faces and grant access based on pre-defined permissions.
2. **Real-Time Access Control:** Controls physical access to secured areas by interfacing with a servo motor to lock or unlock gates or doors.
3. **Web Portal:** Provides a user-friendly interface for managing access permissions, viewing live streams, and monitoring system activity.
4. **Live Streaming:** Allows users to view real-time video streams of monitored areas for surveillance purposes.
5. **Remote Control:** Enables remote locking and unlocking of access points through the web portal, providing flexibility and convenience to users.

## Architecture
The system comprises:
- **Face Recognition Model:** Implements facial recognition algorithms for identifying individuals.
- **Raspberry Pi:** Acts as the central processing unit, controlling the servo motor and interfacing with the face recognition model.
- **ESP32:** Attached to the servo motor for physical control of access points.
- **Flask Web Portal:** Hosted on the Raspberry Pi, it provides a web-based interface for users to interact with the system.
- **Camera:** Captures live video streams for facial recognition and surveillance purposes.

## Technologies
- Machine Learning: Used for facial recognition.
- Raspberry Pi: Controls hardware components and hosts the web portal.
- ESP32: Interfaces with the servo motor for physical access control.
- Flask: Web framework for building the user interface.
- OpenCV: Library for computer vision tasks, including face detection and recognition.
- HTML/CSS/JavaScript: Front-end technologies for the web portal.

## User Interface
The user interface features intuitive navigation, allowing users to easily manage access permissions, view live streams, and control access points. It includes interactive elements for unlocking or locking gates and displaying system status.

## Functionality
- **Facial Recognition:** The system continuously analyzes live video feeds, identifying faces and matching them against a database of authorized individuals.
- **Access Control:** Upon recognition, the system triggers the servo motor to either unlock or lock access points based on predefined permissions.
- **Web Portal:** Users can log in to the web portal to view live streams, manage access permissions, and remotely control access points.
- **Surveillance:** The system provides real-time video feeds for monitoring and surveillance purposes, enhancing security measures.

## Security
- **Authentication:** Users are required to authenticate themselves before accessing the web portal.
- **Authorization:** Access permissions are enforced based on user roles and privileges.
- **Encryption:** Data transmission between components is encrypted to prevent unauthorized access.
- **Data Protection:** Facial recognition data and user information are securely stored and protected from unauthorized access or tampering.

## Performance
- **Response Times:** The system maintains low latency for real-time facial recognition and access control.
- **Throughput:** Handles multiple simultaneous requests efficiently, ensuring smooth operation.
- **Scalability:** Designed to scale with the addition of more cameras or access points.
- **Resource Utilization:** Optimizes resource usage to ensure efficient operation on Raspberry Pi hardware.

## Integration
The system can integrate with external databases for user management, APIs for additional functionality, and external services for enhanced surveillance capabilities.

## Maintenance and Support
Regular maintenance procedures include software updates, database backups, and system health checks. Troubleshooting guides and user manuals are provided for ongoing support.

## Requirements
System requirements include hardware components (Raspberry Pi, ESP32, camera), software dependencies (Flask, OpenCV), and network connectivity for remote access.

## Use Cases
1. **Office Access Control:** Employees use facial recognition to gain access to secure areas within the office premises.
2. **Home Security:** Homeowners remotely monitor their property and control access to entry points using the web portal.
3. **Retail Store Surveillance:** Store managers monitor customer activity and manage access to restricted areas in real-time.
4. **Educational Institutions:** Schools or universities use the system to control access to classrooms, laboratories, or administrative offices based on user permissions.
5. **Health Institutions:** Hospitals or laboratories use the system to control access to medication and wards.

## Contributing
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request. For major changes, please open an issue first to discuss the proposed changes.

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.