0% found this document useful (0 votes)
16 views

MINI PROJECT REPORT FORMAT Part 2

The application’s design would be guided by inclusivity, ensuring support for multiple sign languages and regional dialects. It would come with options to select different sign language variants, such as American Sign Language (ASL), British Sign Language (BSL), Indian Sign Language (ISL), and more. Additionally, users could customize settings based on their preferences, such as choosing between different accents or voice options for spoken translations. This personalization would make the exper

Uploaded by

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

MINI PROJECT REPORT FORMAT Part 2

The application’s design would be guided by inclusivity, ensuring support for multiple sign languages and regional dialects. It would come with options to select different sign language variants, such as American Sign Language (ASL), British Sign Language (BSL), Indian Sign Language (ISL), and more. Additionally, users could customize settings based on their preferences, such as choosing between different accents or voice options for spoken translations. This personalization would make the exper

Uploaded by

Samuel Prince
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 40

AI BASED ATTENDANCE SYSTEM

A MINI PROJECT REPORT

Submitted by

A.PRINCE SAMUVEL (952820104501)

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE AND ENGINEERING

SCAD COLLEGE OF ENGINEERING AND TECHNOLOGY,


CHERANMAHADEVI

ANNA UNIVERSITY: CHENNAI 600 025

APRIL/MAY 2022
ANNA UNIVERSITY: CHENNAI 600 025

BONAFIDE CERTIFICATE

Certified that this project― “AI BASED ATTENDANCE SYSTEM” is the

bonafide work of R.Vinothkumar(952820104085), P.Thalavainathan

(952820104078),S.Sivakumar(952820104065)A.Princesamuvel(9528201045

01)who carried out the project work under my supervision.

SIGNATURE SIGNATURE
DR.A.VEGI FERNANDO M.E.(Ph.D) DR.S.RAM PRASAD M.E (Ph.D)
HEAD OF THE DEPARTMENT SUPERVISOR

Designation Designation
Department of Computer Science and Department of Computer Science and
Engineering Engineering
SCAD College of Engineering and SCAD College of Engineering and
Technology Technology
Tirunelveli - 627414 Tirunelveli - 627414

Submitted for the Anna University Mini Project Viva voce held at SCAD

College of Engineering and Technology on _______________________


Internal Examiner External Examiner
TABLE OF CONTENTS
CHAPTER NO TITLE PAGE NO
ABSTRACT 4
LIST OF TABLES
LIST OF FIGURES
LIST OF ABBREVIATIONS
1 INTRODUCTION 5
1.1 OBJECTIVES
2 PROJECT WORK 7
2.1 SYSTEMANALYSIS
2.1.1 EXISTING SYSTEM 8
2.1.2 DRAWBACKS 9
2.1.3 PROPOSED SYSTEM 11
2.2 SYSTEM REQUIREMENTS
2.2.1 HARDWARE REQUIREMENTS 13
2.2.2 SOFTWARE REQUIREMENTS
2.2.3 SOFTWARE DETAILS
2.3 SYSTEM IMPLEMENTATION 15
2.3.1 MODULES
2.3.2 MODULES DESCRIPTION
2.4 SYSTEM DESIGN 19
2.4.1 ARCHITECTURAL DIAGRAM
2.4.2 FLOW DIAGRAM
2.5 SYSTEM TESTING
3 CONCLUSION 22
3.1 CONCLUSION
3.2 FUTURE ENHANCEMENT

APPENDICES
I SCREEN SHOTS
II SOURCE CODE
III REFERENCES

ABSTRACT

The face attendance system is an advanced and efficient approach to


automate the process of tracking and managing attendance in various
educational, corporate, and organizational settings. This abstract
provides an overview of the key features, benefits, and
implementation aspects of the face attendance system.

Traditional attendance management methods, such as manual


registers or swipe cards, are prone to errors, time-consuming, and
lack reliability. The face attendance system leverages cutting-edge
facial recognition technology to accurately identify individuals and
record their attendance. It eliminates the need for physical contact or
identification devices, offering a seamless and contactless attendance
tracking solution.

The system operates by capturing facial images of individuals and


comparing them against a pre-existing database of registered faces.
This comparison process involves analyzing unique facial features
and patterns, ensuring high accuracy in identifying individuals even
in varying lighting conditions or pose variations.

Key benefits of the face attendance system include increased


efficiency, reduced administrative burden, enhanced security, and
improved accuracy. The automated nature of the system eliminates
the need for manual attendance tracking, freeing up valuable time for
instructors, administrators, and employees. Additionally, the system
provides real-time attendance reports and analytics, allowing for
effective monitoring and decision-making.

Implementing the face attendance system requires a combination of


hardware and software components. Hardware components typically
include cameras or webcam devices capable of capturing high-
resolution facial images. The software components encompass facial
recognition algorithms, databases for storing and matching face data,
and user-friendly interfaces for system configuration and
management.

Privacy and data security are crucial considerations in the


implementation of a face attendance system. Organizations must
adhere to legal and ethical guidelines while collecting and storing
facial data. Implementing encryption protocols, access controls, and
data protection measures helps safeguard sensitive information and
ensures compliance with relevant regulations.

INTRODUCTION

The face attendance system is a technological advancement that


