We were inspired by the spy theme for this hack, and our love for creating hardware/software solutions to problems. We decided that building a spy camera platform would be a fun rewarding challenge.
What it does
The SpyCam is a generalizable controllable camera platform. This allows the SpyCam to be used for a multitude of applications. Some examples would object tracking and detection, OCR cryptographic deciphering, Virtual teaching by tracking the professor's movement, and centering the camera accordingly.
How I built it
We built the spycam using an Arduino UNO to control the servos, a raspberry pi 3B to act as the ML inference device and the intellegent control system. We programed the system using C++(arduino) and Python(everything else). For the facial detection and tracking system we are using opencv in Python. To perform the OCR tasks we are using openCV, a pretrainied EAST text detection neural network, and tesseract (an OCR engine) to decode the characters in the detected text regions.
Challenges I ran into
The major challenges that we faced where : - Preformance of the OCR NN is very slow on RPi 3, so we decided to switch to RPi4, but ran into alot of problems - My RPi 4 ran into numerous problems, booting and had issues with its display output ( I blame low quality HDMI cables) - Getting the RPi to interface with the arduino over serial - Integration of hardware and software
Accomplishments that I'm proud of
We built a really robust mounting system for the SpyCam camera, using a teammates 3d printer, and it is awsome. We created an OCR system that works, although accuracy and preformance could be improved.
What I learned
We learned a great deal about how OCR works. We learned how to troubleshoot hardware problems, and reflash a RPi with different operating systems. We learned how to operate virtually with teamates of varying skill levels.
What's next for SpyCam
We would like to create an integration with a web app to make the SpyCam a true IOT device. We also are going to refine the control systems, and add more ML demos. We would like to extend the SpyCam's capabilities to include more examples of its applications, and further integrate with more systems (Google Home, amazon Alexa, etc).