Face - Rec Project (Understanding-Document)
Face - Rec Project (Understanding-Document)
org © 2023 IJCRT | Volume 11, Issue 6 June 2023 | ISSN: 2320-2882
Abstract: 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
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. 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 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 is a typical
example of a multidimensional structure and need some recognition from advanced computational analysis.
II. PROPOSED SYSTEM
The purposed of this project is to mark the attendance using automatic face recognition technology. The system records video
feeds from the camera and detects the faces in image format. The detected faces are compared with the code database and marked
attendance within the Excel File. Using these Excel sheets we will generate a graph that shows the attendance of the entire
class/Individual student. The function of the proposed system is to capture the face of every student and keep it for them to
attend. The face of the expert must be taken in such a way that everyone can see what the student's face is like. There is no need
for the teacher to be physically present in the classroom because the system records the video and then with continuous face
processing steps is monitored and therefore the attendance is updated. All Individuals in the category must register themselves by
entering the information they require so that their photos can be taken and stored within the database. During each session, a face
is found in the live streaming video of the class. The recovered faces are compared with the existing images in the database. Once
a match is found, attendees are marked on the appropriate reader. At the top of each session, a list of present students will be sent
to the appropriate faculty in charge of the session.
III. METHODOLOGY
In this project we will propose a method that will give an overview of the approach to our project and the ways it should be
done. It will led us to the development in this project in the most feasible and efficient way possible. After the students have
been seated in the class the camera located at front with a certain height will take an image and starts the process of face
detection using the techniques and methods .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
IV. LITERATURE REVIEW
V.
Face recognition is one of the few biometric methods that possess the merits of both high accuracy and low intrusiveness. It has
the accuracy of a physiological approach without being intrusive. Over past 30 years, many researchers have proposed different
face recognition techniques, motivated by the increased number of real world applications requiring the recognition of human
faces. There are several problems that make automatic face recognition a very difficult task. However, the face image of a person
inputs to the database that is usually acquired under different conditions. There are some ways to pander to differences between
the images and so the variations within the environment of the images and these approaches were implemented to detect the
object [1]. These systems may additionally be utilized within the systems that detect the characteristics of the face [4].The
foremost reason for using the grey-scale representation instead of using the colored image is that it simplifies the algorithm, and
reduces the complexity, implementation time, and computational time the colored image may provide excessive and more
information which is not sensible and it will also increase the computational time and results in the low performance of the
organization [3].These proposed systems assumed the shape of the objects or illumination conditions. These assumptions were
made for the generic object recognitions so there for these aren't sufficient for face recognition systems [4] .This approach is
additionally used for identity verification and also has similar accuracy because of the grey-scale approach [5].It combines the
facial information (i.e. dimensions of the face) with structural information by grouping the face Edge map into line segments [6].
These images captured could even be used as several independent models or are additionally used as a combined model to
recognize the faces [6]. The same reasonable approach is utilized during this technique where 50 images are visiting be captured
of the same student and these images are captured altogether under the environmental conditions [6].
In the above discussed systems there are some problems. In RFID card system, the disadvantage is that it has fraudulent
usage, Fingerprint system is time consuming and Iris recognition system has privacy invasion. So to overcome this
problems we have designed this Facial Based recognition attendance system.
V. System Design
The main rule of the project is that the video captured by the camera is converted into an image for viewing. In addition, a known
code image is also provided , otherwise the system will mark the site as non-existent.
1. Take a Video: The camera is positioned at a selected distance within the classroom to capture pre-video videos of perfect
students of the class.
2. Divide as Frames in Video: The captured video must be converted to self-contained every second so that it can be easily
accessed and seen by the students' faces in order to present the audience.
3. Face Detection: Face detection is a process by which an image, provided as input (image) is searched to investigate any
face, after finding the face processing image cleans the face image so that the face can easily be seen.
4. Facial Recognition: After completing the face detection and analysis, it is compared with the existing face on the student
website to review the Individual presence.
5. After Processing: Post-processing process includes the process of updating expert names on an excel sheet. An excel
sheet is usually kept weekly or monthly to record student attendance.
Software Used
OpenCV python software : OpenCV (Open Source Computer Vision Library) is a Python library that allows you to perform
image processing and computer vision tasks. It provides a wide range of features, including object detection, face recognition, and
tracking.
So , it is very important to install OpenCV. For installing OpenCV open your command prompt and type python. It will show
your python version . Then type “pip install opencv-python”.
VS code: Visual Studio Code, also commonly referred to as VS Code ,is a source-code editor made
by Microsoft for Windows , Linux and macOS. Features include support for debugging , syntax highlighting , intelligent code
completion , snippets , code refactoring , and embedded Git . Users can change the theme , keyboard shortcuts , preferences, and
install extensions that add functionality
Tkinter : Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast and easy way to
create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit. Creating a GUI application
using Tkinter is an easy task
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 data understandable by the computer and store it in .csv file
Algorithm Used
Haar Cascade Algorithm: It is an object detection system that can recognize faces in still photos or moving videos. In order to
recognize a face, Haar cascade classifiers are trained on a large number of pictures, both with and without faces. This means that
instead of choosing non-facial areas, Haar classifiers scan the window for faces. According to research , image processing and
pattern recognition experts have found it difficult to reliably identify human faces. An object detection system called the Haar
Cascade Algorithm may be used to find faces, pedestrians, objects, and facial emotions . Haar Cascade Classifier is one of the
best detectors for face detection from a picture in terms of speed and accuracy . The most important component of the face
detection Haar Cascade Classifier is the Haar characteristics. While the Haar Cascade Classifier features can detect any item ,
these features are utilized to determine if a feature is present in a particular picture. They work and focuses on precise eye-
central localization using a webcam. Five distinct procedures were employed in the investigation. The study of Viola and Jones is
depicted in Fig. below. A cascade function is developed using the various quantities of pictures, both positive and negative, in this
machine learning-based technique. It is then utilized to find things in other images in that situation. To increase classification
performance in this study, the system requires a large number of positive pictures (photos with faces) and negative images (photos
without faces). Then I have to take the features out of it. According to Soo , "A Haar-like feature checks nearby rectangular areas
at a certain location in a detection window, adds the pixel intensities in each region, and computes the difference between these
sums."
2. Training the Algorithm: First, we need to train the algorithm. To do so, we need to use a dataset with the facial images of the
people we want to recognize. We need to also set an ID (it may be a number or the name of the person) for each image, so the
algorithm will use this information to recognize an input image and give you an output. Images of the same person must have the
same ID. With the training set already constructed, let’s see the LBPH computational steps.
3. Applying the LBP operation: The first computational step of the LBPH is to create an intermediate image that describes the
original image in a better way, by highlighting the facial characteristics. To do so, the algorithm uses a concept of a sliding
window, based on the parameters radius and neighbour. The image below shows this procedure:
Based on the image above, let’s break it into several small steps so we can understand it easily:
It can also be represented as a 3x3 matrix containing the intensity of each pixel (0~255).
Then, we need to take the central value of the matrix to be used as the threshold.
This value will be used to define the new values from the 8 neighbors.
For each neighbor of the central value (threshold), we set a new binary value. We set 1 for values equal or higher than the
threshold and 0 for values lower than the threshold.
Now, the matrix will contain only binary values (ignoring the central value). We need to concatenate each binary value from
each position from the matrix line by line into a new binary value (e.g. 10001101). Note: some authors use other approaches
to concatenate the binary values (e.g. clockwise direction), but the final result will be the same.
Then, we convert this binary value to a decimal value and set it to the central value of the matrix, which is actually a pixel
from the original image.
At the end of this procedure (LBP procedure), we have a new image which represents better the characteristics of the original
image.
Note: The LBP procedure was expanded to use a different number of radius and neighbors, it is called Circular LBP.
It can be done by using bilinear interpolation. If some data point is between the pixels, it uses the values from the 4 nearest pixels
(2x2) to estimate the value of the new data point.
4. Extracting the Histograms: Now, using the image generated in the last step, we can use the Grid X and Grid Y parameters to
divide the image into multiple grids, as can be seen in the following image:
Based on the image above, we can extract the histogram of each region as follows:
As we have an image in gray scale, each histogram (from each grid) will contain only 256 positions (0~255) representing the
occurrences of each pixel intensity.
Then, we need to concatenate each histogram to create a new and bigger histogram. Supposing we have 8x8 grids, we will
have 8x8x256=16.384 positions in the final histogram. The final histogram represents the characteristics of the image original
image.
5. Performing the face recognition: In this step, the algorithm is already trained. Each histogram created is used to represent each
image from the training dataset. So, given an input image, we perform the steps again for this new image and creates a histogram
which represents the image.
So to find the image that matches the input image we just need to compare two histograms and return the image with the
closest histogram.
We can use various approaches to compare the histograms (calculate the distance between two histograms), for
example: euclidean distance, chi-square, absolute value, etc. In this example, we can use the Euclidean distance (which is
quite known) based on the following formula:
So the algorithm output is the ID from the image with the closest histogram. The algorithm should also return the calculated
distance, which can be used as a ‘confidence’ measurement. Note: don’t be fooled about the ‘confidence’ name, as lower
confidences are better because it means the distance between the two histograms is closer.
We can then use a threshold and the ‘confidence’ to automatically estimate if the algorithm has correctly recognized the
image. We can assume that the algorithm has successfully recognized if the confidence is lower than the threshold defined.
VII. Flowchart
The flowchart of the proposed system is shown in fig 3.4. Initially we have to input an image through the use of camera which
can be inbuilt or externally connected. Then we will send this image for storing purpose in database. The other details like name,
student ID, roll no, contact information and course details are also stored simultaneously in the database. After this we will
perform the steps for recognition. If the face is in database, face will be search in database matched else it will be labeled as
unknown. If the face is matched then it will mark the attendance and save it in database and the program will be end. In this way
flowchart will get executed.
Working Interface of System
This is the opening interface of the system. On successful execution of the program this GUI will appear. Here you will see the
various icons/buttons with its functioning name below image. Clicking the particular button will open another GUI window
performing specialized task. As we can see, here total of 8 buttons are used . You can add more if you want. This interface is
totally created using Tkinter library in python.
VIII. Conclusion:
This project describes a facial recognition-based automated student attendance system. By comparing the input photographs that
were derived from the attendance images registered with, the suggested solution offers a way to identify the individuals. With the
use of an input facial picture that was taken from a frame of the recorded video, the suggested method identify and locate faces.
Additionally, it offers a way to see the attendance information. With advances in digital technology ,the quality of facial
verification in face recognition attendance system has improved and acceptance rate is high. Its’ appeal is enhanced further by
their fast image processing time . The facial recognition attendance provides an additional layer of protection to the workplace.
REFERENCES
[1] Isha Rajput, Nahida Nazir,Navneet Kaur,Shashwat Srivastava,Abid Sarwar,Baljinder Kaur, Omdev Dahiya, Shruti Aggrawal.
Attendance Management System using Facial Recognition ,DOI: 10.1109/ICIEM54221.2022.9853048,17 August 2022
[2] Mazen Ismaeel Ghareb , Dyaree Jamal Hamid , Sako Dilshad Sabr , Zhyar Farih Tofiq, New approach for Attendance System
using Face Detection and Recognition, DOI: 10.24271/psr.2022.161680, November 2022
[3] Dhanush Gowda H.L , K Vishal , Keertiraj B. R , Neha Kumari Dubey , Pooja M. R. , Face Recognition based Attendance
System, ISSN: 2278-0181 IJERTV9IS060615 Vol. 9 Issue 06, June-2020
[4] Ghalib Al-Muhaidhri , Javeed Hussain, Smart Attendance System using Face Recognition , ISSN: 2278-0181 ,Vol. 8 Issue
12, December-2019
[5] Amrutha H. B, Anitha C, Channanjamurthy K. N, Raghu R, Attendance Monitoring System Using Face
Recognition, DOI : 10.17577/IJERTCONV6IS13213, 24-04-2018
[6]Chappra Swaleha,Ansari Salman, Shaikh Abubakar, Prof. Shrinidhi Gindi, Face Recognition Attendance System
Volume:04/Issue:04/April-2022