revolutionizes the way attendance is tracked and managed in various
domains, including educational institutions, corporate offices, and
organizations. It utilizes facial recognition technology to automate the
process of identifying individuals and recording their attendance,
offering a contactless and efficient solution.

Traditional methods of attendance management, such as manual


registers or swipe cards, have inherent limitations in terms of
accuracy, reliability, and time consumption. These methods are prone
to errors, can be manipulated, and require manual efforts for data
entry and tracking. The face attendance system addresses these
challenges by leveraging the unique characteristics of each
individual's face to accurately identify them.

Facial recognition technology works by capturing facial images or


video streams and analyzing specific facial features and patterns. This
analysis involves mapping key facial landmarks, such as the distance
between the eyes, the shape of the nose, and the contours of the face.
These unique facial characteristics are then compared against a pre-
existing database of registered faces to determine the identity of an
individual.

The implementation of a face attendance system offers numerous


benefits. Firstly, it eliminates the need for physical contact or
identification devices, providing a hygienic and contactless attendance
tracking solution, especially relevant in the context of public health
concerns. Secondly, it significantly reduces administrative burdens by
automating the attendance recording process, freeing up time for
instructors, administrators, and employees to focus on more
productive tasks.

Moreover, the face attendance system enhances security by


preventing unauthorized access and identity fraud. The facial
recognition technology used in the system provides a highly accurate
and reliable means of identification, minimizing the chances of
attendance manipulation or proxy attendance.

Additionally, the face attendance system offers real-time attendance


tracking and reporting capabilities, providing administrators and
managers with valuable insights and analytics. This enables them to
monitor attendance patterns, identify trends, and make informed
decisions regarding resource allocation and management.

OBJECTIVES

1. Automation: The primary objective of the face attendance system is


to automate the process of attendance tracking. By using facial
recognition technology, the system aims to eliminate the need for
manual entry or physical identification devices, reducing
administrative burdens and saving time.
2. Accuracy: Ensuring accurate attendance records is a key objective
of the face attendance system. By analyzing unique facial features and
patterns, the system aims to achieve a high level of accuracy in
identifying individuals, minimizing the chances of errors or false
attendance records.
3. Efficiency: The face attendance system aims to improve efficiency
by streamlining the attendance tracking process. It reduces the time
and effort required for attendance management, allowing instructors,
administrators, and employees to focus on more productive tasks.
4. Contactless Solution: With increasing concerns about hygiene and
public health, a key objective of the face attendance system is to
provide a contactless attendance tracking solution. By capturing facial
images or video streams, the system eliminates the need for physical
contact or identification devices, promoting a hygienic attendance
management process.
5. Security: Enhancing security is an important objective of the face
attendance system. By leveraging facial recognition technology, the
system aims to prevent unauthorized access and identity fraud. It
provides a reliable means of identification, reducing the chances of
attendance manipulation or proxy attendance.
6. Real-time Reporting and Analytics: The face attendance system
aims to provide real-time attendance reporting and analytics
capabilities. By generating attendance reports and insights, the system
enables administrators and managers to monitor attendance patterns,
identify trends, and make data-driven decisions regarding resource
allocation and management.
7. Scalability: The face attendance system aims to be scalable, capable
of handling attendance tracking for various scales of organizations,
from small educational institutions to large corporate offices. It
should be adaptable to accommodate a growing number of individuals
and efficiently manage attendance data.
8. Privacy and Data Protection: An objective of the face attendance
system is to prioritize privacy and data protection. It should comply
with legal and ethical guidelines for collecting, storing, and using
facial data. The system should implement robust security measures,
such as encryption and access controls, to safeguard sensitive
information.

9. User-Friendly Interface: The face attendance system aims to


provide a user-friendly interface for ease of use and management. It
should be intuitive, allowing administrators and users to configure
and manage the system efficiently without extensive technical
knowledge.

10. Integration and Compatibility: The face attendance system should


be designed to integrate with existing infrastructure and systems, such
as HR management systems or student information systems. It should
also be compatible with a range of hardware devices, such as cameras
or webcams, for capturing facial images.

FLOW DIAGRAM

EXISTING SYSTEM
Prior to the development of face attendance systems, attendance
management in many organizations relied on manual methods or
traditional identification systems. Here are some of the existing
systems that were used before the adoption of face attendance
systems:

1. Manual Registers: This method involves maintaining physical


attendance registers or sheets where individuals manually sign in or
mark their attendance. It is a time-consuming process and is prone to
errors, such as illegible handwriting or false entries. It also requires
manual effort for data entry and tracking.

2. Swipe Card Systems: Some organizations used swipe card systems


where individuals are provided with identification cards that they
swipe through a reader to record their attendance. While it offers a
more automated approach compared to manual registers, swipe card
systems can be vulnerable to proxy attendance if cards are shared or
misplaced.

3. Biometric Systems: Biometric attendance systems, such as


fingerprint or palmprint scanners, were also used to track attendance.
These systems relied on unique biometric characteristics for
identification. While they offered higher accuracy than manual
methods, they still required physical contact, which raised concerns in
terms of hygiene and public health.

4. Barcode/QR Code Scanning: In this system, individuals are


provided with barcode or QR code-based identification cards. These
codes are scanned using dedicated scanners or smartphone
applications to record attendance. However, this method requires
individuals to carry their cards and devices, and it may still be
susceptible to proxy attendance if codes are shared.

