Welcome to the Face Attendance System! This project leverages advanced computer vision and machine learning techniques to automate the process of marking attendance. The system detects, tracks, and recognizes faces using entry and exit cameras, ensuring accurate and efficient attendance tracking.
The Face Attendance System is designed to streamline the attendance process by using facial recognition technology. When a person enters the office, the system detects and tracks their face, and upon successful recognition, marks their attendance with a timestamp. The system also logs the exit time as the person leaves.
- Real-time Face Detection: Utilizing YOLOv8 for fast and accurate face detection.
- Face Recognition: Employing FaceNet for reliable face recognition.
- Tracking: Implementing ByteTracker for effective face tracking.
- Machine Learning Algorithm: Using SVM for classifying and recognizing faces.
- Timestamp Logging: Automatically logs entry and exit times.
- Detection: YOLOv8
- Recognition: FaceNet
- Tracking: ByteTracker
- Machine Learning Algorithm: SVM (Support Vector Machine)
- Supervision: Supervision framework
- Python , OpenCv,imageo
To get started with the Face Attendance System, follow these steps:
-
Clone the repository:
[git clone https://github.com/akshaysanil/FaceRecognitionSystem.git] cd face-attendance-system
-
Install the required dependencies:
pip install -r requirements.txt
-
Download pre-trained models:
- YOLOv8-face weights: Download here
-
Setup your configuration:
- Ensure that the paths to your models and any other configurations are correctly set in the configuration file.
-
Register a new person:
- Create newdataset and use
- Dataset/emoplyee1/image1.jpg,image2.jpg
- Dataset/emoplyee2/image1.jpg,image2.jpg
- Create newdataset and use
-
Run the system:
python main.py
-
Monitor the entry and exit cameras:
- The system will automatically detect, track, and recognize faces, marking attendance in the process.
- All the marked attandence face-crop will save inside the current_date folder(it will create everyday) with the current timestamp.
- Also every details will save inside current_date.csv with name,unique_id,timestamp,hyperlink for Admin.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.