0% found this document useful (0 votes)
64 views6 pages

Biometric Attendance System with Raspberry Pi

This document summarizes a conference paper that describes a biometric attendance management system using a Raspberry Pi. The system uses both fingerprint and facial recognition modules connected to the Raspberry Pi to uniquely record student attendance. It transmits attendance data to a real-time database using Firebase, and can generate customized attendance reports. The system provides a backup method of recording attendance using facial recognition in case the primary fingerprint module fails or takes too long.

Uploaded by

malik kall
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views6 pages

Biometric Attendance System with Raspberry Pi

This document summarizes a conference paper that describes a biometric attendance management system using a Raspberry Pi. The system uses both fingerprint and facial recognition modules connected to the Raspberry Pi to uniquely record student attendance. It transmits attendance data to a real-time database using Firebase, and can generate customized attendance reports. The system provides a backup method of recording attendance using facial recognition in case the primary fingerprint module fails or takes too long.

Uploaded by

malik kall
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

See discussions, stats, and author profiles for this publication at: [Link]

net/publication/332130533

Biometric Attendance Management System using Raspberry Pi

Conference Paper · April 2019

CITATIONS READS
0 2,841

1 author:

Varun Panditpautra
Somaiya Vidyavihar
2 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Varun Panditpautra on 01 April 2019.

The user has requested enhancement of the downloaded file.


