Proctoring-AI  by vardanagarwal

AI for automated online proctoring via webcam/microphone

Created 5 years ago
591 stars

Top 55.1% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides an automated proctoring system using webcam and microphone input to monitor candidates during online exams. It targets developers and researchers in computer vision and audio processing, offering functionalities like eye tracking, mouth opening detection, person counting, mobile phone detection, head pose estimation, face spoofing detection, and basic audio analysis for plagiarism.

How It Works

The system employs a two-pronged approach: vision and audio. Vision functionalities leverage OpenCV's DNN module for face detection (with a quantized option for improved FPS) and a TensorFlow-based model for facial landmark detection, outperforming older Dlib models. YOLOv3 is used for person and mobile phone detection. Audio processing involves recording, converting speech to text via Google's API in a separate thread, and using NLTK to compare common words between candidate speech and exam materials after stopword removal.

Quick Start & Requirements

  • Install dependencies: pip install -r requirements.txt
  • Requires Python 3.x, TensorFlow > 2, OpenCV, scikit-learn==0.19.1 (for face spoofing), PyAudio, SpeechRecognition, NLTK.
  • person_and_phone.py requires a specific model download.
  • Official documentation and demo links are not provided.

Highlighted Details

  • Quantized face detection model offers ~19.5 FPS on an Intel i5, useful for edge devices.
  • Comparison articles are linked for face detection and landmark models.
  • YOLOv3 implementation for person/phone detection.
  • FPS benchmarks provided for various vision functionalities on an Intel i5.

Maintenance & Community

  • The project appears to be a personal effort with contributions encouraged via pull requests.
  • No specific community channels (Discord/Slack) or roadmap are mentioned.

Licensing & Compatibility

  • Licensed under the MIT License.
  • Caveat: The facial landmarks model is trained on non-commercial datasets, raising potential restrictions for commercial use.

Limitations & Caveats

Speech-to-text conversion may not perform well across all dialects. The face spoofing model's accuracy is noted as needing improvement, and a more efficient model than YOLOv3 is desired for CPU deployment. Face recognition and ID card verification are planned but not yet implemented.

Health Check
Last Commit

9 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Starred by Shane Thomas Shane Thomas(Cofounder of Mastra), Alex Yu Alex Yu(Research Scientist at OpenAI; Former Cofounder of Luma AI), and
2 more.

Wav2Lip by Rudrabha

0.2%
12k
Lip-syncing tool for generating videos from speech
Created 5 years ago
Updated 2 months ago
Feedback? Help us improve.