본문 바로가기

Music & Audio Technology

[Computer Vision] Automatic Cheating Detection for Online Webcam Exam

Automatic Cheating Detection for Online Webcam Exam

 

▲ Full Demo Video

 

 

Head Pose Estimation using Face Landmark Dection and Perspective-n-Point algorithm

 

 

code: https://github.com/soohyun123/Automatic-Cheating-Detection-for-Online-Webcam-Exam

 

pseudocode:

 

While loop takes video frames:

   Face Detection (OpenCV)

   if # of faces == 0:

      "ALERT!! No student"

   if # of faces > 1:

      "ALERT!! More than one student"

   if # of faces == 1:

      Hand Detection (Deep Learning, YOLO model)

         if # of hands == 0:

            "ALERT!! No hands"

         else:

            Draw yellow boxes for detected hands.

            Take the face detected part of the image frame and convert to 64×64 gray scale.   

            Face Landmark Detection (Deep Learning, VGG-5 network, output: landmark coordinates)

            Convert the obtained landmark coordinates to the original image frame size.

            Head Pose Estimation (Perspective-n-Point algorithm, output: translation, roataion vector)

            Draw a green rectangle around the face inclined at the same angle as the face.

            Draw a green straight line that points in the same direction as the face.

            if Horizontal Angle of Face > 20:

               "ALERT!! Looking Right"

            if Horizontal Angle of Face < -20:

               "ALERT!! Looking Left"

Out the frame with messages and figures

 

 

 

In the global Covid-9 pandemic, as universities are doing online semesters, exams are also being conducted online. When conducting a real-time online exam using webcams, a small number of supervisors have to monitor the webcam videos of many students. It is not only a burdensome task for the supervisors, but it is also easy to miss some students' abnormal behaviors.

 

Suppose an exam supervision assistant system based on deep learning generates warning messages when it detects abnormal behaviors of students. In that case, supervisors will be able to supervise exams much more conveniently and thoroughly. This project aimed to build such an exam supervision assistance system.

 

 

For face detection, OpenCV library was used.

For hand detection, a pretrained weight was used: https://github.com/cansik/yolo-hand-detection.

For face landmark detection, VGG-5 network was trained with an open dataset: https://github.com/junhwanjang/face_landmark_dnn.