Attendance Management and User Security System’s based on Eigen Faces Algorithm using Raspberry pi 2 and Ethernet

Background/Objectives: This paper proposes a new system for taking attendance in industries, organizations and many companies by using personal identification strategies like finger print identification, RFID and etc. Compared to all these personal identification strategies face recognition is most natural, less time taken and high efficient. This paper also gives security for industries or organizations using the face recognition technology. Methods/Statistical Analysis: Eigen faces algorithm is used in this system for face recognition and detection to both attendance system and security system. Raspberry pi 2 with Broadcom 2836 processor is used for controlling and data storage purpose. A camera is interfaced for taking user image and initially stores the user image in the system database. A GSM modem is used for send message to the absent student parent’s mobile number. For security system, camera captures the user image and compare with data base image by using an Eigen face algorithm. Findings: Raspberry pi 2 contains 1 GB RAM to achieve high speed of operation and accuracy. It uses QT creater for creating and running the application of face recognition system. It contains OpenCV for image processing application to load the images into the system and process the images. Conclusion: This system developed in easy way to understand every one. The attendance report will be generated mechanically without any human interference and stored in storage device. *Author for correspondence Indian Journal of Science and Technology, Vol 9(17), DOI: 10.17485/ijst/2016/v9i17/92978, May 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Attendance Management and User Security System’s based on Eigen Faces Algorithm using Raspberry


Introduction
In organizations, industries and many companies are taking the entire attendance using RFID methods 1 , registers, Moodle based student ID identification 2 and fingerprint modules 3 . In registers, the entire attendance will be calculated and reports will be gathered at the end. It takes more time for calculation. RFID technology 4 simplifies programmed wireless using digital passive and active with identifications appropriate readers. In short duration, worth's of diffusion and implementation for an RFID card based fare cluster system can be rather expensive. An RFID based fare cluster system has the potential of seriously violating human's security or privacy. RFID strategies ultimately effects software that allows each person to be analyzed by primary data base. This type of environment will be under attack of hackers. If the RFID reader and receiver are not properly matched, then less read rate can occur.
Biometric time and presence system 5 is one of the most accurate requirement in biometric technology. Fingerprint recognition based attendance management system is a running field today, but recognition of individual fingerprint from a set of enrolled fingerprints is a time taking process. Most fingerprint based attendance systems store the finger prints of a user in the fingerprint module database. The fingerprint system does not reveal any data about the original fingerprint of the user.
Keywords: Camera, Eigen Faces Algorithm, Ethernet, GSM, OpenCV, Raspberry Pi 2 This assumption has now been shown to be false; many algorithms 6 have been stated that can restore fingerprint images from minutiae templates. These biometric systems, RFID systems and Moodle based student ID identification systems are personal identification systems used for attendance management systems and many security systems. In ensuing days for any systems security, privacy and accuracy are mainly calculating parameters but these systems are violating security and inaccurate. So, it is important to design a system with highly secured and accurate.
This face recognition 7 based attendance management system with Raspberry pi 2 using Eigen faces algorithm is high secured, high efficient and accurate. The module espies the images of student's face captured by the camera, which have been cataloged manually with their names and ID codes in the system database. Face detection data and face recognition data are stored into the system database. Using the stored database, all the details like date, time and present or absentee is calculated and message will be sent to absentee student parents using GSM technology. Let us assume that a person framed in any random captures not an attendee at the Renaissance Fair 8 , the system can be assumed that the face is not in color space like white red green or any unnatural color. With the assumption of a typical captured scenario, it would be clear to take an advantage of face-color correlations to limit our face search to areas of an image that have at least the correct color components. To achieving this goal, we looked forward at three color spaces HSV spaces, YCrCb spaces and RGB space. RGB (red, green and blue) is the frequently used basis for color characterizations. Using this color characterizations system will understand difference from human and non-human faces. The background of the image also one of main effect using this image based systems. If the intensity of the background light is high system accuracy decreases. So, it is important to place the system in correct area 9 . The system identifies the images of student's face, which have been stored manually with their names and ID codes in the database. This system is mainly useful for organizations to take period wise attendance 10,11 also by setting the time period. An application is created to capture the images, storing ID numbers, starting recognition process 12 , time period and file generation with attendance details.
For security system, initially system data base stores the user image using camera interfaced to the processor. Whenever user wants to log into the any system, camera captures and compare with system data base image. If it matches user will login or else doesn't log in to the system. If for any system number of users will be more, face detection will be done by using user roll numbers given initially.
This paper explains about methodology, system overview, implementation and conclusion of the system.

Eigen Faces Algorithm
Eigen face approach is one of the face recognition methods with accurate recognition technique. Face recognition technology has been an area of research with numerous applications. This method works on the idea of decomposing face images into a small set of characteristic images called as Eigen faces. This Eigen faces algorithm contain face recognition and detection algorithms.

Face Recognition
Using Eigen faces algorithm face recognition done by following steps: Step 1 -Obtain the face images, named like I1, I2, I3……. And Im. Arrange these images in the form of N x N matrix. The faces must be centered and in same size. This is high dimensional image, convert into low dimensional image by converting vector into N 2 x 1 vector. Γ is an N 2 x 1 vector, corresponding to an N x N face image I.
Step 2 -Compute the average face vector Ψ, by this we will find out mean of the all images.
Step 3 -Subtract the average face vector that is mean from N 2 x 1 vector, this is difference between original image and mean image.
Step 4 -Compute the covariance matrix C. Step 5 -Compute the Eigen vectors of the covariance matrix, by this Eigen face we will recognize the face. It compares the face captured by camera with all the Eigen faces when face recognize operation is working and find out the nearest matched image.

