Presentation 3
Presentation 3
SUMMER INTERSHIP
AUTOMATIC ATTENDANCE SYSTEM
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
Loading
Known faces
Image
Processing
Face
Matching
Marking
Attendance
SYSTEM WORKFLOW
Face Database Setup:
Load known faces from the 'known_faces' directory.
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."
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 !