5. RFID (Radio Frequency Identification) Systems: RFID-based


attendance systems use radio frequency technology to track
attendance. Individuals are provided with RFID cards or tags that are
read by RFID readers placed at entry points. While RFID systems
offer convenience and speed, they still require physical contact and
can be vulnerable to card sharing.

DRAWBACKS

1. Privacy Concerns: One significant concern with face attendance


systems is privacy. Facial recognition technology involves capturing
and storing facial images or patterns, which can raise privacy issues if
not handled appropriately. Organizations must ensure compliance
with privacy regulations and establish transparent policies regarding
the collection, storage, and use of facial data.

2. Ethical Considerations: The use of facial recognition technology


raises ethical questions, particularly regarding consent and the
potential for misuse. There is a need to obtain informed consent from
individuals before capturing and processing their facial data.
Additionally, organizations should be cautious about the potential for
unauthorized access, data breaches, or misuse of the collected facial
data.

3. Accuracy Challenges: While face attendance systems aim to


provide high accuracy in identifying individuals, certain factors can
impact their performance. Environmental conditions like lighting
variations, changes in facial appearance (e.g., due to aging, facial hair,
or accessories), and pose variations can affect the accuracy of the
system. Regular updates and fine-tuning of the system's algorithms
may be required to address these challenges.

4. Technical Limitations: Face attendance systems rely on hardware


components such as cameras or webcams to capture facial images.
The quality and capabilities of the hardware can influence the
system's performance. Low-resolution cameras or inadequate lighting
conditions may affect the accuracy and reliability of facial
recognition.

5. Cost and Infrastructure Requirements: Implementing a face


attendance system may involve significant costs, including the
procurement of suitable hardware, software, and system integration.
Upgrading existing infrastructure, such as installing high-quality
cameras or additional network bandwidth, may also be necessary.
Organizations should consider the financial implications of
implementing and maintaining the system.

6. Cultural and Diversity Considerations: Facial recognition


technology may exhibit bias or reduced accuracy when applied to
individuals from diverse ethnic backgrounds or with certain facial
features. Organizations should be aware of such biases and ensure that
the system is trained and tested on diverse datasets to mitigate any
potential issues.

7. Acceptance and Resistance: The introduction of new technology,


including face attendance systems, may face resistance from
individuals who have concerns about privacy, surveillance, or
mistrust of the system. Adequate communication, transparency, and
education about the system's benefits and safeguards are crucial to
address potential resistance and gain acceptance.

8. Maintenance and System Updates: Face attendance systems require


regular maintenance and updates to ensure optimal performance. This
includes updating facial recognition algorithms, addressing security
vulnerabilities, and incorporating new features or improvements.
Organizations should allocate resources and establish maintenance
protocols to keep the system up to date.

PROPOSED SYSTEM
1. Contactless Attendance Tracking: The proposed system eliminates
the need for physical contact or identification devices. Individuals'
attendance is recorded by capturing their facial images or video
streams using high-resolution cameras or webcams. This contactless
approach promotes hygiene and addresses public health concerns.

2. Facial Recognition Technology: The proposed system leverages


advanced facial recognition algorithms to accurately identify
individuals. It analyzes unique facial features and patterns, such as the
distance between the eyes, the shape of the nose, and facial contours,
to ensure reliable identification even in varying lighting conditions or
pose variations.

3. Real-time Attendance Monitoring: The system provides real-time


attendance monitoring and reporting capabilities. Attendance data is
captured and processed instantaneously, allowing administrators and
managers to access up-to-date attendance reports, track attendance
trends, and make informed decisions based on real-time analytics.

4. Scalability and Integration: The proposed system is designed to be


scalable, accommodating organizations of various sizes and
attendance requirements. It can handle a large number of individuals
and seamlessly integrate with existing infrastructure, such as HR
management systems or student information systems, to ensure
efficient data management and synchronization.

5. Enhanced Security Measures: The proposed system implements


robust security measures to protect sensitive facial data. It utilizes
encryption protocols and access controls to ensure secure storage and
transmission of facial images. Additionally, privacy and data
protection guidelines are followed to ensure compliance with relevant
regulations.

6. User-friendly Interface: The system provides a user-friendly


interface for ease of use and management. Administrators can
configure and customize the system settings, manage user profiles,
and access attendance reports through an intuitive and intuitive
interface. The system also offers user-friendly enrollment processes
for individuals to register their faces.

7. Adaptability and Accuracy Improvement: The proposed system


continuously improves its accuracy through regular updates and fine-
tuning of facial recognition algorithms. It incorporates machine
learning techniques to adapt to changing facial appearances, aging, or
variations in facial features. This adaptive approach enhances
accuracy and reduces false positives or false negatives.

8. Analytics and Insights: The proposed system offers advanced


analytics and insights to enable data-driven decision-making.
Attendance reports can be generated based on various parameters,
including individual attendance, group attendance, or attendance
trends. This empowers administrators and managers to optimize
resource allocation, identify attendance patterns, and implement
effective attendance management strategies.

9. Training and Support: The system includes comprehensive training


