When researching ideas for our hack, we really wanted to improve some of the downfalls of todays technology. After reading about all the crimes that occur due to the inconsistency of security cameras, we knew something had to be done.
What it does
Our hack, SwivelCam, uses facial recognition technology to scan for a persons face when they are in the cameras point of view. After a face has been detected, the camera automatically adjusts itself to keep the persons face in the center of view. The camera mount is extremely versatile and allows for 360° rotation with 180° tilt while maintaining the cameras stunning 5-megapixel and HD 720p quality.
How we built it
Computer vision is based off the OpenCV library with python bindings. The program continually pulls in frames from an attached or internal webcam. For each frame, the frame is processed and faces are detected. The face with the largest area (ie. the closest), is taken as the primary tracking target. As well, the software also draws on the frame before displaying it, showing guide lines for centering, as well as the area and centers of detected faces. If the center of the face is outside the middle third (x and y axis), the program sends a serial command via usb to the Arduino to correct and center the image.
Challenges we ran into
One of the major challenges we ran into was being able to move the camera based on the position of someones face in the field of view. We had difficulties integrating the servo motors with the facial recognition software to move the camera both efficiently and effectively.
Accomplishments that we're proud of
As new hackers, we are extremely proud of being able to implement a hack that integrates both hardware and software. We are proud that we were able to work with technologies we have never worked with before (such as computer vision and Arduino microcontrollers) to develop a hack that has real world applications.
What we learned
Most of us had no previous experience programming in embedded C or dealing with Arduino microcontrollers and facial recognition. Throughout the hackathon we learned a lot about collaborating as a team and working together to learn new technologies.
What's next for SwivelCam
The SwivelCam is a very dynamic product and has many real world applications. Whether its tracking a criminals face or taking the perfect selfie, the SwivelCam is a hack that all vloggers, film makers or just the average person would love to have!