Proctoring-AI  by vardanagarwal

AI for automated online proctoring via webcam/microphone

created 5 years ago
588 stars

Top 56.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

7 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Feedback? Help us improve.