Raspberry pi 2
The Raspberry pi 2 acts like a CPU that is connected with monitor, keyboard or touch display and with the peripherals used. In the Raspberry pi 2 number of models will be available. In this paper model B is used and it gives six times the processing speed of other previous models.
The Raspberry pi 2 model B has a Broadcom BCM2836 processor. BCM2836 is high powered ARM cortex-A7 based quad-core processor and operates at a frequency of 900 MHz with memory capacity to 1 Gbyte. It has 40 pin GPIO Header for interfacing the external devices to communicate with the processor. The communication media are like I2C, CAN, SPI and in this project GSM is used in direct connection with the TRX and RXI pins in GPIO. It has quad USB ports, 10/100 BaseT Ethernet socket, DSI Display connector, Micro SD card slot, 5v Micro USB, HDMI port, CSI camera connector and 4-pole 3.5mm jack All of these are shown in Figure 1. This Raspberry pi 2 works on the basis of raspbian OS. Different types of Raspberry pi are working on different operating systems. Raspbian is an open source OS based on Debian optimize for the Raspberry Pi hardware. This Raspberry pi 2 contains an OpenCV based image processing library.
Qt Creator is used in this project to create the application. Qt creator has used C++, JavaScript and QML integrated development platform and which is part of the software development kit for the Qt graphical Application development. It contains a visual debugger and forms designer. Qt Creator uses different compilers for different operating systems. For Linux C++ compiler from the GNU compiler is used and On Windows it can use MinGW or MSVC with the default install.

GSM
GSM (Global System for Mobile communications) is a digital cellular technology used for transition of voice and data services. GSM uses a Time Division Multiple Access (TDMA) and operates at two frequency bands i.e. 900 MHz or 1,800 MHz frequency band.
The data transmission and messages using GSM has done with the speed up to 9.6 Kbit/s. GSM connected to Raspberry pi 2 directly through the transmission and receiving pins (TXI, RXI) with common ground. GSM TXI pin connected to Raspberry pi 2 RXI pin and GSM receiver pin connected with Raspberry pi 2 transmission pin. The GSM contain led for indication of signal of the sim. Number of ATtention commands will be written in software for data transmission.

OpenCV
OpenCV 'Open Source Computer Vision Library' is an open source image processing library created by Intel and maintained by Willow garage available for C, C++ and Python. OpenCV is need a compiler like DevC++, code blocks, visual C++. In this paper uses C++ language and DevC++ compiler. In OpenCV there are four modules. Mainly used are CV: Main OpenCV functions, image processing algorithms, vision algorithms and high gui: GUI functions, Image and Video I/O.
Using this OpenCV, we will load images captured by camera. These images are in three formats binary image, gray scale image and colored image. The colored image contains R G B with pixel values containing 0-255. It has depth of the image with 8 bits and 3 channels. For loading the image using OpenCV, the following program is used: Figure 1. Raspberry pi 2. cvWaitKey (0); // waits until the key is pressed// } For clear the memory for image and destroy the created window, functions used are cvDestroyWindow("Output");// destroy the window// cvReleaseImage(&input); //release the memory for the image//

System Overview
The block diagram of the entire system is shown in the Figure 2. The block diagram explains the overall requirement of the paper. For attendance management system a camera interfaced to Raspberry pi 2 is placed entrance of class, each person enters in the class was viewed in the camera. Total student faces, roll number, names are stored in data base of Raspberry pi 2 and it contain 1 GB of memory for storing this data and application. Each person enters into class is observed by the camera and captures the image like all the students faces are visible. Raspberry pi 2 contains internal timers and set time period for attendance to be taken. Start time period when recognition process start. Face detection and recognition is done for the image captured by camera using Eigen faces algorithm. An application is developed for showing time period, roll number and recognition of student face process by using Qt creator. After completion of time period, a file generated with student details like roll number, date, time, present or absent. The file stored in external memory device like pen drive. Raspberry pi 2 contains an Ethernet port is used to post the attendance in server and connected by the LAN. An USB PORT is used to connect the camera and external storage device. The message sends to absent student parent mobile numbers using GSM. The GSM uses ATtention commands to send the message.
For security system also camera capture the image and compare with database image. This security system is used for any type of systems instead of using finger print and RFID systems.
The flow chart describes about the operation of the attendance management system shows in Figure 3. Flow chart for the security system is shown in Figure 4.

Implementation of the System
The student images stored in the data base of Raspberry pi 2 are shown in Figure 5. The implementation of the system hardware is shown in Figure 6. This system explains an interfacing of all the modules to the Raspberry pi 2. The output of the system is designed by QT creator is shown in Figure 7. This contain options like train, rec, roll no, capture and bottom it contain time. Train options is used for loading images of the students into database. Rec is for start face recognition process. Your ID option gives Roll numbers to each student. Capture is used when train the images. Bottom Timer will show the time up to 600 seconds. The GSM uses ATtention commands for sending message.

Conclusion
This face recognition based attendance management system provides accurate attendance information of the students in easy way and upload the attendance into server using Ethernet cable. Security system gives high secure for any type of systems instead of using fingerprint or RFID. This system is convenient to user, easy to use and gives better security. This system develops outputs with 88 percent of accuracy. When number of student faces increases the accuracy will decrease slightly. This system gives the student details as output to a storage device and send message to absent student parent mobile number.

Acknowledgement
Gaddam Sarath Chandu, presently studying Master of Technology in Embedded systems at K.L. University. He completed his bachelor of engineering with first class in electronics and communication engineering from Nalanda Institute of engineering and Technology, affiliated to JNTU Kakinada University. His areas of interests are Embedded Systems and design of hardware systems.