and support resources for administrators and users. Training
materials, documentation, and technical support are provided to
ensure smooth implementation, operation, and maintenance of the
system. This ensures that users are equipped with the necessary
knowledge and skills to utilize the system effectively.

HARDWARE REQUIREMENTS
1. Cameras or Webcams: High-resolution cameras or webcams are
essential components of a face attendance system. They capture facial
images or video streams for identification purposes. The cameras
should have sufficient resolution and image quality to ensure accurate
facial recognition.
2. Server or Computer System: A server or computer system is
required to host the face attendance system software and handle the
processing of facial recognition algorithms. The server or computer
system should have sufficient processing power, memory, and storage
capacity to handle the data processing requirements of the system.

3. Network Infrastructure: A reliable and secure network


infrastructure is necessary to facilitate data transfer between cameras,
servers, and other components of the face attendance system. This
includes switches, routers, and cables to establish a robust network
connection.

4. Display Devices: Display devices such as monitors or screens are


needed to provide visual feedback and user interfaces for system
configuration, monitoring, and attendance reporting. These devices
enable administrators or users to interact with the face attendance
system.

5. Storage Devices: Storage devices are required to store facial


images, attendance records, and associated data. This can include hard
disk drives (HDD), solid-state drives (SSD), or network-attached
storage (NAS) devices, depending on the data storage needs and
scalability requirements of the system.

6. Power Backup: To ensure uninterrupted operation of the face


attendance system, it is advisable to have a power backup solution,
such as uninterruptible power supply (UPS), to protect against power
outages or fluctuations. This helps prevent data loss and system
downtime.

7. Access Control Devices (Optional): In certain scenarios, access


control devices such as card readers or biometric scanners may be
integrated with the face attendance system to provide additional
security and access control features. These devices allow individuals
to authenticate themselves before recording attendance.

8. Mounting Equipment: Depending on the deployment environment,


mounting equipment such as brackets, stands, or wall mounts may be
required to securely position the cameras or other hardware
components in optimal locations for capturing facial images.

SOFTWARE REQUIREMENTS
1. Facial Recognition Software
2. Attendance Management Software
3. Database Management System
4. Network Communication Protocol
5. Operating System
6. Security Software
7. Integration Interfaces/APIs
8. System Monitoring and Logging Tools
9. Software Development Kit (SDK)

SOFTWARE DETAILS

1. Facial Recognition Software: The core software component of a


face attendance system is the facial recognition software. It employs
advanced algorithms to analyze facial features and patterns, perform
identification or verification, and match captured facial images with
enrolled identities. The software should have high accuracy,
scalability, and compatibility with the hardware components of the
system.

2. Attendance Management Software: The face attendance system


requires attendance management software to handle the recording,
storage, and processing of attendance data. This software enables
administrators to manage user profiles, generate attendance reports,
and monitor real-time attendance status. It should provide a user-
friendly interface and integrate seamlessly with other system
components.

3. Database Management System: A robust database management


system is essential to store and manage attendance data, user profiles,
and other relevant information. The system should support efficient
data retrieval, storage, and backup mechanisms. Common database
systems like MySQL, PostgreSQL, or MongoDB can be utilized
based on specific requirements.

4. Network Communication Protocol: The face attendance system


relies on network communication for data transfer between hardware
components and software modules. Standard network communication
protocols such as TCP/IP or HTTP are typically used to establish
reliable connections and enable seamless communication.

5. Operating System: The choice of the operating system will depend


on the specific software requirements and compatibility with the
hardware components. Common operating systems used in face
attendance systems include Windows, Linux, or macOS. The selected
operating system should support the required software dependencies
and provide a stable and secure environment.

6. Security Software: To ensure the security and integrity of the face


attendance system, appropriate security software should be
implemented. This can include firewalls, antivirus software, intrusion
detection systems, and encryption mechanisms to safeguard the
system against potential threats, unauthorized access, or data
breaches.

7. Integration Interfaces/APIs: The face attendance system may


require integration interfaces or application programming interfaces
(APIs) to seamlessly connect with other existing systems, such as HR
management systems, student information systems, or access control
systems. These interfaces allow data exchange and synchronization
between different software applications.

8. System Monitoring and Logging Tools: It is important to


implement system monitoring and logging tools to track the
performance, detect errors, and troubleshoot issues within the face
attendance system. Monitoring tools can provide real-time insights,
while logging tools help in recording system events and facilitating
debugging or analysis if needed.

9. Software Development Kit (SDK): In some cases, a software


development kit (SDK) may be required to customize or extend the
functionality of the face attendance system. The SDK provides
developers with necessary tools, libraries, and documentation to
integrate additional features or develop custom modules for specific
requirements.
MODULES

1. User Enrollment Module: This module allows administrators or


authorized personnel to enroll individuals into the face attendance
system. It captures and stores their facial images or patterns along
with relevant identification details, such as name, employee/student
ID, or other unique identifiers.

2. Facial Recognition Module: The facial recognition module is


responsible for processing the captured facial images or video streams
and performing identification or verification. It utilizes advanced
algorithms to compare the captured image with enrolled templates and
determine the identity of the individual. This module ensures accurate
and reliable facial recognition.

3. Attendance Recording Module: The attendance recording module


tracks and records the attendance of individuals based on their facial
recognition results. It captures the date, time, and location of the
attendance event, and associates it with the corresponding individual's
profile. This module provides real-time attendance tracking and
logging.

