Status : Completed
Tags: opencv python ML tkinter mediapipe mysql selenium
To develop an AI powered proctoring system to detect cheating in online exams/quizzes.
python
opencv
ML
mediapipe
selenium
tkinter
mysql
Introduction -
An online proctoring system is an advanced AI-integrated tool that has been created for ensuring a cheat-proof test environment when the candidate is attempting an online test from a remote location. It increases the scope for the administrator to conduct online exams from any remote location without worrying about any sort of misleading act or attempt during the test.
Tech stack -
Python
Detection :
GUI :
Database : SQL
Role of each library:
MediaPipe :
The MediaPipe Face Landmarker task lets you detect face landmarks and facial expressions in images. This library is used in head pose detection modules where we have recognized the user's face by analyzing the facial landmarks. Then the nose tip of users is detected and a line is directed from the nose whose position is analyzed in a 2D plane to get the direction in which the user is looking.
OpenCV :
OpenCV is a Python library that allows you to perform image processing and computer vision tasks. It provides a wide range of features, including object detection, face recognition, and tracking.
Selenium:
The selenium package is used to automate web browser interaction from Python. This library is used in our window switch detection modules and is also used to open the Chrome window with the test URL. The current URL method is used to get the current URL of the opened browser tab.
Subprocess:
Subprocess in Python is a module used to run new codes and applications by creating new processes. It lets you start new applications right from the Python program you are currently writing.Also this library we have used to run the background check on the user's system to check for all the background apps running on the pc.
Pyautogui:
This library has been used to take screenshots in the user's system.
Tkinter:
Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit. Creating a GUI application using Tkinter is an easy task.
The entire GUI of our app is based on Tkinter.
FPDF:
PYFPDF is a library in Python, it is used for pdf file document generation. FPDF is a PHP class which allows you to generate PDF files and does not depend on additional PHP libraries
This library has been used to generate the users report after the proctoring.
PyMySQL:
It is a Python package that creates an API interface for us to access MySQL relational databases. We have used this library to make our application interact with the SQL database.
TTKThemes:
This library is used to make the GUI of our application . This is a extended version of tkinter with inbuilt GUI themes that can be easily used to modify and make the GUI of any application.
Other important Utilities
HaarCascade:
Haar Cascade is a feature-based object detection algorithm to detect objects from images. A cascade function is trained on lots of positive and negative images for detection. The algorithm does not require extensive computation and can run in real-time.
TensorFlow:
The TensorFlow Object Detection API is an open-source framework built on top of TensorFlow that makes it easy to construct, train and deploy object detection models. There are already pre-trained models in their framework, which are referred to as Model Zoo.
SQL :
SQL stands for Structured Query Language. SQL lets you access and manipulate databases. It consists of several built-in commands like Update, Delete, Insert, create, and alter that is used to communicate with the database from our application.
Working of the Application -
Online Proctoring
Python:
Selenium:
MediaPipe:
Subprocess:
Tkinter:
Name |
Branch |
Reg. no. |
Aditya Omar |
EE |
20212004 |
Arpit Mittal |
CH |
20218025 |
Tushar Kesarwani |
ME |
20213063 |
Peketi Sai Dheeraj |
CSE |
20214004 |
Sanjay Dutta |
ME |
20213035 |