Real Time Attendance Management

Download Full-Text PDF Cite this Publication

Text Only Version

Real Time Attendance Management

Rohith R.

Dept. of Electronics and Communication Engineering, Mar Baselios College of Engineering and Technology, Mar Ivanios Vidya Nagar, Nalanchira, Thiruvananthapuram – 695015, Kerala – India

Kevin George Cherian

Dept. of Electronics and Communication Engineering, Mar Baselios College of Engineering and Technology, Mar Ivanios Vidya Nagar, Nalanchira, Thiruvananthapuram – 695015, Kerala – India

Amal Raveendran Nair

Dept. of Electronics and Communication Engineering, Mar Baselios College of Engineering and Technology, Mar Ivanios Vidya Nagar, Nalanchira, Thiruvananthapuram – 695015, Kerala – India

Sandeep R.

Dept. of Electronics and Communication Engineering, Mar Baselios College of Engineering and Technology, Mar Ivanios Vidya Nagar, Nalanchira, Thiruvananthapuram – 695015, Kerala – India

Athira V.

Dept. of Electronics and Communication Engineering, Mar Baselios College of Engineering and Technology, Mar Ivanios Vidya Nagar, Nalanchira, Thiruvananthapuram – 695015, Kerala – India

Riya John

Dept. of Electronics and Communication Engineering, Mar Baselios College of Engineering and Technology, Mar Ivanios Vidya Nagar, Nalanchira, Thiruvananthapuram – 695015, Kerala – India

Abstract– Attendance management is an important procedure in educational institutions. It has been noticed that manual attendance management is tedious, time-consuming and error- prone. Here, we implement a time-saving method of attendance management using face recognition. The SoC (System on Chip) used is Raspberry Pi 3B+. Open-CV (Computer Vision) library functions were used in implementing this project. The facial features of the students in the class are stored in a database. The camera used for image acquisition is Pi-Camera which is connected to the Raspberry Pi via the CSI interface (Camera Serial Interface). The images are acquired and faces are detected in real time. This detected faces are cropped and compared with the faces in the database. A confidence parameter determines the recognition accuracy between these two images. A desirable result is thus output from the program which indeed is the information Present or Absent, of a particular student in the database. This information is then tabulated and stored as a spreadsheet file with the recorded date and time as the title, in the local hard disk.

Keywords: Haar-Cascade classifier, Raspberry Pi, face detection, Open-CV library, attendance, real time, database, confidence


    In an educational institution attendance management is of great administrative importance. Students gain significant incentives based on their attendance and may even suffer penalties if the attendance is low. However, the traditional pen-and-paper mode of attendance recordkeeping is very error-prone. Moreover, it is time-consuming and wastes a lot of resources (such as infrastructure needs to house the records, and the stationery required to take attendance).

    In the present day and age, physical records become superfluous as digital databases take charge of the vast amounts of data generated within institutions. In some institutions, attendance taken on pen and paper are later stored as computer records in the cloud. We aim at making the attendance-taking itself automatic and hands-free by employing facial recognition systems that note who is present and absent, so as to automatically update digital attendance records in real time. Thus, a huge amount of time and resources are conserved and attendance keeping will be a system task instead of a manually conducted one.


    An early biometric authentication system used Arduino microcontrollers to create and control automatic attendance processes [1]. Here the entry time and exit time of the students are noted. Another system employs an audio module that outputs the list of students marked as absent so that necessary arrangements can be made if the attendance has errors [2]. The system, however, is unable to identify similar- looking faces and heavy variance in pose like 90-degree face rotations. It was suggested that the accuracy of the face detection module could be improved by simultaneously employing the Viola-Jones and skin colour detection algorithms. This system also allowed for gender classification by making use of Gabor wavelets, support vector machines and artificial neural networks in MATLAB, where the binary classification of face/non-face was replaced with male/female. [3] describes the application of a modified version of the Viola-Jones algorithm that was much faster at detection and flexible enough in the face of changing conditions such as illumination, camera variation, pose and

    scale. The paper also delved into the AdaBoost learning classification function used to train the classifier. [4] involved a comparative study of various face detection methods, namely the Viola-Jones algorithm, Local Binary Pattern (LBP), AdaBoost algorithm, SNOW classifier method using SMQT features and neural-network-based face detection. In light of this study, we have decided to opt for the Viola-Jones detection algorithm, after having considered the associated pros and cons. It notes that the Haar classifier features in the Viola-Jones algorithm are only good for frontal and not other poses of the face, and suggests that considering contextual information (such as body parts usually connected to the face) can better help with the detection of faces at different poses. [5] noted that for yielding better results, feature extraction can be improved to make the recognition process more robust. It dealt with a combination of Discrete Wavelet Transform (DWT) and Discrete Cosine Transform (DCT) to extract facial features, followed by RBF (Radial Basis Function) neural network. [6] proposes video-based facial recognition using Principle Component Analysis (PCA) and Linear Discriminant Analysis (LDA). utilises a filtering system based on Euclidean distances calculated by three facial recognition techniques, namely Eigenfaces, Fisherfaces and Local Binary Patterns [7]. It suggests that recognition could be improved by support vector machine, hidden Markov model and artificial neural networks.


    The camera starts recording/capturing the images of the student crowd. After face detection and extraction of facial features [8], the system consults the database to check if the captured faces correspond to the ones in the database. If no, then the entities are not enlisted in the attendance and the system keeps checking for others. If the patterns match with the ones in the database with adequate confidence value, the subject is marked Present. The digital attendance record (a spreadsheet file) is updated accordingly, with allowances made for exceptional additions by staff members.

    Figure 1: Workflow of the proposed system


    1. Image Acquisition & Database Creation

      The Raspberry Pi 8MP RPI3-NoIR-V2 Camera Module (which is connected to the Raspberry Pi) takes numerous images of each subject with varied facial expressions and stores this in the database. These images are then feature- extracted and an YML file is created which contains the numerical/vectored values of the features unique to each subject. During normal attendance taking, the class shall preferably be illuminated with an artificial light source, so that external illumination conditions such as varying ambient lighting conditions have less effect on the accuracy of the recognition process.

    2. Face Detection

      Figure 2: Faces detected using Viola-Jones algorithm (test case using high resolution DSLR camera)

    3. Feature Extraction

      When the faces are detected, the background is completely neglected and a square box is enclosed over the face, and only the image portion within it is stored for comparison with the database. If the dimensions of the captured images are greater than those of the database images, proper dimension reduction is done for seamless comparison. The images in the database are then fed into a training algorithm, which

      generates the YML file containing the numerical vectored values of extracted features.

      Figure 3: Database of Faces

      Figure 4: Trainer (.yml) file

    4. Recognition & Attendance

    The recognition algorithm used in this project is Local Binary Patterns Histogram algorithm (LBPH). This algorithm is simpler to be implemented within the processing capabilities of the Raspberry Pi. This algorithm analyzes each image in the database independently and the images are qualified locally. Inbuilt functions in the Open-CV (Computer Vision) [10] library can be used to implement the LBPH algorithm for face recognition. The image is divided into many square regions, and each square region is converted into LBPH matrix, which is a binary matrix created as a result of the LBPH operator . This matrix has in it binary values that forms the histogram representation of the image. This histogram is then compared to the histograms of face images in the database, and the confidence value determines the output of the recognizer. Based on the obtained result of the recognizer, a spreadsheet is created which contains tabulated attendance in real time.

    Figure 5: Attendance Report spreadsheet

    Figure 6: Attendance report files with time and date of attendance as file name


    Initially the detection and recognition of four subjects were successfully performed, as shown below. The faces were recognized at confidence percentages of 41%, 41%, 46% and 56% to the database images. However, distance from the camera module and face illumination pose a problem at the next stage when a whole classroom is considered. This can be countered by using a high-resolution, wide-angle camera. Another issue is the slowing down of the recognition when more subjects are added to the database, as the algorithms have to consider more feature evaluations and processing, thus overburdening the available RAM.

    Figure 7: Recognized faces

    Figure 8: Real Time Recognition

    The system is programmed to label Unknown, for a detected face whose database wasnt created. This was tested with a group of students, and the observed results are below:

    Figure 9: "unknown" label for student whose face dataset wasn't created

    Figure 10: Recognition of multiple faces (LBPH algorithm)


