Auto-Tracking Camera System
A camera tracking system built with Google MediaPipe to give classmates quarantined at home a better remote learning experience.

Background
During the pandemic, whenever a classmate tested positive and had to quarantine at home, it was up to the class IT officer (me) to operate the motorized webcam the school bought for online classes, keeping it on the teacher or whatever important stuff was on the blackboard. At first I actually enjoyed it, but after a few days, holding a remote for the entire class started to get annoying, since I couldn’t do anything else. So I decided to write a Python program to follow the teacher automatically.
How It Works
- Capture the whole screen (the camera feed was already being streamed through Google Meet, so I figured I could just grab the Meet window)
- Use MediaPipe to get body keypoints
- If the teacher’s waist drifts too far left or right, send a pan command
- Read the teacher’s hand gestures, so it’d feel like grabbing the camera in mid-air: the camera turns with your hand, and stays put when you let go (not finished)
- Read commands from the Google Meet chat, so classmates at home who can’t see clearly could type “zoom in”, or “right 10 degrees” to see a formula on the right side of the board, and the camera would respond (not finished)

Reflections
Because the quarantine rules changed, online classes ended pretty quickly, so my system only ever got its basic features and never even got used for real. Kind of a shame.
In my head, I kept imagining how great online classes would be with every feature done: the camera follows the teacher wherever they go, points wherever the teacher wants it to, and even classmates at home get control to fine-tune it, all fully automatic with zero human input. Just thinking about it is so cool 😂 Hopefully I’ll get a chance to finish it someday and use it for something good (hopefully not for another pandemic).