Leveraging AI in Proctoring of online examination

souvik roy
2 min readApr 21, 2024

--

Scope & Description

Ai based proctoring system to conduct & invigilate the examination. Examiner is expected to conduct online exam with enabling web cam with the laptop/desktop. Invigilator is able to see cheating alerts during exam and he/she can take corrective exams conveniently.

User

  1. Student/examiner : expected to perform exam without cheating
  2. Invigilator : expected to monitor cheating incident

Use-case

  1. Different person to attend exam
  2. Mobile/any device usage during exam
  3. Looking at others/focus point changed to different direction during exam
  4. Talking during exam

Functionality

Architecture

Result :

  1. Response time of alert
  2. Module performance testing

Demo video to detect the cheating :

https://youtu.be/td8NpTZUuC0

Implementation :

Python codes socket with JS to have client sided feature to maintain high precision and low latency application.

Requirements

absl-py==0.14.1
argcomplete==1.12.3
argon2-cffi==21.1.0
astor==0.7.1
astunparse==1.6.3
attrs==21.2.0
backcall==0.2.0
bleach==4.1.0
cached-property==1.5.2
cachetools==4.2.4
certifi==2021.5.30
cffi==1.14.6
charset-normalizer==2.0.7
clang==5.0
click==8.0.1
colorama==0.4.4
cycler==0.10.0
debugpy==1.4.3
decorator==5.1.0
defusedxml==0.7.1
entrypoints==0.3
face-recognition==1.3.0
face-recognition-models==0.3.0
flatbuffers==1.12
gast==0.4.0
google-auth==2.3.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.41.0
h5py==3.1.0
idna==3.3
importlib-metadata==4.8.1
ipykernel==6.4.1
ipython==7.28.0
ipython-genutils==0.2.0
ipywidgets==7.6.5
jedi==0.18.0
Jinja2==3.0.1
joblib==1.0.1
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client==7.0.4
jupyter-console==6.4.0
jupyter-core==4.8.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.2
keras==2.6.0
Keras-Applications==1.0.7
Keras-Preprocessing==1.1.2
kiwisolver==1.3.2
Markdown==3.1
MarkupSafe==2.0.1
matplotlib==3.4.3
matplotlib-inline==0.1.3
mistune==0.8.4
mock==2.0.0
mtcnn==0.1.1
nbclient==0.5.4
nbconvert==6.2.0
nbformat==5.1.3
nest-asyncio==1.5.1
notebook==6.4.4
numpy==1.19.5
oauthlib==3.1.1
opencv-python==4.5.3.56
opt-einsum==3.3.0
ortools==9.0.9048
packaging==21.0
pandocfilters==1.5.0
parso==0.8.2
pbr==5.1.3
pickleshare==0.7.5
Pillow==8.3.2
prometheus-client==0.11.0
prompt-toolkit==3.0.20
protobuf==3.18.1
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.20
Pygments==2.10.0
pyparsing==2.4.7
pyrsistent==0.18.0
python-dateutil==2.8.2
pywin32==301
pywinpty==1.1.4
pyzmq==22.3.0
qtconsole==5.1.1
QtPy==1.11.2
requests==2.26.0
requests-oauthlib==1.3.0
rsa==4.7.2
scikit-learn==0.21.3
scipy==1.7.1
Send2Trash==1.8.0
six==1.15.0
tensorboard==2.7.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.0
tensorflow==2.6.0
tensorflow-estimator==2.6.0
termcolor==1.1.0
terminado==0.12.1
testpath==0.5.0
threadpoolctl==2.2.0
tornado==6.1
traitlets==5.1.0
typing-extensions==3.7.4.3
urllib3==1.26.7
wcwidth==0.2.5
webencodings==0.5.1
Werkzeug==0.15.2
widgetsnbextension==3.5.1
wincertstore==0.2
wrapt==1.12.1
zipp==3.5.0

Codes : github / implementation/ any help — Pls connect me linkedin

Future scope

  1. Multithreaded codes
  2. Fine tuning

--

--