The Facial Recognition-Based Attendance System is a state-of-the-art solution designed to modernize attendance management by leveraging real-time facial recognition and spoof detection. This system ensures secure, accurate, and efficient attendance tracking, minimizing manual errors and enhancing operational efficiency.
-
Automated Attendance Tracking:
- Real-time facial recognition with high accuracy.
- Automatic attendance marking with timestamps.
-
Advanced Spoof Detection:
- Robust CNN-based model to distinguish real faces from spoofed images or videos.
-
User Management:
- Easy registration process with multiple image captures for robust encoding.
-
Streamlined UI:
- Intuitive interface powered by Streamlit for seamless user interaction.
-
Secure and Reliable:
- All user data and attendance records are securely stored in a SQLite database.
- Programming Language: Python
- Frontend: Streamlit
- Core Libraries:
face_recognitionfor face detection and encoding.tensorflow.kerasfor spoof detection.opencv-pythonfor video and image processing.sqlite3for database management.
- Hardware Requirements: Standard webcam for image capture.
-
Python 3.8 or later
-
Installed libraries:
pip install streamlit face_recognition opencv-python tensorflow
-
Spoof Detection Model: Download the pre-trained
spoofPredictionModel.h5and place it in the project directory.
- Clone the repository:
git clone https://github.com/your-username/facial-recognition-attendance.git cd facial-recognition-attendance - Initialize the database:
python initialize_db.py
- Run the application:
streamlit run app.py
- Select "Add New Student" from the dropdown menu.
- Enter the student's name and capture multiple images using the webcam.
- Save the encoding to the database.
- Select "Mark Attendance" from the dropdown menu.
- Allow the webcam to capture your face.
- The system will verify your identity and mark attendance if the face is recognized and verified as real.
-
Cloud Integration:
- Enable cloud-based storage for centralized data access.
-
Mobile Application:
- Develop a mobile app for attendance tracking on the go.
-
Advanced Security Features:
- Integrate liveness detection and multi-factor authentication.
-
Data Analytics:
- Provide insights into attendance trends and patterns.
-
Support for Edge Devices:
- Optimize for deployment on low-power devices.
We welcome contributions to enhance this project! Follow these steps to contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name. - Commit your changes:
git commit -m 'Add new feature'. - Push to the branch:
git push origin feature-name. - Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.