Catch up on the latest AI articles

AttenFace, A Real-time Attendance Verification System Using Facial Recognition

AttenFace, A Real-time Attendance Verification System Using Facial Recognition

Face Recognition

3 main points
✔️Proposed attendance system using facial recognition
✔️ Can also check for fraud due to spoofing and omissions
✔️ Allows for real-time attendance monitoring

AttenFace: A Real Time Attendance System Using Face Recognition
written by Ashwin Rao
(Submitted on 14 Nov 2022)
Comments: To be published in IEEE CICT 2022
Subjects: Computer Vision and Pattern Recognition (cs.CV)


The images used in this article are from the paper, the introductory slides, or were created based on them.


 Attendance is commonly taken in classes at universities and other institutions. However, it is often done in a primitive way and there is room for improvement. Calling students by name or writing their names in the attendance book is done, but it is time-consuming and labor-intensive. These methods are also prone to cheating, such as substitute attendance or leaving class after attendance is verified.

 In this paper, we propose AttenFace, a system that uses facial recognition to save time and effort in attendance confirmation and prevent fraud. Students are recognized by facial recognition from snapshots taken at regular class intervals by a camera and stored in a database. There is no need for teachers or students to respond to attendance manually. The camera is also constantly recording, making it easy to determine how long students stay in class, and only those students who exceed a threshold determined by the professor in charge of the class can eventually be given attendance.

 In addition, the system provides an administration screen that allows students to track class attendance and allows professors to set class attendance thresholds. This is one example of the use of facial recognition.

AttenFace System Overview

 AttenFace can process student attendance automatically using facial recognition. The general process is as follows: first, when a class starts, the camera starts recording and a snapshot is taken every 10 minutes, then facial recognition is performed on the snapshot to identify the students. Next, facial recognition is performed on the acquired snapshots to identify students, and every 10 minutes it determines if the student is present or not. Finally, for all snapshots, if a certain number of snapshots are considered to be attended, the class is considered to be attended. Note that this "certain number" is a specification that can be set by the professor of the class. The number of attendances per 10 minutes is called the "block number".

AttenFace System Requirements

 Functional and non-functional requirements are listed. The four functional requirements are (1 ) a login portal linked to the login information of the student/professor/administrator's home institution, (2 ) an administrative screen displaying the attendance status of classes taken by students/professors, (3 ) the ability for professors to change class attendance criteria, and (4) the ability for administrators to override incorrect attendance results manually. The non-functional requirements are (1) the system must be able to access the necessary student/class information from their institution's database,(2 ) the administrative screen displaying attendance must be cross-platform with an emphasis on mobile compatibility for user convenience, (3) the facial recognition algorithm must be able to recognize faces in real-time without the computational overhead (4) The face recognition algorithm can run in multiple instances in parallel to process multiple classes in parallel.

AttenFace Use Cases

 This paper lists 10 use cases as follows.

(1) Students/professors/administrators log in to the administration screen using their term login information
(2) Student displays the attendance status of all classes he/she has taken.
(3) Student's attendance status (0 or 1) is displayed immediately after the end of the class.
(4) Check the attendance status of every 10 minutes of classes the student has attended, and whether this exceeds the threshold set by the professor
(5) The total number of classes the student has attended so far, and the number of classes he/she can miss before the total number of absences required by the class.
(6) The professor checks the total number of absences for the class immediately after the class ends.
(7) Professor sets/changes the number of blocks of attendance criteria for each class (professor can make attendance on a particular day lenient or optional without the need for university administration)
(8) Professor changes the room number in which the class is held before the start of the class to ensure that the camera can be activated in the new room to capture attendance in case of a sudden event
(9) Allow administrators to disable automatic attendance determination and directly change student attendance for a particular class, if necessary
(10) Allow administrators to change the room number of the class itself in case it overlaps with another class


The figure below is the UML use case diagram presented in the paper.

