This is an automatic student attendance system using face recognition. The aim is to automate the process of attendance maintenance.
Face recognition is a biometric recognition technique. Biometric recognition is an information system that allows the identification of a person based on some of its main physiological and behavioral characteristics. Face recognition is a broad problem of identifying or verifying people in photographs and videos, a process comprised of detection, alignment, feature extraction, and a recognition task It has 4 steps which are :
- Face Detection
- Data Gathering
- Data Comparison
- Face Recognition
This system works accordingly with a series of step explained below:
- DATA COLLECTION:
The student interact with the system through the Graphical User Interface (GUI) above.
The first step the student has to enter his details(Name and ID) this details will be stored in a csv file 'StudentDetailss.csv', the ID is Matric Number on the GUI.
second step, the student will click on the CAPTURE IMAGE button to capture his faces, here 50pictures of the student will be taken and stored in the TrainingImages Folder. The haar-cascadeclassifier file to detect faces through the video stream while the student face is being captured.
The notification board will print out the student details after a succesfull data collection.
- IMAGE TRAINED
The student has to click on the TRAIN IMAGE button which will link his details, face features to the LBPHrecognizer to ease further face recognition, the recognizer will save the face features in the trainner.yml and "IMAGE TRAINED" will be printed on the GUI notification board after a successfull linkage.
- FACE TRACKING
The student has to click on the TRACK IMAGE button to allow the face recognizer to track his face through a video stream, when trhe system successfully recognize the student face, his details will show and "ATTENDANCE UPDATED" will be printed out otherwise , the ID will be Unkown and "ID UNKOWN, ATTENDANCE NOT UPDATED" will be printed out.
Simustenously, a csv file AttendanceFile.csv' will be updated with the ID,NAME of the student and DATE Aand TIME at which his face has recognized.
the Unkown face captured will be store in the UnkownImages folder.
All the dependencies and required libraries are included in the file requirements.txt
See here
Clone the repo
$ git clone https://github.com/memudualimatou/STUDENT-ATTENDANCE-USING-FACIAL-RECOGNITION-SYSTEM-OPENCV.git
Change your directory to the cloned repo and create a Python virtual environment named 'test'
$ mkvirtualenv test
Now, run the following command in your Terminal/Command Prompt to install the libraries required
$ pip3 install -r requirements.txt
To download the Trainner.yml File click here
Feel free to mail me for any doubts/query ✉️ alimatousadia005@gmail.com
Feel free to file a new issue with a respective title and description on the the Student attendance repository. If you already found a solution to your problem, I would love to review your pull request!
Made with ❤️ by MEMUDU alimatou sadia