Biometric Attendance Management System using
Raspberry Pi
Abstract- In every organization or company, attendance time. Thus, our system is compact as all the main functional
is an aspect that is of major importance and is recorded on unit get equipped within a portable handheld box.
a daily basis. Currently, in many institutions, attendance is Attendance Management is a very crucial part of an Institute
recorded by using a sheet of paper on which students sign as it ensures discipline and required performance measures by
in front of their name. The major drawback of this system students. Thus, an accurate and efficient Attendance
is that a student may forge his/her friends’ signature even Management system is highly required and popular.
though they are absent. Keeping a track of the number and
names of students present in the class is a time-consuming II. LITERATURE REVIEW
job and costs a lot of working hours of the faculty. This We have reviewed several IEEE papers relevant to our
time can be saved if the current method of recording system which are as follows:
attendance is replaced by some method that consumes less Initially Jennifer C. Dela Cruz, Arnold C. Paglinawan,
time. After recording the attendance, the next tedious task Miguel Isiah R. Bonifacio, Allan Jake D.
is of generating reports based on the recorded data. This Flores, Earl Vic B. Hurna introduced Biometrics Based
task can easily be automated. In this paper, we describe Attendance Checking using Principal Component Analysis [1]
ways to curb the existing problem through our biometric in the year 2010, where they proposed fingerprint identification
attendance management system with customized report through Arduino, Face detection and recognition using
generation. Raspberry Pi is used to transmit data and our Viola-Jones Face Detection Method and Principal Component
hardware modules are connected to it. The system provides Analysis (PCA) through MATLAB respectively. We have used
two ways-Fingerprint Module and Facial Recognition Raspberry Pi instead of Arduino because it connects easily to
Module in order to record attendance uniquely by checking the Internet and we can use SD cards as the flash memory in
pre-registered data. In case the main method (fingerprint the total system, allowing you to quickly swap out different
module) fails to work, students can use the facial versions of the operating system or software updates to debug.
recognition module. We have used LBPH face recognizer Because of this device is independent network connectivity,
and Haar Cascade method to implement face detection and one can also set it up to access via SSH, or transfer files to it
recognition. The system, after recording attendance, sends using FTP. Next, we reviewed the paper by Yash Mittal,
data to Real-time database using Firebase and this data can Aishwary Varshney, Prachi Aggarwal, Kapil Matani and V. K.
be retrieved on the Web Application. The system is also Mittal proposed in 2015 on Fingerprint Biometric based Access
able to generate customized report of attendance. Our Control and Classroom Attendance Management System [2], in
system stands out from other existing biometric attendance which the proposed Access Control System presents a scalable
management systems as, our system provides a solution for identification and authentication purposes. The
fully-functional backup method to record attendance in system is capable of replacing the existing RFID card-based
case our primary method fails or takes inappropriately long Systems. The generic nature of the ACS makes it possible to
time. Once after all the students have recorded attendance, extend the system to multiple locations and employ the
the data gets sent to the Firebase. technology in various situations. We did not use ACS in our
project as our requirement includes student attending the
Keywords- Biometric, Facial Recognition, Fingerprint lecture till it completes and not just access to lecture hall.
Module, Raspberry Pi, LBPH Face Recognizer, Haar Hence, we will circulate the hardware device to every bench.
Cascade, Firebase, Customized report Next paper reviewed was End-to-end Encryption based
Biometric SaaS [3] by Dr. Vinayak A. Bharadi, V. J. Kaul,
I. INTRODUCTION Sameer Amrutia in the year 2015. In this paper a low-cost
Till today, lecturers in, most universities are still found using computer Raspberry Pi is used as a remote enrolment and
the conventional methods of taking students’ attendance either authentication node. The enrolment part is done, and the
by calling out the student names or by passing around an captured data is sent to the cloud. The Fingerprint & face
attendance sheet for students to sign confirming their presence. capturing sensors along with Wi-Fi adapter is interfaced to
In addition to the time-consuming issue, such a method is also Raspberry Pi. We will make use of the fact that only specific
at higher risk of having students cheating about their characteristics, which are unique to every fingerprint, are
attendance, especially in a large classroom. This method can be filtered and saved as an encrypted biometric key or
replaced by a new method of recording attendance by using mathematical representation. No image of a fingerprint is ever
Biometrics and Facial Recognition. These two technologies can saved, only a series of numbers (a binary code), is used for
be implemented on a computer. But, using these on a computer verification. The algorithm cannot be reconverted to an image,
will not allow the lecturer to record attendance of students. It so no one can duplicate your fingerprints. The next paper was
can be recorded but it has many drawbacks, mainly, it is time on Attendance Management System [4] by Shailendra, Manjot
consuming. To avoid this disadvantage, Biometrics Singh, Md. Alam Khan, Vikram Singh, Avinash Patil, Sushma
(Fingerprint & Facial Recognition) can be used in Raspberry Wadar in the year 2015. This paper presents a design and
Pi, A credit card sized computer, to which various modules framework for taking attendance and thereby making
performing facial recognition and biometric can be attached. troublesome process of taking and compiling of attendance
This will allow the system to be portable and secure at the same simple and efficient. This website uses MySQL database which
is open source relational database management system
(RDBMS). We have used Real-time Firebase database because shown in Fig 3, to mark attendance by recording and validating
here, clients from various platforms share one Realtime the facial features of the user. We have used python as our
Database instance and automatically receive updates with the programming language to interact with firebase. The
newest data. We also reviewed paper on Just IoT Internet of attendance can we retrieved on a Web Application directly
Things based on the Firebase Real-time Database [5] by from Firebase. Fingerprint detection and Facial Recognition
Wu-Jeng Li, Chiaming Yen, You-Sheng Lin, Shu-Chu Tung, algorithms are executed to register as well as validate the
and ShihMiao Huang in the year 2018. This paper designs an respective biometric data.
Internet of Things system called JustIoT. It can be used for
educational purposes and help students to design IoT B. Fingerprint Module
applications. Firebase Cloud had recently introduced the Cloud In our fingerprint module, the sensor is able to enroll new
Functions feature which allows users to write programs in finger as well as detect already existing finger. Fingerprint data
JavaScript language and put them on the Firebase cloud gets stored in the Optical Fingerprint Reader R307 Module
platform. We have used Real-time database for our project as itself. R307 can store up to 1000 fingerprints. R307 module is
Cloud Firestore is still in its beta testing stage and real-time capable of independent fingerprint collection, fingerprint
database stores data as one large JSON tree which makes it registration, fingerprint comparison (1:1) and fingerprint search
very easy to store data. Lastly, we have reviewed and used the (1: N) function. R307 can be accessed by using PyFingerprint
method described in A Real-time Face Recognition System Library.
Based on the Improved LBPH Algorithm[6] by XueMei Zhao,
ChengBing Wei in year 2017 where they describe why LBPH
face recognition algorithm is better than Eigenfaces and
Fisherfaces face recognition algorithms as it can not only
recognize the front face, but also recognize the side face,
and can recognize faces under any light which is more
flexible. Most of our facial recognition module is similar to
what is proposed in this paper.

III. METHODOLOGY
Fig 1 shows the main flow of the system in order to record
attendance and send it to database.

Fig 2. Optical Fingerprint Reader R307

In our system, R307 module performs Fingerprint


