Attendance using Face Recognition



Face recognition is one of the most used biometrics. It can be used for security, authentication, identification, and has many more advantages. Furthermore, face recognition systems can also be used for attendance marking in schools, colleges, offices, etc.
This system aims to build a class attendance system which uses the concept of face recognition as the existing manual attendance system is time consuming and cumbersome to maintain. And there may be chances of proxy attendance. Thus, the need for this system increases.
 
• Motivation
- There are a number of systems for attendance purposes, like traditional methods of data, they have drawbacks and are hard to use.
- There is also a chance of human errors and other errors like fingers being slippery etc in case of traditional attendance systems.
• Objective
- To create an efficient automated face recognition system with data storing capabilities.
- To ensure that proxies are not registered and contactless, fast, accurate attendance.
• Methodology
- We have used Viola Jones (HAAR Cascade), CNN for face recognition (VGG FACE), CNN trained for binary classification problem of liveness check (frame is real or fake).

 

1.1) What is Face Recognition
Facial recognition is a technology that identifies or verifies an individual based on their face characteristics. It is a type of biometric technology, which means it uses unique biological characteristics to identify individuals. Facial recognition systems can be used to identify people in photos, videos, or in real-time.
Facial recognition systems work by analyzing a digital image of a person's face and comparing it to a database of faces. The system extracts features from the image, such as the distance between the eyes, the shape of the nose, and the contour of the face. These features are then compared to the features of the faces in the database. If there is a match, the system identifies the person in the image.
We have used CNN for Face Recognition in our project.

 

1.2) How does facial recognition work?
Many people are familiar with face recognition technology through the Face ID used to unlock iPhones (however, this is only one application of face recognition). Typically, facial recognition does not rely on a massive database of photos to determine an individual’s identity — it simply identifies and recognizes one person as the sole owner of the device, while limiting access to others.
Beyond unlocking phones, facial recognition works by matching the faces of people walking past special cameras, to images of people on a watch list. The watch lists can contain pictures of anyone, including people who are not suspected of any wrongdoing, and the images can come from anywhere — even from our social media accounts. Facial technology systems can vary, but in general, they tend to operate as follows:
Step 1: Face detection
The camera detects and locates the face in an image or a frame of a video, either alone or in a crowd.
Step 2: Face analysis
Next, an image of the face is captured and analyzed. Key factors include the distance between your eyes, the depth of your eye sockets, the distance from forehead to chin, the shape of your cheekbones, and the contour of the lips, ears, and chin. The aim is to identify the facial landmarks that are key to distinguishing your face.
Step 3: Converting the image to data
The face capture process transforms analog information (a face) into a set of digital information (data) based on the person's facial features. Your face's analysis is essentially turned into a mathematical formula. The numerical code is called a faceprint. In the same way that thumbprints are unique, each person has their own faceprint.
Step 4: Finding a match
Your faceprint is then compared against a database of other known faces.

 

1.3) What is Face Detection
Face Detection is a part of Face Recognition. Face detection, also called facial detection, is an artificial intelligence (AI)- based computer technology used to find and identify human faces in digital images and video. Face detection technology is often used for surveillance and tracking of people in real time. It is used in various fields including security, biometrics, law enforcement, entertainment and social media.
Face detection algorithms typically start by searching for human eyes, one of the easiest features to detect. They then try to detect facial landmarks, such as eyebrows, mouth, nose, nostrils and irises. Once the algorithm concludes that it has found a facial region, it does additional tests to confirm that it has detected a face.
We have used Viola Jones algorithm for our minor project.

 

3.1) VIOLA JONES ALGORITHM USING HAAR CASCADING
-  It is the most popular object detection algorithm of OpenCV. 
- One of the primary benefits of Haar cascades is that they are very fast.
-  It is used for face detection and not recognition.

 

