close
Tuesday May 14, 2024

AI based attendance system on low computing device

By Meeqat Suharwardy
September 02, 2021

The outbreak of COVID-19 has exposed a very major shortcoming in the biometric attendance systems which were being widely used in offices and universities in Pakistan and worldwide. This trusted and cost-effective biometric attendance system contains a threat to spread virus among office employees and university students. So many universities and offices had to suspend this system of attendance.

The situation requires some innovative and cost-effective alternatives for attendance marking in offices and educational institutions. During this outbreak I was studying in semester six in Electrical Engineering at IT University Lahore. Like many others, I also wanted to play my role to help stop the spread of this virus and protect lives. So, in my capacity as a student and researcher I started working to develop a cost effective and intelligent attendance system for universities and offices in Pakistan.

I surveyed the market and international websites for available facial attendance marking system. All these needs to purchase new devices and require students and employ to stand in front of these devices for few seconds this delay of few seconds can cause rush at a particular place while covid-19 SOP’s demand social distancing and minimum number of people at a specific place.

Moreover, small schools and offices do not even have budgets of buy new devices. Even my university ITU was finding it difficult to buy facial recognition devices for all classes and students. So, I decided to develop an AI Based Facial recognition system that can run on any mobile and system cutting the need for any new purchase for device or camera.

To develop this system, I made a mobile app and desktop software. The method that I use in mobile app involves Keras-Open face and Conventional Neural Networks models for face recognition. Keras-Open Face provides pre-built and pre-trained Face Net models using PyTorch deep learning framework and Convolutional Neural Networks (CNN), a subfield of Deep Learning, are used to recognize faces. It’s a multi-layer network that uses classification to perform a particular task. Convolution and sampling layers are combined into a single layer in the CNN model to make it easier to understand. Improve the image recognition rate using the already trained network. The Face Recognition Architecture in my app is of React-Native and Nodejs. React Native is a JavaScript framework that allows you to create real-time, natively rendered mobile apps for iOS and Android. It’s based on React, Facebook’s JavaScript library for creating user interfaces, but it’s designed for mobile platforms rather than the browser. Nodejs is a JavaScript run-time environment that runs on the server. It includes Google’s V8 engine, libuv for cross-platform compatibility, and a core library, all of which are open-source. Because it does not run in a browser, Nodejs does not expose a global “window” object. Frontend is developed in React-Native for app while Backend is developed by Nodejs for server side and JSON Web Token (JWT) for security purpose. JSON Web Token (JWT) is an open standard (RFC 7519) that specifies a compact and self-contained method for securely transmitting information as a JSON object between two parties.

Since it is digitally signed, this information can be checked and trusted. Student’s attendance is to be marked on the Facial Recognition which is done by Keras-Open Face that will detect face on the camera and check with the student’s database through CNN Training Model of faces which will be process on the server side and when it is matched attendance will be marked. Faculties must put certain percentage criteria of attendance in the starting and afterwards he/she can check which students are behind this criterion. This app can also print this list of students in excel sheet. Attendance via Face Recognition app can be used by many faculties for their course’s student’s attendance. It uses secure authentication protocol for securing the attendance of students. Faculty members can check in app for list of students which are behind given percentage criterion of attendance and view in excel sheet.

For desktop application for facial recognition using OpenCV and python with a tkinter gui interface. It takes up to 60 images as sample and store them. After taking images it notifies that the image is saved. After taking the sample images there is a button to train the images that are taken file and store in the folder. When we run python file a window is opened and ask for entering ID and Enter Name. After name and ID are entered, we must Take Images then the Taken Images is stored in folder and the file is generated. As a sample it takes 60 images and stores them in folder. After that we must click Train Image button. Now it takes few seconds to train machine for the images that are taken and creates a Trainner.yml file and store in a folder. Now all initial setups are done. By clicking the Track Image button camera of running machine is opened again. If the face is recognized by the system, then ID and Name of person is shown.

The AI based facial recognition system is the future of not only attendance but of security and surveillance as well. We need a surveillance system that has minimum hardware requirements so that all cities, malls, offices and educational institutions of world can benefit from it.