AttenFace System Configuration


 The system configuration consists of four (Frontend, Backend Server, Face Recognition Server, and Database) as shown in the figure below.

 First, the user (User) accesses the system via the administration screen (Frontend). The figure below is a sample of the screen displayed to the student. Here, the user can check the number of attendance, absences, and possible absences for a particular class, as well as the status of the attendance determination every 10 minutes.

 In addition, the figure below is a sample of the screen displayed to the teacher. Here, the teacher can check the number of attendees and the list of attendees (Total attendance) for the class he/she is in charge of, as well as the threshold for determining attendance (Minimum blocks required). The threshold values can be edited.

 The backend (Backend Server ) handles processing through the database, such as accessing images for facial recognition, displaying data on the administration screen, and basic CRUD operations. It also determines class attendance based on block-by-block information. It also functions as a bridge to send data to the Face Recognition Server, which does not have direct access to the database (Database).

 TheFace Recognition Server performs heavy computational processing for face recognition. During class, it acquires live feeds directly from the cameras installed in each classroom and communicates with the backend (Backend Server) to determine attendance, each with its own associated independent computation thread. Each thread of the Face Recognition Server (Face Recognition Server)receives from the backend (Backend Server) "images of all students attending class," "class start time," "class end time," and "camera ID corresponding to the room. The figure below shows the sequence diagram of the Face Recognition Server (Face Recognition Server), Backend Server (Backend Server), and Camera (Camera).

 The direct communication between the backend (Backend Server) and the camera (Camera) is an essential component to automate the system stand-alone, compared to existing solutions fully.

 Finally, the Database stores information about students (e.g., images for recognition and registered classes), classes (e.g., room number and corresponding camera ID), and professors (e.g., classes taught). The figure below shows the simplified schema of the database.


Specific Uses in the University Classroom

 To use AttenFace in a university class, the system first establishes a connection with the camera 5 minutes before the class begins. Next, the professor logs into the administration screen as needed to change attendance requirements for the target class. A snapshot of the classroom is sent to the backend from the start of the class to the end of the class, and then to the facial recognition server every 10 minutes. Students are then recognized and recorded as a block every 10 minutes. Finally, at the end of the class, students can log in to the administration screen and immediately see their attendance for that class.

AttenFace's scalability and ease of integration

 The AttenFacesystem is modular. In particular, the Face Recognition Server is a stand-alone module. Given a student's photo as input, calculations are performed in the Face Recognition Module and the recognition results for each student (whether present or absent for that block of time ) are returned to the Backend Server. The backend (Backend Server ) uses this data to calculate attendance.

 Because of its modular nature, the AttenFacesystem can be easily integrated into existing university portals. For example, AttenFace's real-time attendance system can easily be integrated into Moodle(*1). In the example in this paper, the administration screen (Frontend), login to your institution, and interaction with your institution's database are handled by Moodle.

The components that need to be integrated are the backend server scripts that interact with the Face Recognition Server and perform the necessary calculations and the face Recognition Server itself. After integration, attendance data can be made available to Moodle and displayed on the front end.

(*1) Moodle is an open-source e-learning platform. It is a free learning support software that can be used in class and can be used anytime, anywhere in an online environment on the Internet. Professors can post syllabi and lecture materials on the Web, students can submit assignments, and professors can assign grades to submitted assignments.


  This paper proposes a system called AttenFace that uses facial recognition to tally attendance in real-time. Until now, class attendance verification has been a time-consuming and labor-intensive process, butAttenFace has succeeded in automating the process.
 Furthermore, AttenFace determines whether or not a student is present every 10 minutes as a block, and class attendance is determined based on what percentage of the block as a whole is considered to be in attendance. Therefore, students cannot leave class in the middle of class and must remain in the room for a certain amount of time. Attendance can be determined automatically while excluding irregularities.

 The paper does not mention the face recognition algorithm used or the accuracy of face recognition, but in practice, there were instances where students could not be detected or students could not be accurately recognized. Various factors such as the lighting environment of the classroom, the position, orientation, and size of the student's face, and image quality may have affected the accuracy of face recognition. Future face recognition algorithm research that is more robust and adaptable to various situations is needed.

 It may be interesting to examine differences in accuracy due to various factors such as lighting environment, position, orientation, size, and image quality of the student's face, as well as differences in accuracy and bias due to face recognition algorithms. However, as in this paper, the usefulness and convenience of face recognition/authentication may be realized through casual applications such as class attendance management, and social implementation may progress.

If you have any suggestions for improvement of the content of the article,
please contact the AI-SCHOLAR editorial team through the contact form.

Contact Us