Inspiration

Now more than ever, plagiarism represents a pressing issue in academia. We were inspired to combat this problem (albeit in a somewhat humoristic way) using our programming skills.

What it does

Our application analyzes a live video frame by frame, recognizing faces and figure out in what direction the face is pointing and what direction the eyes are looking. Based on that knowledge, we assess whether or not that person is cheating, and highlight that face with a red box if it is.

How we built it

We used OpenCV-python for video processing and handling the stream from the webcam. Then each frame was processed using mediapipe, another python library, which allowed us to place a mesh on each recognized face. This then allowed us to figure out where everyone was looking and handle it with our own logic. For our use of AI, we used mediapipe's pre-trained face detection model

Challenges we ran into

Tuning the boundaries between looking straight and not looking straight can be challenging. Make the interval too large and you won't catch any cheating, make it too small and any small movement of the head or random fluctuation in image processing will produce a false positive. Thus striking the balance was a crucial, but challenging task. Additionally, implementing other things to run at the same time, like playing something on the speaker ended up proving too difficult. We tried using threading, but after hours of debugging with mentors it was simply above our pay grade.

Accomplishments that we're proud of

We are proud of the multiple face processing, as well as the speed with which all of the processing is done. We are still able to keep a frame rate of over 30fps even with multiple subjects in frame.

What we learned

We confirmed our beliefs that computer vision tasks, especially when done live, can be very finnicky. But with careful planning, truly useful things can be made.

What's next for SnitchMaxxing

Only time will tell!

Built With

Share this project:

Updates