Smart Attendance System using Face Recognition

:- To maintain a discipline and let students grasp utmost knowledge in schools, colleges and universities the attendance system was introduced. There are two conventional techniques to mark attendance of students in a particular class. One of them is by calling the roll number and the second is to take students sign on a piece of paper against their roll number. Hence there was a need to evolve this system in such a way that it could become user friendly, less time consuming and efficient. This is an automated system to assist the faculty in taking attendance of the whole class without any disturbance or time waste. The idea can encompass a large number application one of which include face identification, it will help save time and efficiently identifies and eliminates the chances of proxy attendance. The main purpose of this project is to built automated attendance system using Raspberry pi 3B+ with OpenCV/Python libraries and recognizer algorithm have been implemented. The proposed system can be implemented in any field where attendance system is present and plays a vital role. In addition, as the project objectives and the design criteria all met, it’s greatest to say this project is an engineering solution for all university and colleges to track and manage the attendance.


INTRODUCTION
During this era of technology and automation we are still using the same old ways of classroom management. The most important thing in classroom is attendance which is directly linked to the academic performance of the students. Recently, some of students are busy with better during lectures only when there is massive classroom control (Research Gate, 2018). The more efficient the attendance system the more is class participation and learning. In the past we were using techniques like roll numbering calling and signing against a particular roll number. These methods carry a high chance of proxy and are time consuming. We came across the idea of automating this process to through modern day technologies to get a well maintained and disciplined classroom. Facial recognition system along with suitable hardware and software will help meet the goals of this project. Facial recognition system is a derived innovation of image processing. Image processing deals with the extraction of needy data that can be related to digital image and in technology advancement it plays a unique role. Our core focus will be on receiving digital images and then making use of programs and algorithms to get useful Information out of it. As the pictorial information is fed the image processing work on it and make it useful human interpretation. That information from image processing will play a great role and help in various walks of life where it could be implemented. The applications of image processing are vast and can be applied in most scenarios where imaging data could be related to pre-determined algorithms. It was an advanced application of image processing and also is the core basis for our project. Our facial structure was a typical example of a multidimensional structure and need some recognition from advanced computational analysis.

II. LITERATURE SURVEY
Plenty of research has been conducted so far on the various available methods for implementation of an effective attendance monitoring system. These methods vary in terms of the types of input method used, the types of data processing employed and the controllers used to implement the systems. In this section looking for the various available solution with the advantages and disadvantages of each system. First system, "Attendance System Using NFC Technology with Embedded Camera on Mobile Device" (Bhise, Khichi, Korde,Lokare, 2015). Near field communication is a type of short distance wireless communication that takes place between two devices, one active and the other passive. The two devices are basically inductor coils which can respond to an electromagnetic induction. The active device is utilized to produce an electromagnetic field of a given radius and strength. Which used to implement an attendance system. In a school setting for example, students can be given NFC tags that are uniquely programmed with their unique identification numbers. Upon attending the classes, the lecturers bring the NFC readers and a student is required to swipe their NFC tags near the reader, say the lecturers' phone. This information is then transmitted to the school database to mark the attendance of the student. However this system is vulnerable to impersonation where one person can sign in for someone else.
The other related systems that use biometrics (Fingerprint recognition RFID, etc) to identify end user are time management systems used in many colleges, institutions and schools. However, these system introduce further privacy concerns. These systems are also subject to physical damage from their users. Therefore they need additional maintenance costs. The idea proposed by us, Removes physical access from anyone to the automated system. III.

METHODOLOGY
Based on the literature survey as we have studied various topics thoroughly that are directly linked with our project we are going to design a possible solution to our problem. In this part we will propose a method that will give an overview of the approach to our project and the ways it should be done. As the previous work was not enough which led us to the development in this project in the most feasible and efficient way possible. The proposed face detection module for this project is Viola jones algorithm. Also, for face recognition modules which is proposed for this project is a neural network architecture with LBPH. The following figure shows the project system circuit design. Given figure 2 above is the model of the attendance monitoring system and how it will be implemented in a particular class. As we can see that there is also a teacher's desk who will be facing the students hence he will not be considered as a student. A camera is setup in the middle of the class room at a suitable height to get the full view of the class till the last bench. After the students have been seated the camera will take an image and starts the process of face detection using the techniques and methods discussed in the methodology section. After this the program will automatically make a folder in the database having the students to be recognized. The already placed images of each student is taken and used from database for image recognition. The images will be fetched and compared with each of the entry in the database and hence will be checked whether the student is present in the class or not. If there is no match the program will move on to the next picture.

