Keywords

1 Introduction

One of the important aspects of the classroom is attendance. For validation of the student attendance record, staff should need a suitable system for consistently approve and maintain the attendance record. In general, there are two types of framework for tracking student attendance, that is Manual Attendance System (MAS) and AAS (Automated Attendance System).

The teachers can encounter difficulties in authorising and holding the record of each student in the classroom all the time, in case of manual attendance system. Although teachers note down the present students in their register, it is an exhaustive task involving a waste of time and effort. It may even appear that a student present be marked absent or proxies are called out. Specifically, it becomes a cumbersome and challenging task to mark not only the attendance physically but the cumulative attendance of each student in a class of high teacher–student ratio. Bio-metric methods provide an authorised person to gain access based on physiological aspects, such as iris, fingerprint. This is a means to heighten the security and prevent unapproved individual access.

Similarly, a system proposed on facial detection appears to garner much technological development. In recent years, improving facial recognition has drawn a great many interests. It is a crucial application of image analysis. Therefore a viable framework that will automatically mark student attendance through face recognition can be executed. Smart attendance system assists faculty in saving time by marking attendance automatically and informing the attendance of academic performance.

There are two phases of automatic attendance system. The first phase is student registration and the second phase is marking attendance in the respective classes. Students enrol with their respective names, roll numbers and facial pictures. The acquired facial images support this model as training data. The model extracts the facial features from the images during training and stores the information used for facial recognition in the student database.

The sequence of steps involved are acquiring student facial images, preprocessing, face detection, face recognition and updating the attendance database or generating attendance report. Preprocessing involves scale factor in which image is scaled since some faces may be larger than some faces in an image as some people sit closer to the camera than others. Facial detection is identifying faces captured in an image, a very popular algorithm involved in face detection is Viola-Jones algorithm which is a box boundary detection. Facial recognition is validating the detected face against the stored facial images. Widely known facial recognition techniques are PCA (Principal component analysis), LBPH (Local Binary Pattern Histogram), SVD (Single value decomposition)-based algorithm, Fisher face, Eigen face methods.

Face recognition-based automatic attendance management system offers several benefits over earlier attendance management systems (Fig. 1).

Fig. 1
figure 1

Schematic diagram of AAS

  • Saves both time and effort.

  • Eliminate proxies.

  • Prevent human error.

  • Reduce paperwork.

  • Auto-generation of reports.

2 Related Work

This section involves work related to the automatic attendance management system proposed by several authors.

In [1], a high-end camera is installed outside the classroom. Its purpose is to grant the students access inside the classroom. Firstly, the students enrol with their roll no., name, face Id which is stored in the student database. Face detection is done by referring to the 68 landmarks of the face, the Viola-Jones algorithm is applied for box-based face detection. After successful detection of the student's face, the next step is face recognition. For this phase, we implement PCA. It reduces the number of measured parameters for recognition by considering the principal parts of the learning pictures. Every image is represented as a linear weighted eigenvector called Eigen face which encapsulates the essential features of the face. Upon verification, the students are allowed to enter the classroom. Otherwise, he will go back to the enrolment step. The 2nd camera Installed inside the classroom has a clear and visible sight of all the present students. This solves the problem of proxies. After the lecture is completed, the total number of students present in the classroom are awarded attendance.

In [2] RFID reader is installed outside the classroom and a Raspberry Pi camera is installed in the classroom, faculty when entering the class have to swipe the given RFID card and the camera starts recording a video of the class. From the video, images are captured and sent to cloud (AWS), Faces are detected and recognised using AWS Rekognition. To recognise the faces, students must register earlier with their pictures along with the roll numbers which will be stored in AWS cloud in form of buckets. After recognising, the students who are in the image will be marked as present, others will be marked as absent. SMS will be sent to the mobiles of HOD, parents of the absentees. Faculty and Students can login through the web interface and can check their weekly and monthly attendance and can see the percentage RFID card given to the faculty is used to mark attendance for faculty. For Face detection, Viola Jones algorithm consisting of four steps is used. They are selecting Haar features, Integral Images, Ada-boost and Cascade classifier.

In [3], Raspberry Pi camera is installed inside the classroom. It will take pictures for a certain time-period that is being set by faculty. The pictures are then sent to the Image enhancement module. There Face Count Algorithm is used where the image is converted into grey-scale and scaling is done as some person faces would be larger and some person faces would be smaller depending upon their distance from the camera that is being installed in front of the classroom. After that faces are detected using a detection algorithm which uses a moving window to detect objects. After detection, the facial space is separated from the background image and is compared with the facial spaces that are already being stored in the database, depending upon the matching person is identified and marked as present. The system is designed in such a way that the list of absentees is being generated for any given day. Template matching concept is used for face recognition and detection. OpenCV has the available libraries and SQLite database is used.

In [4], Camera which is connected to Raspberry Pi is installed in the classroom, Images are captured and faces are detected using Haar Cascade classifiers and then the detected faces are recognised by comparing the facial features of the detected image and the features stored in the database. Depending on the match, the attendance is provided to the students who are in the images.

