Intelligent Classroom Attendance

System diagrams · Computer vision & facial recognition · Sinai University, Faculty of Engineering, 2025 · Diagrams recreated for portfolio

01 · Process

From roll call to recognition

The manual process costs lecture time and can't stop proxy attendance. The automated process records each student once, as they enter.

AS-IS · MANUAL Lecture startsteaching paused Roll call / sheetname by name Paper recordsignatures, ticks Manual entryre-typed later Reportdelayed, error-prone ⚠ Lecture time lost ⚠ Proxy signatures possible ⚠ Transcription errors TO-BE · AUTOMATED Select subjectbefore the lecture Student entersno action needed Face recognisedcamera at the door Logged oncename · subject · time Excel sheetready at lecture end ✓ Zero lecture time ✓ Physical presence required ✓ No re-typing, no duplicates
02 · Architecture

System architecture

Capture, process on an edge device, decide, and log. The camera layer is swappable: the prototype ran on a Raspberry Pi camera, and the design targets the room's existing surveillance camera.

CAPTUREEDGE PROCESSING · PYTHON + OPENCVOUTPUT Classroom camera Existing CCTV / IP stream Target design Pi Camera Module CSI ribbon, at the entrance Prototype Raspberry Pi 4 · edge device 1 · Framegrab · grayscaleresize 2 · DetectHaar Cascadeface bounding boxes 3 · RecogniseLBPH modelID + confidence 4 · Decidethreshold → knownor "Unknown"once per session Session contextselected subjectdate · start time Trained modelLBPH .yml +ID → name map Attendance sheet Excel · one row per student per lecture ID · name · subject · time Live view boxes + names on screen, via VNC or monitor Processing stays on the device: no face images leave the room — only the attendance record is written.
03 · Pipeline

Two phases: enrol once, recognise every lecture

Enrolment builds the model from two photos per student. Recognition runs on every frame during the entry window.

PHASE A · ENROLMENT (ONE-TIME) Register studentID + name Capture 2 photosfrontal, good light Detect & crop faceHaar · gray · fixed size Train LBPHhistograms per ID Save model.yml + label map model loaded at lecture start → used by Predict PHASE B · RECOGNITION (EVERY LECTURE) Read framecamera stream Detect facesHaar Cascade PredictLBPH → ID, distance Thresholdmatch or "Unknown" Already logged?this subject, today Write rowExcel · timestamp yes → skip (no duplicates) unknown → shown, not logged
04 · Operation

A lecture, end to end

What the instructor does, what the system does, and what the student does — the student's only step is walking in.

Instructor System Student Pick subject Load modelstart camera Walks in Recogniselabel on screen Log onceto Excel Open sheet

Diagrams recreated for this portfolio from the project's design. Prototype hardware and screen shown in the original photo.