This project is an Employee Management System designed to store employee information, manage their attendance, and verify employee identities using facial recognition. The application integrates with MongoDB to store metadata and images and leverages OpenCV and DeepFace for image processing and facial recognition.
Add and manage employee records with unique IDs, names, and reference images.
Store employee images securely in MongoDB's GridFS.
Verify employee identity using facial recognition.
Log employee attendance with timestamps.
-
Python: Main programming language for the application.
-
PyMongo: For interacting with the MongoDB database.
-
GridFS: To handle large file storage (employee images).
-
OpenCV: For image handling and processing.
-
DeepFace: For facial recognition.
-
NumPy: For numerical operations and image decoding.
- MongoDB: Stores employee metadata, attendance logs, and images.
Follow these steps to deploy the project on your local machine:
Prerequisites:
-
Python (3.8 or later).
-
MongoDB (installed locally or accessible remotely).
-
Virtual Environment (recommended).
Steps:
- Clone the Repository
$ git clone https://github.com/AI-School-F5-P3/Face_Recognition_AI.git $ cd employee-management-system
- Create a Virtual Environment and Activate It
$ python -m venv venv
$ .\venv\Scripts\activate
$ source venv/bin/activate
- Install Dependencies
$ pip install -r requirements.txt
- Configure MongoDB
Ensure MongoDB is running locally or accessible remotely. Update the config.py file to set the correct DATABASE_NAME and connection URI.
Example config.py:
DATABASE_NAME = "employee_db" MONGO_URI = "mongodb://localhost:27017/"
- Run the Application
$ python main.py
The application should now be running on http://localhost:5000.
The client required an intuitive system to:
-
Register Employees: Each employee should have a unique ID, name, and reference image stored securely.
-
Real-Time Recognition: The system detects faces via the laptop camera.
-
Verify Attendance: Use facial recognition to verify employees as they clock in and out.
-
Secure Image Storage: Handle large image files without performance degradation.
The system was built to ensure high accuracy, scalability, and compatibility with future enhancements like multi-factor authentication or mobile app integration.