Basic Idea
Currently, most exams are supervised by real human-invigilators. Usually, for an exam with around 300 examinees, only 2-3 invigilators are involved. As a result, many students tend to cheat under such conditions. There are a few similar systems on the market, but they all target online exams or a computerized exam center. Our product will target in-person exams either at a high-level educational institute or professional exam center.
Scope
The AI Invigilation system helps the supervisors of in-person exams by setting up exam timers, detecting and recording suspicious behaviors of examinees during the exams. For some large-scale examinations, it’s hard for the supervisors to pay attention to each and every examinee. At the same time, detecting cheating behaviors usually requires a period of time to observe that specific suspicious examinee, which makes it harder to fairly supervise all examinees. The AI Invigilation system can monitor several examinees at the same time and once their behaviors meet some pre-set criterion, the corresponding examinees will be highlighted with explanations for the supervisors to make further decisions. Besides, the criterions and factors are customizable for different examinations by the supervisors.
Documentations
Concept
Software Requirement Specification
Software Design Document
Software Implementation Document
Designs
- Test-Driven Development (TDD)
Test-Driven Development (TDD) focuses on writing tests before code. It helps ensure each part of the AI Invigilation System works correctly. The process involves:- Writing a test case (e.g., video of a suspicious behavior).
- Implementing minimal code to pass the test.
- Running tests and refactoring code.
- Repeating for each feature (e.g., timer management, behavior detection).
- Model-View-Controller (MVC)
The MVC design pattern divides the system into three parts:- Model: Manages data and logic, like behavior detection.
- View: Displays the exam information and alerts (supervisor dashboard).
- Controller: Handles input and updates the model/view (invigilator actions).
Technology Used
- Python: Main language for system development.
- OpenCV (cv2): Handles video feeds and behavior detection.
- PyTorch: For machine learning models to detect cheating.
- Socket (TCP): For real-time communication between the system and the invigilator’s dashboard.
- React JS: For front-end interface development.