0% found this document useful (0 votes)
17 views16 pages

Presentation 3

Uploaded by

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

Presentation 3

Uploaded by

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

NATIONAL INSTITUTE OF TECHNOLOGY RAIPUR

SUMMER INTERSHIP
AUTOMATIC ATTENDANCE SYSTEM

NAME: CHETAN SAHU


ROLL NUMBER: 21115030
BACHELOR OF TECHNOLOGY, 7TH SEMESTER
COMPUTER SCIENCE & ENGINEERING
GitHub Link : https://github.com/ChetanSahu07/CODSOFT
INTRODUCTION

• As we know that taking attendance of students in each class is a time


taking process.
• So this project is made to solve this problem.
• It is a system for recognizing faces in a group image and marking
attendance automatically in Excel Sheet.
• Combines computer vision and machine learning technologies for efficient
attendance management.
FILE STRUCTURE
SAMPLE IMAGE FOR APPLICATION
OUTPUT SCREEN SHOT OF
APPLICATION

Unknown
EXCEL SHEET ATTENDANCE
UPDATION
PROJECT FEATURES

• Key Features:
- Detects and recognizes faces from known face databases.
- Records attendance by matching detected faces with the database.
- Uses a GUI for ease of use (Tkinter).
- Attendance data is saved in a CSV file.
TECHNOLOGIES USED

• Programming Language: Python


• Libraries:
- face_recognition for face detection and recognition.
- OpenCV for image processing.
- Tkinter for the graphical user interface (GUI).
- CSV for storing attendance records.
• Other Tools:
- PIL for image manipulation.
SYSTEM WORKFLOW
Face
Database
Setup

Loading
Known faces

Image
Processing

Face
Matching

Marking
Attendance
SYSTEM WORKFLOW
Face Database Setup:
Load known faces from the 'known_faces' directory.

Loading Known Faces:


• The system loops through each folder (person) and loads their images using the face_recognition library.
• For each image, it extracts a face encoding (a numerical representation of a person's facial features). These
encodings are saved in the known_face_encodings list.

Image Processing:
• The user selects an image file using the file dialog, and it is passed to the face_recognition library for processing.
• The system locates faces in the group image by calling the face_locations() function, which returns the
coordinates of each face.
• The system then generates encodings for each detected face using face_encodings(). These encodings are
compared to the ones in the known_face_encodings list.
Face Matching:
• The program compares each face encoding from the group photo to the encodings in the
known_face_encodings list using compare_faces(). This function checks if there’s a match.
• For better accuracy, the distance between the unknown face and each known face is calculated using
face_distance(), and the closest match is identified.
• If a match is found, the corresponding name from known_face_names is assigned to that face. If no match is
found, the person is labeled as "Unknown."

Marking Attendance:
• If a face is successfully recognized (i.e., matched to a known person), the person's name
and the current date/time are recorded in the attendance.csv file.
• To prevent multiple entries for the same person in a single session, the system uses a
marked_names list to track individuals who have already been logged.
Image Display:
• Once the group photo is processed, the system displays the image with bounding boxes drawn
around each detected face. The recognized person's name is displayed below their face.
• If the person is unrecognized, they are labeled as "Unknown."

Identified Faces Output:


• After processing, the system saves the group photo with bounding boxes and labels to a file
named identified_faces.jpg. This provides a visual record of the detected faces.

MORE MINOR TASKS DONE DURING


INTERNSHIP
1. Movie recommendation system
2. Chat bot
CHALLENGES FACED AND
SOLUTION
1. Face Detection Accuracy:
• Challenge: Achieving high accuracy in detecting and recognizing faces, especially in cases of poor lighting, partial
occlusions (e.g., people wearing masks or glasses), or unusual facial expressions, can be difficult.
• Solution: Fine-tuning the threshold for face matching and improving the quality of the dataset for known faces
helped enhance recognition accuracy. However, variations in lighting and angles remain challenging.

2. Real-Time Processing:
• Challenge: Processing high-resolution group images with many faces can be computationally expensive, resulting in
slower performance.
• Solution: To mitigate this, image scaling and resizing were implemented to reduce the load on the system during face
detection and encoding. Despite this, real-time processing for live video feeds remains challenging without further
optimization.
3. Handling Multiple Faces:
• Challenge: When multiple individuals are present in the image, ensuring that each person is correctly identified
without duplication or missed detections is crucial.
• Solution: A tracking mechanism (marked_names) was used to ensure that each recognized person is logged only
once. However, there are still challenges when faces are closely clustered.

4. Unknown Faces:
• Challenge: Handling unknown faces (faces not in the database) posed an issue, as the system needed a way to
label them properly without introducing false positives.
• Solution: By setting a threshold for face matching, the system labels unidentified faces as "Unknown," but false
negatives (known faces being labeled as unknown) can still occur, especially when the dataset is small or images
are of low quality.
THANK YOU !

You might also like