3.2) CNN – VGG FACE, FOR FACE RECOGNITION
-  Convolutional Neural Networks (CNNs) are a type of artificial neural network (ANN) that are particularly well-suited for image and video analysis tasks. They are inspired by the structure of the human visual cortex, which processes visual information in a hierarchical manner. CNNs consist of layers of neurons, each of which applies a convolution operation to its input
-  VGG Face is a CNN architecture specifically designed for face recognition tasks. VGG Face is based on VGG Net, specifically the VGG16 architecture. VGG Face consists of 16 layers, including 13 convolutional layers , 5 max pooling layers and 3 fully connected layers. [4]
-  The VGG Net architecture is composed of two main types of layers: convolutional and fully connected layers.
-  Convolutional layers are the core building blocks of VGG Net, responsible for capturing local patterns and features from the input face image. The convolutional layers extract facial features at increasing levels of abstraction. The initial layers detect basic edges and textures, while the deeper layers identify more complex facial features, such as eyes, noses, and mouths.
-  Real life application is used in old iphone models and still used in snapchat.
-  Fully connected layers, also known as dense layers, introduce connections between all neurons in one layer to all neurons in the next layer. They act as a higher-level processing stage, combining and transforming the extracted features from the convolutional layers.
-  In summary, convolutional layers in VGG FACE capture local facial features, while fully connected layers combine and transform these features into a meaningful representation for face recognition.

 

3.3) Liveness Detection using CNN
Dataset Used:Anti-Spoofing Dataset
Kucev Roman, 2500 real and spoofed Pictures from videos It can be divided into 2 parts:
1. Extracting regions of interest (images) from videos (two videos – fake and real) and storing them as two different training datasets.
2. Using these datasets to train a Convolutional Neural Network named livenessNet to identify whether the frames provided by the live video camera are real or fake based on the training it received (binary classification problem). 

 

4.1) Basic Outline
4.1.1) Aim- To make a contactless, fast, accurate attendance system using face recognition & detection technologies.
4.1.2) Programming Languages used- Python
4.1.3) Programming Environment & Tools used- VSCode, Excel, Google Collab,Kaggle,Jupyter Notebook,Google Drive, Webcam.
4.1.4) Algorithms and models used- Viola Jones Algorithm, VGG Face, LivenessNet.

 

4.1.5) Action-
  • -  Before starting the recognition pipeline, pictures of each student/attendee are stored in a folder with their name.
  • -  We Primarily use our in built camera or can use external camera to capture objects.
  • -  Camera is enabled, Face detection occurs using Viola Jones Algorithm. This Algorithm provides fast detection of faces appearing on frame. However, It is used for face detection and not recognition.
  • -  After detecting a face, Face recognition is done using CNN VGG Face. It creates representations of all the pictures stored and then compares them with the representation of the current face being identified[4], at the same time LivenessNet checks whether that face is real or is a picture from a device.[5]
  • -  Once the face is identified, upon clicking enter, the name,date and the timestamp are marked in the live excel file. Upon attempting to mark the same person again, “already entered” is shown and the marking is not done again, thus ensuring security against double attendance.
- Finally, once the program is closed after all the attendance is over, it automatically sends the live excel file to the google drive server, where the name is kept as the current date.

 

Project Link - https://github.com/Nabeel-Rizwan/Attendance-using-Face-Recognition
 
References
[1]Smitha, Pavithra S Hegde, Afshin.” Face Recognition based Attendance Management System”. ISSN: 2278- 0181.IJERT,2020
[2]Saptarshi Chakraborty, Dhrubajyoti Das (2014).An Overview of Face Liveness Detection,International Journal on Information Theory (IJIT), Vol.3
[3] Qiong Cao, Li Shen, Weidi Xie, Omkar M. Parkhi, Andrew Zisserman,VGGFace2: A dataset for recognising faces across pose and age, IEEE Conference on Automatic Face and Gesture Recognition (F&G), 2018.
[4] Omkar M. Parkhi,Andrea Vedaldi,Andrew Zisserman,Deep Face Recognition,Visual Geometry Group,Department of Engineering Science.University of Oxford, Deep Face Recognition
10.5244/C.29.41,2015
[5] Samana Jafri, Satish Chawan, Afifa Khan, Face Recognition using Deep Neural Network with “LivenessNet” 978-1-7281-4685-0/20/ , 2020 IEEE



Jan. 21, 2024, 8:25 p.m.




Back




Categories



Attendance using Face Recognition
Face recognition is one of the most used biometrics. It can be used for security, authentication, identification, and has many more advantages. Furthermore, face recognition systems can also be used for attendance marking in schools, colleges, offices, etc.


View
Frameworks
This category includes articles of various popular frameworks used in different fields


View
Programming Languages
Python, Javascript, Java, C, C++, etc. Tons of Programming Languages, which one is best for which purpose?


View
Operating Systems
Mac, Windows, Linux. Which one is the best? Which one is easier to use for different purposes.


View


Technology
Tech empowers us to solve problems, and is constantly shaping our future.


View
Web Development
Web Development is a deep important part of the Internet


View