III. PROPOSED SYSTEM FLOWCHART
The following figure shows the project system flow-chart:

OpenCV-Python software:
OpenCV is a software which deals with some programming languages like Java, python and C++, this all are readable and useable on different platform including IOS, Android, OS X, Linux and windows. Interfaces for rapid GPU tasks dependent on CUDA and OpenCL are likewise under dynamic advancement. OpenCV-Python is a library of Python intended to take care of PC vision issues (OpenCV, 2018) Visual studio code software Windows Microsoft and Linux created a code manager source name visual studio code. Basically, this method help the windows to troubleshoot, implanted Git control and GitHub, language structure featuring, insightful code finishing, scraps, and code refactoring. Which I utilized in venture to run python code.

Qt Creator software
Qt Creator is a cross-stage C++, JavaScript and QML incorporated advancement condition which is a piece of the SDK for the Qt GUI application improvement structure. It incorporates a visual debugger and a coordinated GUI format and structures fashioner. The editorial manager's highlights incorporate sentence structure featuring and auto finishing of realistic UI.

I. IMPLEMENTATION •
Firstly, connecting Raspberry pi with required components as shown in the following figure:  Step 1: Setting up Raspberry PI Step 2: Access the Attendance monitoring system GUI The attendance taking session can be started after the lecturer selected the related date and timetable ID for the current class session Step 3: Initiate Python script after receiving the button click action from the lecturer done in the main window, a python script will be initiated called from a bash file.
Step 4: Load the trained data in the python script, the first step is to load the trained data (.yml) file which is saved during the face database creation process.
Step 5: Acquire Faces the system will then start to capture student's portraits and then undergo the same pre-processing routine and face detection process.
Step 6: Recognize the faces valid portraits will then be compared against the loaded gallery from the recognizer to identify the captured faces.
Step 7: Mark the attendance after identifying the appropriate student from the capturing process, a record of the current attendance will be added into the attendance table managed by a database.

V.RESULTS
There two are a variety of research already carried out in two face recognition and two detection like two Fisherfaces [31], EigenFace, LBPH and our supposed model which called MLBPH. We comprehend that Eigenfaces and Fisherfaces are each two affected two by two mild and two in two real two life; we cannot guarantee two best two mild two conditions. LBPH face recognizer is an enhancement to overcome this framework. After executing all the step of implementation we get following results Figure 5: Created database The figure above shows that database of enrolled student is successfully generated and saved in dataset folder.

Face detection of enrolled student
The followings are the implementation test and its results produced during the attendance taking process as shown one student been detected and enrolled as Present and another student not detected and enrolled as Absent. Then an email message will be sent from the computer to the absent student as Warning! Figure 7: Email service

MySQL Database
The most important step is to create a database. A database is required where all the data of each and every student in a particular class is placed. The basic process in creating a database is to form a system that take images. For that we will be using a camera module and pictures of each student registered in a particular class is taken. These pictures are taken and basic image processing technique is used to get and image processes able and understandable by the computer. VI. CONCLUSION Automated attendance monitoring system was the project chosen by us by keeping in view of the demand's of day to day needs and wants of the society. The advancements in technology lead us to think out of the box and come up with some idea that could be future changing. Education is the most important thing which every person should acquire as it is the basis for a better lifestyle and will surely alleviate the standard of a living community. What our education system lacks is the involvement of students in the schools, colleges and universities. Instead of attending lectures and studying they prefer staying away from class and keep engaged in using these gadgets. Low attendance means that the students and not there to acquire the knowledge which they are supposed get and is of immense importance for them and can lead them to a better future.