Collection, Fingerprint Comparison and Fingerprint Search.
These features are performed at different stages of the project.
Fingerprint Collection: A data set is created of new fingerprint
samples, to be used further for recognition.
Fingerprint Comparison: The user needs to enter finger twice
to validate the new finger. Once user enters finger second time,
it gets stored at a new position. It gives an error saying “Fingers
Don’t Match” upon comparison, in case user enters different
finger second time during validation.
Fingerprint Search: Now, when an already enrolled finger is
entered, the module checks whether it is already there in the
data set by comparing and displays its position number.

C. Facial Recognition
In our face detection module, the camera is able to register a
new face as well as detect already existing image displaying the
name and confidence percentage. The recorded images will be
Fig 1. Block diagram of attendance recording process stored in the dataset folder. The camera takes a predefined
number of images before registering it in the dataset and
training the classifier. Once the image is recorded, it is then
used for training the classifier. In our case we have used Haar
A. Hardware and Software Modules
Cascade Classifier. For training the classifier we need to
The most common set of requirements defined by any convert the detected face into a NumPy array which needs to be
operating system or software application is the physical passed to the trainer.
computer resources, also known as hardware. We have used
Raspberry Pi 3 B+ to transmit data. This is the main hardware
component of our system through which data will be
transferred to online database. It has inbuilt Wi-Fi which helps
to transmit data wirelessly, Optical Fingerprint Reader 307, as
shown in Fig 2, to scan fingerprint and PiCamera module, as
Fig 3. PiCamera
Fig 5. Sample Histogram[7]
There are 3 steps to train the classifier for facial recognition
which are as follows: Data Gathering: Gather face data (face
At the end of this process we will have one histogram for
images in this case) of the people we want to identify. Train the
each face in the training data set which will be stored for later
Recognizer: Feed that face data and respective names of each
recognition. The algorithm also keeps track of which histogram
face to the recognizer so that it can learn. Recognition: Feed
belongs to which person.
new faces of that people and see if the face recognizer we just
Later during recognition, the process is as follows: Feed a
trained recognizes them. The idea with LBPH is not to look at
new image to the recognizer for face recognition. The
the image as a whole, but instead, try to find its local structure
recognizer generates a histogram for that new picture. It then
by comparing each pixel to the neighbouring pixels.
compares that histogram with the histograms it already has.
The names of those face recognizers and their OpenCV calls
Finally, it finds the best match and returns the person label
are: EigenFaces – [Link]()
associated with that best match.
FisherFaces – [Link]() Local
Binary Patterns Histograms (LBPH) –
[Link] Eigenfaces and Fisherfaces D. Firebase Module
are both affected by light and, in real life, we cannot guarantee Firebase is a mobile and web application development
perfect light conditions. LBPH face recognizer is an platform developed by Firebase, Inc. Firebase provides a
improvement to overcome this drawback. real-time database and backend as a service. The service
The LBPH Face Recognizer Process: In this method we take provides application developers an API that allows application
a 3×3 window and move it across one image. At each move data to be synchronized across clients and stored on Firebase's
(each local part of the picture), compare the pixel at the centre, cloud. The company provides client libraries that enable
with its surrounding pixels. Denote the neighbours with integration with Android, iOS, JavaScript, Java, Objective-C,
intensity value less than or equal to the centre pixel by 1 and Swift and [Link] applications.
the rest by 0.
We have successfully created a database and stored data sent
through raspberry pi in it. We have used Python to interact with
Firebase. Fig 6 shows sample data displayed on Real-time
Database on Firebase as received from Raspberry Pi.

Fig 4. LBPH decimal value generation[7]

After we read these 0/1 values under the 3×3 window in a


clockwise order, you will have a binary pattern like 11100011
that is local to a particular area of the picture. When we finish
doing this on the whole image, we will have a list of local
binary patterns. Now, after we get a list of local binary patterns,
you convert each one into a decimal number using binary to
decimal conversion. These steps are shown in Fig 4.[7] Then
you make a histogram of all of those decimal values. A sample
histogram is shown in Fig 5[7] where Y-axis represents
frequency and X-axis represents decimal values.

Fig 6. Sample Firebase Database


IV. INPUT AND OUTPUT
For the proposed system having two modules –
Biometric Recognition and Facial Recognition, we have
provided different inputs to the system.

A. Biometric Recognition

For the biometric recognition module, we provide


fingerprint as the input. The input is a finger to the R307
Biometric Module which is then converted into a
greyscale image as shown in Fig 7.
Fig 9. Process of Marking Attendance using Biometric

