Register & Capture
Instructors enter student profiles (ID, Name, Major, Gender, Year) and capture real-time webcam photos saved as BLOBs in SQLite.
A desktop-based student attendance system built with PyQt6, OpenCV, face_recognition, and SQLite. It automates registration, face encoding, real-time webcam verification, and attendance record management for instructors.
This project delivers an end-to-end desktop software solution for instructors to streamline student attendance. Using live camera feeds, facial landmarks are extracted and matched against pre-generated embeddings to log attendance in seconds.
The application pairs a modern PyQt6 GUI with lightweight SQLite storage, local Pickle encoding files, and OpenCV face matching to work completely offline without relying on third-party cloud services.
Traditional paper-based or manual attendance verification is slow, prone to human error, and allows buddy punching. Instructors need a fast, transparent method to identify students instantly upon entering the classroom.
The challenge was building a desktop system that handles live camera streams smoothly, prevents duplicate logs within a set time window, and manages student records securely.
The platform features teacher authentication, a registration portal with webcam image capture, automated vector encoding generation, real-time facial matching, and offline SQLite data persistence.
Instructors enter student profiles (ID, Name, Major, Gender, Year) and capture real-time webcam photos saved as BLOBs in SQLite.
The dlib-backed face_recognition library extracts 128-dimensional facial feature embeddings stored into serialized Pickle reference files.
Live video streams match faces against stored encodings, incrementing attendance counts while preventing duplicate logs.
Deep-learning-based facial feature extraction generates encodings for fast distance-based comparison on live camera frames.
Multi-window desktop interface featuring teacher login dialogs, student registration forms, and live camera feed containers.
Lightweight, zero-configuration local storage for student demographic data, image BLOBs, timestamp logs, and serialized facial encoding arrays.
Built with PyQt6, cvzone overlays, and custom UI components to display real-time video feeds, student identity overlays, and active class statistics.
Prevents repeated attendance increments by tracking last_attendance_time timestamps for each student.
Facial embeddings, captured images, and attendance database records remain on the local filesystem without a required cloud backend.
Separated modules for GUI logic, encoding generation, and SQLite handling allow future extensions such as CSV and PDF exports.
The Face Recognition Attendance System demonstrates how desktop application frameworks and computer vision libraries can be combined to automate attendance without depending on external cloud services.
Key takeaway: Local facial encoding combined with lightweight SQLite storage creates a practical desktop workflow for real-time student identification and attendance logging.
Tell us what you are trying to make clearer, faster, or more capable.
Start a conversation