DEEP LEARNING IMPLEMENTATION FOR EMPLOYEE ATTENDANCE SYSTEM IN UNIVERSITAS PERTAMINA

Attendance recording with RFID tags scan, make human resource (HR) staff’s task more effective and efficient because it is saving time and effort in performing manual recording and recapitulation that must be performed by the HR staff in a company. However, the number of cases where employees forget to bring their identification cards, which has an RFID tag increases the workload of human resource staff. This study proposes a facial recognition prototype as an alternative way to record employee attendance. The model used in this study uses artificial neural


INTRODUCTION
Pertamina University uses attendance to record daily employee attendance system. The application records the employee's arrival and leaving time, calculates the total working hours, and provide both the employee and the human resource (HR) team. Employees must scan their ID cards upon arrival and leave. The application read RFID tags in the ID card and records arrival and leaving time. The technology that is used in the ID card is short-range RFID [1][1], [2]. However, the employee often forgets to bring their ID cards. Alternatively, the employee must visit the HR department and fill out the attendance form. The data attendance form is inputted to the attendance system by the HR staff. The increasing number of employees, specifically a temporary one, increases the number of left ID card cases. As a consequence, it makes the time to input data from attendance form to attendance system doubling. Hence, an alternative method to record employee attendance is required.
This research proposes a prototype using face recognition as an alternative method to detect and record the employee's arrival and leaving time. The prototype uses an artificial neural network algorithm (ANN) [3], a machine learning algorithm that is modeled after the neurons in a human brain to recognize patterns, to recognize the employee's face. The approach for the ANN algorithm is supervised learning. Machine learning with supervised approach has shown excellent performance in various implementation, such as aircraft-satellite communication [4], [5], image processing [6], voice recognition [7], and face recognition [8]. Currently, the prototype is used in parallel with the RFID reader. When the testing result shows good accuracy, the attendance system will only use face recognition to record employee's attendance. The success of this prototype will remove the manual task of the HR team to input the data from the attendance form.

RESEARCH METHODOLOGY
Former studies have shown that research using backpropagation neural network techniques has better accuracy than algorithms using k-means and fuzzy c-means [9]- [11]. Therefore, this technique is chosen for use in this prototype.
This research follows a sequence of activities, as shown in Figure 1, which consists of collecting data, API face_recognition [12] accuracy testing, integration between existing attendance system and the API, and system testing.

Figure 1. Research Methodology
The face_recognition API used in this study uses the supervised learning approach [13] where the model must have data that has been trained. This approach aims to group data into pre-existing groups of data. Each data training is labeled with the appropriate name, it can be the name of the employee or other identifiers. Training data, in the form of an image, is converted into vectors in the encoding process.
Jurnal SIMETRIS, Vol 11 No 2 November 2020 P-ISSN: 2252-4983, E-ISSN: 2549-3108 This research uses face_recognition API where models have been trained before. Since the model has been trained, the accuracy testing in this research is quantitative.
Once the API passes the accuracy testing, it will be integrated with the existing attendance system. The existing attendance system is a web-based application developed with PHP language and Code Igniter framework. It has a component that uses vb.net to communicate with an RFID reader. Integration stage designs how to consolidate the face recognition module into the existing attendance system.
Since this research consolidate several components into one integrated system, system or integration testing is required. In system testing, the individual components are integrated and tested as a complete system to ensure that the requirements have been met. This process is concerned with finding errors that result from unanticipated interactions between components and component interface problems. System testing is focused on testing component interactions and assessing the system's reliability [14][15].