After the data is uploaded to Firebase it looks as


shown in Fig 6. This data is then fetched by the Web
Application which is used to generate reports.

B. Facial Recognition

While using the facial recognition module. The input


given to the system is recorded initially by recording a
dataset of each user. This dataset may contain images of
the user’s face ranging from 30-150 in number. More
number of images ensures better accuracy. Recording the
dataset shows the window as shown in Fig 10.

Fig 7. Input Fingerprint Image

Biometric Recognition is required in 2 parts of the


system. First, while registering the fingerprint for the
first time. This process takes places as shown in Fig. 8.

Fig 10. Recording Dataset

Once recorded, these images are then converted into


greyscale for better results. Conversion of these images
is done while storing the image in a folder. Image after
Fig 8. Biometric Registration Process converting to greyscale looks as shown in Fig 11.
Second, Biometric Recognition is required while
Marking the attendance. The procedure of marking the
attendance is as shown in Fig. 9.

Fig 11. Greyscale Images of Dataset.


View publication stats

After training the system using the dataset generated. Indian Institute of Information Technology Chittoor, Sri
Facial Recognition is performed. While performing City, 2015
Facial Recognition, the output is as shown in Fig 12.
[3] Dr. Vinayak A. Bharadi, V. J. Kaul, SameerAmrutia,
“End-to-end Encryption based Biometric SaaS”, Thakur
College of Engineering and Technology Mumbai, India,
2015

[4] Shailendra, Manjot Singh, Md. Alam Khan, Vikram


Singh, AvinashPatil, SushmaWadar, “Attendance
Management System”, Army Institute of Technology,
Pune, India,
[5] 2010Wu-Jeng Li, Chiaming Yen, You-Sheng Lin,
Shu-Chu Tung, and ShihMiao Huang,
“JustIoT Internet of Things based on the Firebase
Real-time Database”, 2018

[6] ​XueMei Zhao, ChengBing Wei, “A Real-time Face


Recognition System Based on the Improved LBPH
Algorithm”, School of Electronic InformationQingdao
UniversityQingdao, China, 2017
Fig 12. Output of Facial Recognition
[7] ​[Link]
opencv-face- recognition
V. CONCLUSION
In the present generation systems, there is a lot of
time, data, space when it comes to keeping track of
attendance. We have studied the overall flow of the system
i.e. how the system would work, what would be the phases
of the system. We have also studied the various algorithms
through which the data can be transferred to the firebase
module and retrieved on the web application. The code for
the respective web application has been written in html
language with the help of java-script for the purpose of
connecting it to the real-time database on the firebase
console. The web page will retrieve the data from the
database and display the required data on the click of a
button on the web page developed. The report generation is
done on the basis of data retrieved from Web Application
and can be custom according to the user. The outputs for
all the trial runs were recorded. On observation, the
designed system gives satisfactory results. Our system
stands out from other existing biometric attendance
management systems as, our system provides a
fully-functional backup method to record attendance in
case our primary method fails or takes inappropriately long
time. Once after all the students have recorded attendance,
the data gets sent to the Firebase.

VI. REFERENCES
[1] Jennifer C. Dela Cruz, Arnold C. Paglinawan,
Miguel Isiah R. Bonifacio, Allan Jake D.
Flores, Earl Vic B. Hurna, "Biometrics Based Attendance
Checking using Principal Component Analysis", School of
EECE, Mapúa Institute of Technology Intramuros,
Manila, Philippines,

[2] 2015Yash Mittal, Aishwary V arshney, Prachi


Aggarwal, KapilMatani and V. K. Mittal,
"Fingerprint Biometric based Access Control and
Classroom Attendance Management System",

Common questions

Powered by AI

The incremental approach of recording face data enhances the accuracy of facial recognition by building a comprehensive dataset that captures a range of expressions, angles, and lighting conditions for better model training . Unlike single-snapshot methods that limit recognition accuracy due to lack of variability, this approach ensures that the recognition system trains on diverse, representative data, improving robustness and reliability. As more varied images are captured, the system can better generalize across new inputs, leading to higher confidence levels and reduced misidentification rates .