4. Attendance Management Module: The attendance management


module handles the overall management of attendance data. It allows
administrators to view, modify, and manage attendance records,
generate attendance reports, and export data for further analysis or
integration with other systems. This module provides administrative
control and facilitates efficient attendance monitoring and reporting.

5. Reporting and Analytics Module: The reporting and analytics


module provides insights and analytics based on attendance data. It
generates attendance reports, such as daily, weekly, or monthly
summaries, individual attendance history, or group attendance
statistics. This module enables administrators or managers to analyze
attendance trends, identify patterns, and make data-driven decisions.

6. System Configuration Module: The system configuration module


allows administrators to configure and customize various settings of
the face attendance system. This includes setting up enrollment
parameters, adjusting facial recognition thresholds, defining
attendance rules, managing user access levels, and configuring
integration interfaces with other systems.

7. Security and Access Control Module: The security and access


control module ensures the security and integrity of the face
attendance system. It includes features such as user authentication,
access control policies, data encryption, and audit trails. This module
safeguards the system against unauthorized access, data breaches, or
tampering.

8. Notifications and Alerts Module: The notifications and alerts


module notifies relevant stakeholders about attendance events or
exceptions. It can send notifications to administrators, managers, or
individuals themselves regarding late arrivals, absentees, or other
attendance-related notifications. This module facilitates timely
communication and improves attendance management efficiency.

9. System Monitoring and Maintenance Module: The system


monitoring and maintenance module provides tools and
functionalities to monitor the performance and health of the face
attendance system. It includes features such as system status
monitoring, error detection and logging, system diagnostics, and
remote maintenance capabilities. This module ensures the smooth
operation and optimal performance of the system.

MODULES DESCRIPTION

1. User Enrollment Module:


This module enables administrators or authorized personnel to
enroll individuals into the face attendance system. It captures the
facial images or patterns of individuals and associates them with
relevant identification details, such as name, employee ID, or student
ID. The module ensures the accurate and secure enrollment of users
into the system.

2. Facial Recognition Module:


The facial recognition module is responsible for processing the
captured facial images or video streams and performing identification
or verification. It utilizes advanced algorithms to analyze facial
features and patterns, compare the captured image with enrolled
templates, and determine the identity of the individual. This module
ensures accurate and reliable facial recognition.

3. Attendance Recording Module:


The attendance recording module tracks and records the attendance
of individuals based on their facial recognition results. It captures the
date, time, and location of the attendance event and associates it with
the corresponding individual's profile. This module provides real-time
attendance tracking and logging.

4. Attendance Management Module:


The attendance management module handles the overall
management of attendance data. It allows administrators to view,
modify, and manage attendance records. Administrators can generate
attendance reports, track attendance trends, and export attendance data
for further analysis or integration with other systems. This module
provides administrative control and facilitates efficient attendance
monitoring and reporting.

5. Reporting and Analytics Module:


The reporting and analytics module provides insights and analytics
based on attendance data. It generates attendance reports, such as
daily, weekly, or monthly summaries, individual attendance history,
or group attendance statistics. This module enables administrators or
managers to analyze attendance trends, identify patterns, and make
data-driven decisions.

6. System Configuration Module:


The system configuration module allows administrators to configure
and customize various settings of the face attendance system.
Administrators can set up enrollment parameters, adjust facial
recognition thresholds, define attendance rules, manage user access
levels, and configure integration interfaces with other systems. This
module provides flexibility and customization options for the system.

7. Security and Access Control Module:


The security and access control module ensures the security and
integrity of the face attendance system. It includes features such as
user authentication, access control policies, data encryption, and audit
trails. This module safeguards the system against unauthorized access,
data breaches, or tampering.

8. Notifications and Alerts Module:


The notifications and alerts module notifies relevant stakeholders
about attendance events or exceptions. It can send notifications to
administrators, managers, or individuals themselves regarding late
arrivals, absentees, or other attendance-related notifications. This
module facilitates timely communication and improves attendance
management efficiency.

9. System Monitoring and Maintenance Module:


The system monitoring and maintenance module provides tools and
functionalities to monitor the performance and health of the face
attendance system. It includes features such as system status
monitoring, error detection and logging, system diagnostics, and
remote maintenance capabilities. This module ensures the smooth
operation and optimal performance of the system.

ALGORITHM FOR PROCESSING :


CONCLUSION

Automated Attendance System has been envisioned for the purpose of reducing
the errors that occur in the traditional (manual) attendance taking system. The
aim is to automate and make a system that is useful to the organization such as
an institute. The efficient and accurate method of attendance in the office
environment that can replace the old manual methods. This method is secure
enough, reliable and available for use. No need for specialized hardware for
installing the system in the office. It can be constructed using a camera and
computer.

SNAPSHOTS

1.OVERALL INTERFACE

2.STUDENT DETAILS
+
SOURCE CODE:

CODE OF MAIN.PY

from logging import root


from time import strftime
from datetime import datetime
from tkinter import*
from tkinter import ttk
import tkinter
from turtle import title
from PIL import Image,ImageTk
from student import Student
import os
from train import Train
from face_recognition import Face_Recognition
from attendance import Attendance
from developer import Developer
from help import Help

