EyeQ: Engagement Detection
A computer vision service that scores engagement from ordinary video by combining facial expression, head orientation and body posture into one read per frame, logged per student and session.
- Industry
- EdTech & Research
- Category
- Computer Vision / Affective AI
- Signals
- Emotion, head pose, body pose
- Runtime
- Standard server, no GPU
The challenge
Measuring real engagement in online learning, assessment or research is hard. Any single cue, such as a smile or gaze direction, is easy to fool, so multiple signals must be scored continuously for each learner.
The objective
Score engagement from ordinary video by combining facial expression, head orientation and body posture into one read per frame, logged per student and session for analytics and research.
Our approach
Three models score each frame in parallel: a CNN classifies emotion and engagement from a face crop, a classifier reads body language from MediaPipe landmarks, and head pose is computed from face landmarks and thresholded into engaged or disengaged. A FastAPI endpoint receives frames tagged with student, organization, video and timestamp and writes the three readings to MySQL.
How it works
- 01
Receive a frame with student, organization, video and timestamp.
- 02
Find the face and score emotion with a Keras CNN.
- 03
Classify body pose from MediaPipe Holistic landmarks.
- 04
Compute head-pose angles and map them to engaged or disengaged.
- 05
Save all three readings to MySQL by student, session and second.
The build
- Vision
- MediaPipe (Holistic, FaceMesh), OpenCV
- Models
- TensorFlow/Keras, scikit-learn
- Training
- Amazon SageMaker
- Service & data
- Python, FastAPI, MySQL, pandas
The result
"Running three models together gave us an engagement signal we could actually trust in the study."
Want results like this?
Tell us about your project and get a fixed quote within 24 hours.
Get a free quote ->