The hardware setup, comprising Raspberry Pi, optical fingerprint readers, and PiCamera, plays a critical role in the performance and reliability of the biometric and facial recognition modules. Raspberry Pi facilitates efficient data processing and wireless data transmission, making the system portable and flexible . The Optical Fingerprint Reader R307 offers high accuracy and storage capabilities for fingerprint data, enabling independent verification processes. Meanwhile, the PiCamera supports high-quality image capturing crucial for effective facial recognition, employing algorithms that can operate under different lighting conditions and capture multiple facial traits . This robust hardware setup ensures that the system performs reliably across various environments and enhances the overall security and integrity of attendance data .

The use of Raspberry Pi enhances the efficiency of biometric and facial recognition attendance systems by being a compact, portable, and secure device. It allows for independent and network-connected operations which are not feasible with larger traditional computer systems. Raspberry Pi's ability to connect easily to the internet and to use SD cards for quick software swapping makes it highly versatile . It facilitates quick updates and debugging processes. By incorporating biometric modules like fingerprint and facial recognition attached to Raspberry Pi, data transmission to a database becomes more streamlined and less time-consuming compared to manual methods or systems without internet connectivity .

The combination of optical fingerprint scanners and PiCamera in the comprehensive attendance system ensures multi-layered biometric verification. Fingerprint scanners like the Optical Fingerprint Reader R307 provide robust fingerprint data collection, storing up to 1000 unique fingerprints, and can independently conduct fingerprint collections, registrations, and comparisons . The PiCamera, on the other hand, is used for facial recognition, capturing multiple face images to train recognition algorithms like LBPH, which is particularly resilient to variations in lighting conditions . Together, these components reduce the likelihood of attendance fraud, ensuring highly accurate and reliable student verification .

End-to-end encryption in biometric SaaS solutions is crucial because it ensures that biometric data is securely encrypted from the point of capture on the client device to its storage and use in the cloud. This means that even if intercepted, the biometric data remains inaccessible and unreadable to potential hackers . It improves security by preventing unauthorized access and ensuring that biometric keys, rather than fingerprint images, are stored; the keys are mathematical representations that cannot be reverse-engineered into the original fingerprint . This approach significantly mitigates privacy risks and enhances data security, making the system trustworthy for users .

The integration of Firebase Real-time Database enhances the functionality of the attendance management system by providing a platform for real-time data synchronization. It allows multiple clients from different platforms to share and automatically update attendance data without delay . This improves the system's efficiency by ensuring that all connected devices always have access to the most current data available . Moreover, Firebase's ease of integration with various operating systems and its ability to facilitate the quick deployment of changes to the database make attendance tracking seamless and more responsive to user interaction .

The use of biometric technology in attendance systems dramatically reduces the opportunities for cheating and inefficiency found in traditional roll-call or ID card systems. It automates attendance recording, reducing human error and the administrative burden of manual checks . By validating attendance through unique biometric data such as fingerprints and facial recognition, it offers higher accuracy and security, which are critical for ensuring compliance with educational performance measures . This technological upgrade allows for real-time attendance tracking and reporting, significantly enhancing data accessibility and reliability for educators and administrative staff in educational institutions .

Python was selected as the programming language for implementing the attendance management system due to several key factors: its extensive libraries and frameworks, especially for data handling and interaction with hardware modules like Raspberry Pi . Python supports efficient data manipulation and analysis, critical for processing biometric data in real-time. Its ease of integration with Firebase for database operations and its community support for troubleshooting also contribute significantly. Additionally, Python’s simplicity and readability make it ideal for rapid development and iteration of such system features .

Raspberry Pi is preferred over Arduino in the proposed biometric-based attendance system because of its superior capacity for internet connectivity and its ability to run a full-fledged operating system. Raspberry Pi, with its built-in Wi-Fi and compatibility with SD cards for storage, allows the device to function as an independently networked computer, which is essential for real-time data upload to cloud databases like Firebase . This choice implies that the system can handle more complex operations than Arduino, supports multiple functions simultaneously, and facilitates remote access and management more effectively .

The LBPH (Local Binary Patterns Histograms) algorithm offers significant advantages over Eigenfaces and Fisherfaces, especially under varied lighting conditions. Unlike Eigenfaces and Fisherfaces, which are affected by changes in lighting because they rely on significant global features, LBPH focuses on local features by examining micro patterns in a 3x3 pixel grid. This approach makes LBPH more robust under varying lighting as it does not depend on the overall lighting of the image but rather on local intensity patterns . Consequently, LBPH can effectively recognize faces regardless of the light conditions, making it more flexible and accurate in diverse environments .

You might also like