class Face_Recognition_System:
def __init__(self,root):
self.root=root
self.root.geometry("1530x790+0+0")
self.root.title("Face Recognition System")

#===========img1
img=Image.open("images/3.jpg")
img=img.resize((500,130),Image.ANTIALIAS)
self.photoimg=ImageTk.PhotoImage(img)

f_lbl=Label(self.root,image=self.photoimg)
f_lbl.place(x=0,y=0,width=500,height=130)

#===========img2
img1=Image.open("images/2.jpg")
img1=img1.resize((500,130),Image.ANTIALIAS)
self.photoimg1=ImageTk.PhotoImage(img1)

f_lbl=Label(self.root,image=self.photoimg1)
f_lbl.place(x=500,y=0,width=500,height=130)

#============img3
img2=Image.open("images/3.jpg")
img2=img2.resize((500,130),Image.ANTIALIAS)
self.photoimg2=ImageTk.PhotoImage(img2)

f_lbl=Label(self.root,image=self.photoimg2)
f_lbl.place(x=1000,y=0,width=550,height=130)

#==============bgimg
img3=Image.open("images/bg2.webp")
img3=img3.resize((1530,710),Image.ANTIALIAS)
self.photoimg3=ImageTk.PhotoImage(img3)

bg_img=Label(self.root,image=self.photoimg3)
bg_img.place(x=0,y=130,width=1530,height=710)