RESULT AND DISCUSSION
The prototype utilizes a trained face recognition API named face_recognition. The API uses Python language, and its architecture has more than one hidden layer (deep learning architecture). The API identifies essential facial features and find the location of those features in an image. It can identify faces both in image and video. When the input is a video, it then breaks into a sequence of a photo frame. These frames become the input for the ANN Model. When the algorithm has identified a known face in one of the frames, it will not check the next sequence of the frame. Each image entered into the application is encoded into a vector consisting of 128 dots. By default, the face is considered the same if the euclidian distance between the face vectors detected the face vectors that exist in the database is less than or equal to 0.6. This research uses 3824 students' photos and 355 employee's photos as training data. Seventy-three of the employee's photo has two versions, one that facing the camera and the over one slightly angled.
Face_recognition API is claimed to have an accuracy of 99.38%. It is trained in European adults' photos and does not work very well on children. Furthermore, the accuracy might also lower for other ethnic groups [16]. Because this model uses supervised learning, the accuracy of the model depends on the training data. Because the face recognition model was trained using public datasets built pictures scraped from websites, it only works as well as the source data. Those public datasets are not evenly distributed amongst all individuals from all countries.
Because this API will be used to identify Asian faces, accuracy testing is required prior to integration with the existing system. Quantitative testing is performed for several scenarios, as described in Table 1. The sample for each scenario is shown in Figure 2.
The default tolerance in this API is 0.6. However, in this prototype, using that default value resulted in multiple matches for the same person. Especially when identifying women who wear a headscarf. Thus, this prototype uses a lower tolerance value to overcome this issue, which means a more strict comparison. As a consequence, the objects that quite far from the camera cannot be identified. Since the prototype will be used in the attendance system, the distance between the camera and the object is not a critical issue. The employee will get a notification when the system is recognized. The attendance system that is currently used in Universitas Pertamina reads the RFID tag in the employee's ID card. It then matches the tag with the employee profile and records employee's attendance. It shows a success notification, as shown in Figure 2, once the process is completed.

Figure 2. Test Scenario Log
This research is adding the prototype of face recognition into the existing attendance system. Currently, the prototype works in parallel with the reading of RFID tags. The attendance system compares the data read from RFID reader with the predicted data from the face recognition model sent using webservice in JSON format, as shown in figure 3. Besides recording the employee attendance's time, the attendance system also marks a piece of information, whether reading data from RFID reader and prediction results match.
The input for the attendance system is captured using 1280x720 pixels webcam. The webcam captures any objects located in front of it. These objects are the input for the face recognition model. Each object that has successfully identified by the model, together with the time of detection are sent to the attendance system in a JSON file format. However, the attendance system does not accept all JSON files sent from the face recognition model. It only accepts the JSON file with time different 1.5 minutes with the time RFID tag read by the RFID reader. The attendance system compares the RFID reading and data from the JSON file and shows a notification when the data is matched. However, during the testing period, when data between RFID reading and JSON file does not match, it will show a notification based on RFID reading and marks the unmatched data in the file.

Figure 3. Attendance System Existing Flow (left), Attendance System Proposed Flow (right)
Jurnal SIMETRIS, Vol 11 No 2 November 2020 P-ISSN: 2252-4983, E-ISSN: 2549-3108 As mentioned in the previous section, the existing attendance system and the face recognition model are developed using a different framework. System testing is required to test the interaction between these components. There are two main concerns; verifying the interaction between all the components and the external peripherals to ensure if the system works fine in any of the scenarios and measure the time tolerance for communication between attendance and face recognition model.
The prototype is tested for two days. Figure 4 shows sample data from the test. Although the prototype uses a lower tolerance, multiple matches for women wearing headscarf still exist. Besides, in some cases, one person might be recognized as several other people when identified from various angles. Moreover, prototype detect faces better if the training data that is encoded is a high-resolution photo.
Multiple matches mostly occur in the faces with a headscarf. It is potentially because the external features of the face, particularly hairline, are considered as same. In this case, moving the focus from external and internal features as a whole to internal features during identification tasks can improve accuracy [17].
Another issue in this prototype is only one picture of a person is fed into the model. The further improvement of the prototype might be achieved by providing a lot more pictures from various angles for each person. However, it is not very convenient to retrain the model every time a new employee joins the university. The potential solution to learn from limited data is using a one-shot algorithm such as a siamese neural network or augmented-memory neural network. These methods are left as future work.