MINI PROJECT TITLE
A Mini Project Report submitted is Partial Fulfillment of the requirements
for the
Degree of
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING
by
Tushar Baghel Nikhil Kumar Dhruv Pal Singh
(2300011640024) (2300011640018)
(2300011640010)
Mini Project (BCC351)
Anand Engineering College, Agra
Affiliated to
Dr. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY
(Formerly Utter Pradesh Technical University) LUCKNOW
Dec, 2024
DECLARATION
We hereby declare that the work presented in this report entitled “ FACE
RECOGNITION ATTENDANCE SYSTEM ", was carried out by us.
We have not submitted the matter embodied in this report for the
award of any other degree or diploma of any other University or Institute.
We have given due credit to the original authors/sources for all the words,
ideas, diagrams, graphics, computer programs, experiments, results, that are
not our original contribution. We have used quotation marks to
identify verbatim sentences and given credit to the original authors/sources.
We affirm that no portion of our work is plagiarized, and the experiments
and results reported in the report are not manipulated. In the event of
a complaint of plagiarism and the manipulation of the experiments and
results, we shall be fully responsible and answerable.
Name: Tushar Baghel Name: Nikhil Kumar Name: Dhruv Pal Singh
Roll. No.: 2300011640024 Roll. No.: 2300011640018 Roll. No.: 2300011640010
Branch: CSE (AI-ML) Branch: CSE (AI-ML) Branch: CSE (AI-
ML)
(Candidate Signature) (Candidate Signature) (Candidate Signature)
CERTIFICATE
Certified that (Tushar Baghel , Nikhil Kumar , Dhruv Pal Singh ) have
carried out the mini project presented in this file entitled “ Face
Recognition Attendance System ” for the award of Bachelor of
Technology from Dr. APJ Abdul Kalam Technical
University, Lucknow under my supervision. The thesis
embodies results of original work, and studies are carried out by
the students themselves and the contents of the file do not form the
basis for the award of any other degree to the candidates or to
anybody else from this or any other University/Institution.
Date:
[Signature]
Prof. Archana Singh
Assistant Professor (CSE)
ABSTRACT
FACE RECONITION ATTENDANCE SYTEM
The Face Recognition Attendance System (FRAS) is an innovative and automated
system designed to streamline and enhance the traditional method of tracking
attendance in various environments such as schools, universities, and workplaces.
Utilizing advanced facial recognition technology, this system offers a seamless and
contactless approach to recording attendance, addressing challenges associated with
manual or traditional biometric systems like fingerprint scanning.
This abstract provides an overview of the system's design, functionality, advantages,
and potential areas of implementation, highlighting the role of artificial intelligence
(AI) and machine learning in enhancing the accuracy and reliability of the system.
ACKNOWLEDGEMENT
We are highly grateful to Prof. Achal Kumar Tomar, H.O.D. (CSE), for providing this
opportunity to carry out the Mini project work at making ‘ Face Recognition Attendance
System ’ using various resources.
We would like to express a deep sense of gratitude and thanks profusely to Prof. Archana
Singh, Asst. Prof. (CSE), without her wise counsel and able guidance, it would have been
impossible to complete the project in this manner.
We express gratitude to other faculty members of the computer science and
engineering department of AEC for their intellectual support throughout the course of this
work.
Finally, we are indebted to all whosoever have contributed in this report
work.
Tushar Baghel
(2300011640024)
Nikhil Kumar
(2300011640018)
Dhruv Pal Si (2300011640010)
Table of Contents
1. Introduction
2. Software requirement and specification
3. Introduction
4. Methodology
5. Design and Planning
6. Implementation Details
7. Testing and Implementation
8. Screenshots
9. Advantages
10. Future Enhancement
11. Code
12. Conclusion
13. References
INTRODUCTION
The Face Recognition Attendance System represents a leap
forward in leveraging Artificial Intelligence (AI) for
enhanced security and efficiency.
In today’s rapidly evolving environments such as banks,
malls, and other public spaces, traditional security measures
often fall short in providing real-time, accurate threat
detection.
This system addresses those gaps by combining advanced
object recognition algorithms with AI-powered decision-
making to identify potential threats and notify security
personnel instantly.
By analyzing live video feeds and recognizing objects of
interest, the system ensures quicker response times and
heightened situational awareness. Its real-time capabilities,
powered by OpenCV and machine learning models, make it
a robust, scalable, and highly adaptable solution for modern
security challenges.
by Unknown Author is licensed under
SOFTWARE REQUIREMENT AND
SPECIFICATION
Hardware Requirements:
Computers and Cameras capable of real-time
processing.
Software Requirements:
Programming Language: Python.
Libraries:
OpenCV (cv2):
Purpose: OpenCV (Open Source
Computer Vision Library) is used for
real-time computer vision tasks.
Key Functions:
o cv2.VideoCapture():
Captures video from the webcam.
o cv2.imshow(): Displays the
captured frame.
Face Recognition
(face_recognition):
Purpose: This library simplifies face
detection and recognition tasks using
deep learning models. It is built on top
of dlib, an open-source toolkit for
machine learning.
Key Functions:
o face_recognition.load_i
mage_file(): Loads an image
for processing.
o face_recognition.face_e
ncodings(): Extracts facial
features (encodings) from the
image for recognition.
o face_recognition.compar
e_faces(): Compares the
encoding of a detected face to a list
of known encodings to recognize
the person.
NumPy (numpy):
Purpose: NumPy is used for handling
arrays and mathematical operations.
Datetime (datetime):
Purpose: The datetime module is
used to capture the current time when
attendance is marked. It provides the
strftime() function to format the
timestamp into a readable format for
logging the attendance in a CSV file.
METHODOLOGY
Step 1: Data Collection: Capturing facial images
to create a database of unique facial templates.
Step 2: Preprocessing: Enhancing images for
reliable detection (e.g., alignment, resizing).
Step 3: Detection and Recognition: Identifying
individuals using stored encodings and matching
algorithms.
Step 4: Attendance Logging: Automatically
updating attendance records in the system's database.
DESIGN AND PLANNING
System Flowchart:
Video feed → Object Detection → Threat
Analysis → Alert Generation.
Data Flow Diagrams (DFD):
Level 0: Input video → AI system → Alert.
Level 1: AI system: Detection →
Recognition → Decision-making
→Response.
IMPLEMENTATION DETAILS
1. Camera Setup:
A camera (usually a webcam) is placed at a strategic
location, such as a classroom entrance or office lobby,
to capture facial images of individuals as they enter or
exit.
The system continuously streams video to detect and
recognize faces.
2. Face Detection:
The system uses OpenCV for real-time video capture
from the camera.
3. Face Recognition:
The face_recognition library is used for comparing
detected faces against pre-stored face templates
(encodings).
The system first stores images of registered individuals
(e.g., students or employees), extracts facial encodings
(numerical representations of key facial features), and
stores them in a database or file (e.g., CSV ).
The system compares detected face encodings with the
stored ones to identify the person.
4. Attendance Logging:
Once a match is found, the individual's name and
timestamp are logged in an attendance database
(could be a CSV).
The system uses Python’s datetime module to
generate timestamps when attendance is recorded.
The CSV file stores attendance data in the format:
name, timestamp.
5. Real-Time Processing:
The system operates in real-time by continuously
processing each frame from the webcam feed. For
every detected face, it checks for a match with the pre-
stored data.
If a face is recognized, it marks the attendance, and if
not, it indicates the person as "Unknown."
6. Data Management:
Student Photos: Images of individuals are collected
and stored in a designated folder (e.g.,
students_photos). These images should be clear,
with varied angles and lighting, to improve accuracy.
Facial Encodings: Facial encodings of the stored
images are extracted using
face_recognition.face_encodings() and
stored in a list or a database.
Attendance Records: The attendance records are
stored in a file (e.g., CSV), which is updated
automatically whenever a recognized face is detected.
7. User Interface:
The video feed is displayed using OpenCV's
imshow() method to provide real-time feedback.
If a person is recognized, a message with the person's
name is displayed; if the person is not recognized, it
will show "Unknown."
The system may include a simple button or key press to
terminate the process ('q' key to exit).
8. Error Handling and Unknown Faces:
The system handles errors like no face detected or an
unknown face. It displays a message like "Face not
detected" or "Unknown Person."
Optionally, it can prompt for re-capture if no match is
found, or mark attendance as "Unknown."
9. Security Considerations:
The stored facial data must be secured to avoid misuse
or unauthorized access.
The attendance file/database should be protected
against tampering or unauthorized edits.
TESTING AND IMPLEMENTATION
Functional Testing:
Face Detection Accuracy: Check whether the system
can accurately detect faces in various lighting
conditions, such as low light, daylight, and backlit
conditions.
Face Recognition Accuracy: Test the system’s ability
to match detected faces with pre-stored facial templates
in the database. Ensure it can recognize faces from
different angles, facial expressions, and wearing glasses
or masks.
Attendance Logging: Verify that the system logs
attendance correctly when a recognized face is detected
and stored in the database.
Performance Testing:
Real-Time Processing: Ensure that the system can
process the video feed in real-time without delays,
maintaining optimal performance under high traffic or
multiple face detections.
Processing Time : Measure the time taken by the
system to detect and recognize faces in , aiming for
60sec processing time.
Edge Case Testing:
No Face Detected: Check if the system can handle
cases where no face is detected in the video feed and
provides an appropriate error message or prompts.
Multiple Faces in Frame: Multiple faces problem will
be solved in future.
SCREENSHOT
ADVANTAGES
Advantages of the Face Recognition Attendance System
1. Contactless and Hygienic:
o The system does not require physical interaction,
making it a highly hygienic option, especially
important in the post-pandemic world.
2. Accurate and Fast:
o It accurately detects and recognizes faces in real
time, ensuring high efficiency. It can process
multiple faces at once, making it ideal for large
groups or classrooms.
3. Eliminates Proxy Attendance:
o The system prevents issues like proxy attendance
or "buddy punching" by ensuring only the
registered individual is recognized.
4. Automation and Time-Saving:
o Attendance is recorded automatically with
minimal human intervention, reducing manual
effort and the chances of human error. It speeds up
the attendance process, especially in large
organizations.
5. Improved Security:
o Facial recognition offers a more secure method of
identification compared to traditional methods like
manual signatures or PINs, which can be easily
forged or shared.
6. Scalable and Flexible:
o The system can be scaled for use in different
environments such as classrooms, offices, and
even large auditoriums or conferences.
7. Real-time Data Collection:
o Attendance is updated in real-time, providing
immediate access to records, which is helpful for
quick decision-making and reporting.
8. Detailed Reports and Analytics:
o The system generates detailed attendance logs that
can be used for tracking trends, analyzing patterns,
and improving resource management.
9. Reduced Costs:
o By reducing the need for physical infrastructure
(like fingerprint scanners or ID cards) and manual
effort, the system can lower operational costs over
time.
10. Privacy and Data Security:
o With proper encryption and data protection
measures, facial recognition data can be kept
secure, and personal privacy can be maintained
according to regulations like GDPR.
11. Adaptive Learning:
o The system can learn and adapt to different
environmental conditions (lighting changes, facial
expressions, occlusions) over time, improving its
accuracy and reliability.
FUTURE ENHANCEMENT
1.) Process Time: Our Project takes about 60-90
secound of time to scan. Future improvements could
focus on optimizing the face recognition algorithms to
process images faster without compromising accuracy.
2.)Multiple faces: Future versions could have more
advanced face detection algorithms that are
specifically designed to handle multiple faces in
complex scenes.
These algorithms could focus on efficiently analyzing
each face, even when they are closely packed together
or overlapping.
CODE
CONCLUSION
The Face Recognition Attendance System is a big
improvement over traditional attendance
methods. It uses facial recognition technology to
make tracking attendance faster, more secure, and
contactless, which is especially helpful in today’s
world. The system reduces human errors, saves
time, and keeps things hygienic since it doesn’t
require physical contact.
Though there are some challenges, like
recognizing multiple faces in busy places, the
system has a lot of room for improvement. With
better processing speed, handling multiple faces
at once, and refining the technology, it can
become even more effective and reliable.
As the system keeps evolving, it will get better at
managing attendance in classrooms, offices, and
other large spaces. With continued upgrades, it
can offer even faster, more accurate results while
ensuring privacy and data security.