Smart Attendance Report
Smart Attendance Report
Introduction
2. Objective
3. System Requirements
Software Requirements:
● Programming Languages:
C (for attendance management), Python (for
face detection and recognition)
● Libraries:
○ Python: OpenCV, face_recognition, smtplib (for
notifications)
● Operating System: Windows/Linux
● Development Environment: Any IDE supporting C and Python
(e.g., Visual Studio Code)
Hardware Requirements:
4.1 Overview
1. Photo Registration:
Individual photos of each student are stored
alongside their name and roll number, creating a reference database.
2. Attendance Marking:
○ The teacher takes a group photo of the class.
○ The Python script processes this photo, detects faces, and
matches each one with the stored photos to identify students.
○ The recognized students’ roll numbers are saved in
attendance_today.txt.
3. Attendance Processing: The C program reads the recognized roll
numbers, updates the attendance records, and generates a report.
4. Feature Enhancements: Added features (listed below) include
notifications, analytics, and export options for better usability and
reporting.
5. Key Features
1. Student Registration with Photos: Individual student photos,
names, and roll numbers are stored for accurate identification during
attendance marking.
2. Automatic Matching and Absence Detection: The system checks
the group photo against stored student photos to identify those
present. Students missing from the photo are automatically marked
absent.
3. Real-Time Notifications: When a student is marked absent, a
notification (via SMS or email) is sent to their registered contact,
keeping students and parents informed.
4. Attendance Analytics Dashboard: The app features an analytics
dashboard displaying attendance trends, average attendance rates,
individual student attendance, and visual graphs, enabling
administrators and teachers to track student attendance patterns.
5. Class Summary Generation: After each class, a summary report is
generated that lists present and absent students, providing a quick
and organized reference for teachers.
6. Automatic Late Marking: The app detects if a student joins after a
specified time and marks them as "late" rather than "absent,"
differentiating between true absences and tardiness.
7. Multiple Group Photo Support: Allows for multiple group photos
to be processed for better accuracy, especially in larger classes.
8. Facial Recognition Accuracy Check: If the system has uncertainty
about a face match, it prompts the teacher for manual confirmation,
enhancing reliability.
9. Roll Number Verification by Voice: The app can call out roll
numbers of students marked absent, allowing the teacher to confirm
verbally if they are indeed present.
10. Attendance Export and Integration: Attendance data can be
exported in Excel or CSV formats and integrated with other school
systems or Learning Management Systems (LMS) for seamless data
sharing.
11. Student and Teacher Login with History Access: A secure
login feature for teachers and students, enabling them to access
attendance history, request corrections, and view class notes,
providing transparency.
12. Face Re-Training for Accuracy: The app supports periodic
retraining of facial recognition models with new photos,
accommodating changes in students' appearances and maintaining
long-term accuracy.
13. Absent Student Notification to Parents: When students are
marked absent, an automated report is sent to their parents, detailing
the absence and any pertinent information related to the class. This
helps keep parents informed about their child’s attendance.
6. Implementation Details
9. Conclusion