title_lbl=Label(bg_img,text="FACE RECONGNITION ATTENDANCE


SOFTWARE",font=("times new roman",25,"bold"),bg="white",fg="red")
title_lbl.place(x=0,y=0,width=1530,height=45)

#=============time=========
def time():
string = strftime('%H:%M:%S %p')
lbl.config(text = string)
lbl.after(1000, time)

lbl = Label(title_lbl, font=('times new roman',14,


'bold'),background='white',foreground='blue')
lbl.place(x=0,y=0,width=110,height=50)
time()

#==========stdnt button
img4=Image.open("images/st.jpg")
img4=img4.resize((220,220),Image.ANTIALIAS)
self.photoimg4=ImageTk.PhotoImage(img4)

b1=Button(bg_img,image=self.photoimg4,command=self.student_details,cursor
="hand2")
b1.place(x=200,y=100,width=220,height=220)

b1_1=Button(bg_img,text="Student
Details",command=self.student_details,cursor="hand2",font=("times new
roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=200,y=300,width=220,height=40)

#==========Face detect button


img5=Image.open("images/detect.jpg")
img5=img5.resize((220,220),Image.ANTIALIAS)
self.photoimg5=ImageTk.PhotoImage(img5)

b1=Button(bg_img,image=self.photoimg5,cursor="hand2",command=self.face_
data)
b1.place(x=500,y=100,width=220,height=220)

b1_1=Button(bg_img,text="Face
Detector",cursor="hand2",command=self.face_data,font=("times new
roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=500,y=300,width=220,height=40)

#==========attendance button
img6=Image.open("images/att.jpg")
img6=img6.resize((220,220),Image.ANTIALIAS)
self.photoimg6=ImageTk.PhotoImage(img6)

b1=Button(bg_img,image=self.photoimg6,cursor="hand2",command=self.atten
dance_data)
b1.place(x=800,y=100,width=220,height=220)

b1_1=Button(bg_img,text="Attendance",cursor="hand2",command=self.attend
ance_data,font=("times new roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=800,y=300,width=220,height=40)

#==========Help button
img7=Image.open("images/help.png")
img7=img7.resize((220,220),Image.ANTIALIAS)
self.photoimg7=ImageTk.PhotoImage(img7)

b1=Button(bg_img,image=self.photoimg7,cursor="hand2",command=self.help_
data)
b1.place(x=1100,y=100,width=220,height=220)

b1_1=Button(bg_img,text="Help
Desk",cursor="hand2",command=self.help_data,font=("times new
roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=1100,y=300,width=220,height=40)

#==========Train FAce button


img8=Image.open("images/train2.jpg")
img8=img8.resize((220,220),Image.ANTIALIAS)
self.photoimg8=ImageTk.PhotoImage(img8)

b1=Button(bg_img,image=self.photoimg8,cursor="hand2",command=self.train
_data)
b1.place(x=200,y=380,width=220,height=220)
b1_1=Button(bg_img,text="Train
Face",cursor="hand2",command=self.train_data,font=("times new
roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=200,y=580,width=220,height=40)

#==========Photo button
img9=Image.open("images/photo.webp")
img9=img9.resize((220,220),Image.ANTIALIAS)
self.photoimg9=ImageTk.PhotoImage(img9)

b1=Button(bg_img,image=self.photoimg9,cursor="hand2",command=self.open
_img)
b1.place(x=500,y=380,width=220,height=220)

b1_1=Button(bg_img,text="Photos",cursor="hand2",command=self.open_img,f
ont=("times new roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=500,y=580,width=220,height=40)

#==========dev button
img10=Image.open("images/dev.png")
img10=img10.resize((220,220),Image.ANTIALIAS)
self.photoimg10=ImageTk.PhotoImage(img10)

b1=Button(bg_img,image=self.photoimg10,cursor="hand2",command=self.dev
eloper_data)
b1.place(x=800,y=380,width=220,height=220)

b1_1=Button(bg_img,text="Developer",cursor="hand2",command=self.develop
er_data,font=("times new roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=800,y=580,width=220,height=40)

#==========Exit button
img11=Image.open("images/exit.webp")
img11=img11.resize((220,220),Image.ANTIALIAS)
self.photoimg11=ImageTk.PhotoImage(img11)
b1=Button(bg_img,image=self.photoimg11,cursor="hand2",command=self.iExi
t)
b1.place(x=1100,y=380,width=220,height=220)

b1_1=Button(bg_img,text="Exit",cursor="hand2",command=self.iExit,font=("ti
mes new roman",15,"bold"),bg="darkblue",fg="white" )
b1_1.place(x=1100,y=580,width=220,height=40)

def open_img(self):
os.startfile("data")

def iExit(self):
self.iExit=tkinter.messagebox.askyesno("Face Recognition","Are You
Sure You want to Exit?",parent=self.root)
if self.iExit >0:
self.root.destroy()
else:
return

#=================Function buttons

def student_details(self):
self.new_window=Toplevel(self.root)
self.app=Student(self.new_window)

def train_data(self):
self.new_window=Toplevel(self.root)
self.app=Train(self.new_window)

def face_data(self):
self.new_window=Toplevel(self.root)
self.app=Face_Recognition(self.new_window)

def attendance_data(self):
self.new_window=Toplevel(self.root)
self.app=Attendance(self.new_window)

def developer_data(self):
self.new_window=Toplevel(self.root)
self.app=Developer(self.new_window)

def help_data(self):
self.new_window=Toplevel(self.root)
self.app=Help(self.new_window)

if __name__=="__main__":
root=Tk()
obj=Face_Recognition_System(root)
root.mainloop()

CODE OF TRAIN DATASET

from logging import root


from multiprocessing.sharedctypes import Value
from tkinter import *
from tkinter import ttk
from turtle import title, update
from xml.sax.saxutils import escape
from PIL import Image, ImageTk
from tkinter import messagebox
import cv2
from debugpy import connect
import mysql.connector
import os
import numpy as np

from numpy import append, var


import tkinter as tk

class Train:
def __init__(self, root):
self.root = root
self.root.geometry("1530x790+0+0")
self.root.title("Face Recognition System")

title_lbl = Label(self.root, text="TRAIN DATA SET", font=("times new


roman", 25, "bold"), bg="white",fg="darkgreen")
title_lbl.place(x=0, y=0, width=1530, height=45)

img_top = Image.open("images/3.jpg")
img_top = img_top.resize((1530, 325), Image.ANTIALIAS)
self.photoimg_top = ImageTk.PhotoImage(img_top)

f_lbl = Label(self.root, image=self.photoimg_top)


f_lbl.place(x=0, y=50, width=1530, height=325)

# button
b1_1 = Button(self.root, text="TRAIN DATA", cursor="hand2",
command=self.train_classifier,
font=("times new roman", 15, "bold"), bg="darkblue",
fg="white")
b1_1.place(x=0, y=380, width=1530, height=60)

img_bottom = Image.open("images/3.jpg")
img_bottom = img_bottom.resize((1530, 325), Image.ANTIALIAS)
self.photoimg_bottom = ImageTk.PhotoImage(img_bottom)

f_lbl = Label(self.root, image=self.photoimg_bottom)


f_lbl.place(x=0, y=470, width=1530, height=325)

def train_classifier(self):
data_dir = ("data")
path = [os.path.join(data_dir, file) for file in os.listdir(data_dir)]

faces = []
ids = []

for image in path:


img = Image.open(image).convert('L')
imageNp = np.array(img, 'uint8')
id = int(os.path.split(image)[1].split('.')[1])

faces.append(imageNp)
ids.append(id)
cv2.imshow("Training", imageNp)
cv2.waitKey(1) == 13
ids = np.array(ids)
# faces=np.array(faces)
# ===========Train Claasifier and Save===========
clf = cv2.face.LBPHFaceRecognizer_create()
clf.train(faces, ids)
clf.write("classifier.xml")
cv2.destroyAllWindows()
messagebox.showinfo("Result", "Training Datasets Completed!")

if __name__ == "__main__":
root = Tk()
obj = Train(root)
root.mainloop()

CODE FOR FACE RECOGNITION

from logging import root


from multiprocessing.sharedctypes import Value
from tkinter import *
from tkinter import ttk
from turtle import title, update
from xml.sax.saxutils import escape
from PIL import Image, ImageTk
from tkinter import messagebox
import cv2
from debugpy import connect
from matplotlib.pyplot import clf
import mysql.connector
from time import strftime
from datetime import datetime
import os
import numpy as np

from numpy import append, var


import tkinter as tk

class Face_Recognition:
def __init__(self, root):
self.root = root
self.root.geometry("1530x790+0+0")
self.root.title("Face Recognition System")
title_lbl = Label(self.root, text="FACE RECOGNITION", font=("times
new roman", 25, "bold"), bg="white",fg="darkgreen")
title_lbl.place(x=0, y=0, width=1530, height=45)

#1st img
img_top = Image.open("images/ai3.jpg")
img_top = img_top.resize((650, 700), Image.ANTIALIAS)
self.photoimg_top = ImageTk.PhotoImage(img_top)

f_lbl = Label(self.root, image=self.photoimg_top)


f_lbl.place(x=0, y=55, width=650, height=700)

#2nd img
img_bottom = Image.open("images/ai.webp")
img_bottom = img_bottom.resize((950, 700), Image.ANTIALIAS)
self.photoimg_bottom = ImageTk.PhotoImage(img_bottom)

f_lbl = Label(self.root, image=self.photoimg_bottom)


f_lbl.place(x=650, y=55, width=950, height=700)

# button
b1_1 = Button(self.root, text="Face Recognition",
cursor="hand2",command=self.face_recog,font=("times new roman", 15,
"bold"), bg="dark green", fg="white")
b1_1.place(x=1025, y=675, width=200, height=40)

#============attenance============
def mark_attendance(self,i,r,n,d):
with open("vino.csv","r+",newline="\n") as f:
myDataList=f.readlines()
name_list=[]
for line in myDataList:
entry=line.split((","))
name_list.append(entry[0])
if((i not in name_list) and (r not in name_list) and (n not in name_list)
and (d not in name_list)):
now=datetime.now()
d1=now.strftime("%d/%m/%Y")
dtString=now.strftime("%H:%M:%S")
f.writelines(f"\n{i},{r},{n},{d},{dtString},{d1},Present")
#==============face recognition=============

def face_recog(self):
def
draw_boundray(img,classifier,scaleFactor,minNeighbors,color,text,clf):
gray_image=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

features=classifier.detectMultiScale(gray_image,scaleFactor,minNeighbors)

coord=[]

for (x,y,w,h) in features:


cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),3)
id,predict=clf.predict(gray_image[y:y+h,x:x+w])
confidence=int((100*(1-predict/300)))

conn=mysql.connector.connect(host="localhost",username="root",password="1
2345678",database="face_recognition")
my_cursor=conn.cursor()

my_cursor.execute("select std_name from student where


std_id="+str(id))
n=my_cursor.fetchone()
n="+".join(n)

my_cursor.execute("select roll from student where std_id="+str(id))


r=my_cursor.fetchone()
r="+".join(r)

my_cursor.execute("select dep from student where std_id="+str(id))


d=my_cursor.fetchone()
d="+".join(d)

my_cursor.execute("select std_id from student where


std_id="+str(id))
i=my_cursor.fetchone()
i="+".join(i)

if confidence>77:
cv2.putText(img,f"std_id:{i}",(x,y-
75),cv2.FONT_HERSHEY_COMPLEX,0.8,(255,255,255),3)
cv2.putText(img,f"roll:{r}",(x,y-
55),cv2.FONT_HERSHEY_COMPLEX,0.8,(255,255,255),3)
cv2.putText(img,f"std_name:{n}",(x,y-
30),cv2.FONT_HERSHEY_COMPLEX,0.8,(255,255,255),3)
cv2.putText(img,f"dep:{d}",(x,y-
5),cv2.FONT_HERSHEY_COMPLEX,0.8,(255,255,255),3)
self.mark_attendance(i,r,n,d)
else:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),3)
cv2.putText(img,f"Unknown Face",(x,y-
5),cv2.FONT_HERSHEY_COMPLEX,0.8,(255,255,255),3)

coord=[x,y,w,y]

return coord

def recognize(img,clf,faceCascade):
coord=draw_boundray(img,faceCascade,1.1,10,(255,25,255),"Face",clf)
return img

faceCascade=cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
clf=cv2.face.LBPHFaceRecognizer_create()
clf.read("classifier.xml")

video_cap=cv2.VideoCapture(0)

while True:
ret,img=video_cap.read()
img=recognize(img,clf,faceCascade)
cv2.imshow("Welcome to Face Recognition",img)

if cv2.waitKey(1)==13:
break
video_cap.release()
cv2.destroyAllWindows()
messagebox.showinfo("Result","Generating Dataset Completed !!")

if __name__ == "__main__":
root = Tk()
obj = Face_Recognition(root)
root.mainloop()

REFERENCES

[1]. W. Zhao, R. Chellappa, P. J. Phillips, and A. Rosenfeld,“Face recognition:


A literature survey,” ACM Computing Surveys, 2003, vol. 35, no. 4, pp. 399-
458.

[2]. Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool. Surf:
Speeded up robust features. Computer Vision and Image Understanding
(CVIU), 110(3):346–359.

[3]. H.K.Ekenel and R.Stiefelhagen,Analysis of local appearance based face


recognition: Effe cts of feature selection and feature normalization. In CVPR
Biometrics Workshop, New York, USA, 2006

[4]. IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 4, No


1, July 2012 ISSN (Online): 1694-0814

[5]. Javier Ruiz Del Solar, Rodrigo Verschae, and Mauricio Correa. Face
recognition in unconstrained environments: A comparative study. In ECCV
Workshop on Faces in RealLife Images: Detection, Alignment, and
Recognition, Marseille, France, October 2008.

[6]. Kyungnam Kim “Face Recognition using Principle Component Analysis”,


Department of Computer Science, University of Maryland, College Park, MD
20742, USA.

[7]. Osuna, E., Freund, R. and Girosit, F. (1997). "Training support vector
machines: an application to face detection." 130-136

You might also like