Images of each student are acquired and faces are selected/detected using Viola-Jones algorithm. The faces are cropped and saved to create the dataset. A considerable number of photos are taken so as to increase the recognition accuracy. The images in the database are then fed into a training algorithm, which creates a trainer file (of file extension .yml). This trainer file consists of the numerical vectored values of the features extracted from the cropped faces. The trainer file is then used in the recognition script file, which implements the LBPH algorithm, to match the real time detected faces and calculate a confidence value. Based on this confidence value, the detected face is labeled with the respective student name. Thus real time face recognition is achieved. Based on the results of the recognition program, a spreadsheet file is created and the students are marked Present/Absent.


  1. Soniya V, Swetha Sri R, Swetha Titty K, Ramakrishnan R, Sivakumar S, Attendance Automation Using Face Recognition Biometric Authentication, International Conference on Power and Embedded Drive Control (ICPEDC), 978-1-5090-4679-9/17/$31.00 ©2017 IEEE

  2. Poornima S, Sripriya N, Vijayalakshmi B, Vishnupriya P, Attendance Monitoring System Usiing Facial Recognition with Audio Output and Gender Classification, IEEE International Conference on Computer, Communication and Signal Processing (ICCCSP), 2017.

  3. Jatin Chatrath, Pankaj Gupta, Puneet Ahuja, Aryan Goel, Shaifali M Arora, Real Time Human Face Detection and Tracking, International Conference on Signal Processing and Integrated Networks (SPIN), 2014.

  4. Varsha Gupta, Dipesh Sharma, A Study of Various Face Detection Methods, International Journal of Advanced Research in Computer and Communication Engineering (IJARCCE), Vol. 3, Issue 5, May 2014.

  5. Samuel Lukas, Aditya Rama Mitra, Ririn Ikana Desanti, Dion Krisnadi, Student Attendance System in Classroom Using Face Recognition Technique, IEEE International Conference on Information and Communication Technology Convergence (ICTC), 2016.

  6. Anshun Raghuwanshi, Preeti D Swami, An Automated Classroom Attendance System Using Video Based Face Recognition, 2nd IEEE International Conference on Recent Trends in Electronics Information & Communication Technology

    (RTEICT), May 2017.

  7. Ahonen T, Halid A, Pietika inen M, Face recognition with local binary patterns. In Proceeding of European conference on computer vision (ECCV2004), LNCS 3021, pp 469-481,2004

  8. P. Viola and M. Jones, Rapid object detection using a boosted cascade of simple features. In Proc. of CVPR, 2001.

  9. J. Yang and A. Waibel, Tracking Human Faces in Real Time, Technical Report CMU-CS-95-210, School of Computer Science, Carnegie Mellon Univ., Pittsburgh, Pa., 1995.

  10. G. Hager and K. Toyama, X Vision: A Portable Substrate for Real- Time Vision Applications, Computer Vision and Image Understanding, vol 69, no. 1, pp.23-37, 1998.

Leave a Reply

Your email address will not be published.