In [5], the necessary drivers for the web camera from MATLAB are installed. The model requires somewhere between 500 and 1000 captures of a person for high accuracy. It can be performed in two ways. The images from the video stream can be captured or each image manually by the web camera. The former approach yields better results in a shorter duration. Viola Jones algorithm is used. Training and testing dataset is split in the ratio of 0.2:0.8. MATLAD offers features to design and create the user interface. Components like buttons and plots are used to get the image frame of the web camera. Invoking callback functions to configure the web camera for capturing & saving the image is performed. Edit boxes and static boxes allow for user inputs and display results to the end user. A registration form needs to be filled out by students which includes name, roll no, dept, password and student facial image. After signing in the portal, the student is provided with several options such as take attendance, view attendance, reset attendance and logout.

In [6] The algorithm proposed is used on training two dataset models for the purpose of recognition. The first model undergoes fisherface for the feature extraction followed by the k-nearest neighbour for classification purposes. The second model undergoes the SVD technique. A subset is generated from the above resulting sets of both models. In the event of obtaining more than one distinct label in the generated subset, then ranking all the labels on the basis of minimum distance is carried out and the lowest-ranked label is chosen. The recognition rate results of four different face recognition techniques are tabulated. It is clearly observed that the combination of PCA, fisherface and SVD yields the best among the four aforementioned techniques (Table 1).

Table 1 Results of four different face recognition techniques

In [7], initially student must register. In the registration process when students ‘click images’ button, the camera is opened and continuously 60 sample images are taken and then the camera is closed. After taking 60 images, the model would be trained, features extracted from 60 sample images are stored in a face database with roll numbers. When students enter the classroom, the camera will take a video of the class for few minutes, from the video frame images are captured and has been sent to image enhancement module, the output of the image enhancement module is been sent for face detection algorithm, there the faces are detected and for face recognition the features extracted from image is compared against the stored features in the face database one by one, attendance is provided to the roll number for which the features match most. For feature extraction, local binary pattern histogram is used. Features are stored in a face database in form of histogram. It is implemented as a GUI based project.

In [8] After acquiring the photos directly from the camera, the RGB image is converted to HSV image by executed by rgb2hsv command in MATLAB. Each of the HSV features are extracted from the respective image to provide information about the colour of skin. A pixel whose components of S and H must satisfy the following constraints: 0.15 <  = S <  = 0.9, 0 <  = H <  = 0.25 is deemed to be a pixel of the individual. Following the HSV step, the image is again converted back to RGB and the values of B,G,R, respectively must satisfy the conditions: B > 20, G > 40 and R > 95, Max (B,G,R)-Min (B,G,R) and |R-G|>15 and R > G and R > B. If the pixel meets the conditions, then it is said to be white else it is of black colour. Black spots can create an issue in processing and the command ‘imfill’ of MATLAB can fill these black spots.

In [9], CCTV cameras are deployed outside the entrance of the classroom for capturing images of the incoming students. CCTV camera offers captured images of high quality as well as different view angles. The images are automatically sent to an android smartphone. The input images are matched with the existing images in the student database by 3D face recognition software technology. In this 3D technique, the received image is cropped, and canonical face matching is applied to obtain the various facial reaction of the particular image. The new canonical face image obtained is matched to award attendance and if the match appears to come out as false, then the image is added as a new student to the existing student database. Attendance is marked by sending the obtained information to the server which updates the attendance database. The authors of the paper have reported the attendance of four students. SMS will be sent to the parent’s phone when the student is absent on a specific working day.

In [10], The methodology described in this paper follows the below steps-

  • Creation of the face database.

  • Live Video Activation

  • Face detection

  • Face recognition

  • Attendance registering.

The enrolled student images in the database are the training dataset of the system. To obtain the region of interest, images are cropped to procure the face of the students. Students when registering have to submit five pictures of themselves, which will be used for training the model. A camera is installed near the blackboard of the classroom which captures the images of the attendee’s real time. It is connected to PC and the necessary drivers are properly installed. The live video mode captures the pictures by frames. Once the reading is completed, the frames are sent for face detection. The object detection algorithm Viola-Jones is applied for face detection. It includes Haar features, which is similar to the convolution kernel. Individual feature outputs a value calculated by the difference of the sum of pixels under white rectangle to sum of the pixels under black rectangle. Value of the pixel (x, y) from the integral image is the cumulative sum of the pixels from the (0, 0) position to the (x, y) position (Fig. 2).

Fig. 2
figure 2

Haar features

Ada Boost is applied for removing redundant features as all the Haar features are not relevant for detection. Thus, Ada boost determines the relevant features Cascading enables all the features to be grouped into categories of each 10 or more features. This is arranged in a hierarchical fashion as identifying the non-facial region is relatively easier than the facial region. The registration module allots the faculty username and password to access the student attendance reports (Fig. 3).

Fig. 3
figure 3

Cascade of classifiers