🛡️ AI-Based Class Proctoring System
An intelligent real-time proctoring system built using Computer Vision to monitor student behavior during online and in-class examinations. The system detects suspicious activities such as head movement, eye gaze deviation, absence from frame, and presence of multiple people.
🚀 Features
👁️ Face Detection
Uses MediaPipe FaceMesh to detect and track facial landmarks.
Identifies whether a face is present in the frame.
🧠 Head Movement Detection
Detects if the student turns their head left or right.
Uses nose landmark position to determine orientation.
👀 Eye Gaze Tracking
Tracks iris movement to detect:
Looking left/right → ⚠️ Cheating
Looking down → ✅ Allowed (writing/reading)
🚫 Face Not Visible Detection
Flags when the student's face is not visible in the frame.
👥 Multiple Face Detection
Detects if more than one person is present in the frame.
Flags as potential cheating.
🎥 Real-Time Monitoring
Live webcam feed with:
Bounding box around face
Status display (Fair / Cheating)
Color indicators:
🟢 Green → Fair
🔴 Red → Cheating
🛠️ Technologies Used
Python
OpenCV – Video capture and frame processing
MediaPipe – Face landmark and iris tracking
NumPy – Mathematical computations
Streamlit – Web-based UI for real-time interaction
⚙️ How It Works
Webcam captures live video.
MediaPipe detects facial landmarks.
System analyzes:
Head orientation (nose position)
Eye gaze (iris position)
Based on thresholds:
Determines if behavior is Fair or Suspicious
Displays result in real-time on screen.
📦 Installation
pip install streamlit opencv-python mediapipe numpy
▶️ Run the Project
streamlit run proctoring_system.py
📊 Current Capabilities
✔ Detect head turns
✔ Track eye movement (left/right/down)
✔ Detect face absence
✔ Detect multiple faces
✔ Real-time alert display
⚠️ Limitations
Cannot detect a person if their face is completely hidden
Accuracy depends on lighting and camera quality
Eye tracking may slightly vary across users
🔮 Future Improvements
📱 Object detection (detect phones, books, etc.)
🔔 Real-time alert notification to invigilator
🧍 Full-body/person detection (to detect hidden helpers)
📝 Logging suspicious activities
🎤 Voice activity detection
📸 Demo
Also you can see the screenshots folder for more outputs the system captured
👨💻 Author
Eshanth Kumar Lal Das
MS Computer Science – UMass Boston