Inspiration

We were inspired by our own security concerns as students using multiple online platforms for academic purposes to create a solution to privacy concerns for younger students and children alike. We've seen how the internet can easily be used to exploit people, especially children, and how dangerous it can be to constantly be revealing your identity online all for the sake of learning. Hence, we created Türtle, a fun and easy way to anonymize the user's facial identity, built specially for kids!

Aside from anonymity and online protection, we discovered that streaming video-feeds online is very data-intensive and data-expensive. The higher a video’s resolution, the more data that it takes to transfer video. In 2018, online video traffic was responsible for more than 300 million tons of C02, equivalent to what a country the size of Spain releases in a year. By reducing the amount of high-resolution quality video streamed with our masking overlays, our project actually helps reduce the amount of C02 emissions created from video streaming!

What it does

Türtle uses computer vision to detect and isolate your facial image in your video stream, and allows the user to put on a literal turtle mask to protect their identity while streaming online! Children can easily and seamlessly pick their favourite Türtle Mask that remains overlaid on their face, even when they move around the camera frame, by hitting the spacebar, and can easily exit the program by hitting the escape (esc) button!

How I built it

We build Türtle using OpenCV (Open Source Computer Vision Library), an open source computer vision and machine learning library that's built to provide a common infrastructure for computer vision applications. We utilized cv2, a Python interface for OpenCV. Using the facial detection algorithms in opencv, our program opens the webcam stream to detect one or more faces in frame, and overlays the loaded images (Türtle Masks) over the face(s) that it detects using frontal face detection and a grayscaling component. We built it using Python v.3.8.3 in the development environment Spyder, and tested it in both Windows OS and MacOS.

Challenges I ran into

It took quite a while for us to familiarize ourselves with computer vision software and jargon, especially because nobody on our team had any prior experience in their particular area of study. We spent quite a bit of time trying to understand how the facial detection algorithm (classifier) works, and testing out multiple algorithms in the OpenCV library.

We attempted to create a front-end implementation of this product as well, but we ran into issues while building with React.js, especially because we would have needed to convert all of our Python code into "front-end" code using OpenCV4React and other similar modules.

While the challenges that we faced were immense, it was still quite rewarding to see the project slowly come together!

Accomplishments that I'm proud of

Overall, tackling this project was a huge undertaking, both educationally and implementation-wise. We learned a lot about computer vision in a very short amount of time, while having no experience in the beginning. With this in mind, we're proud to have created a viable project as well as having cultivated a greater understanding of what facial recognition and object recognition in computer vision and machine learning entails.

While some of our teammates had experience in machine learning, this particular niche area of implementation was brand new to all of us, but we handled ourselves well!

We are also very proud that we managed to create a working algorithm that we definitely plan on improving in the near future!

What I learned

We learned a lot more about machine learning and object/facial detection software. We dove into the specifics of how object/facial detection works, including the specifics of convolutional neural networks and machine learning, and tried out many different open source algorithms and softwares related to our project.

Overall, we had a great time learning and experimenting, and we plan to continue to do so with computer vision in the near future!

What's next for Türtle

There are a few more features that can be added to Türtle next: Firstly, we plan on creating more options of masks so that children have a larger variety to choose from. Moreover, a background filter would be added next in order to increase anonymity. By doing so, children are more likely to use our product when given exciting characters and backgrounds they love. Lastly, we would aim to find a more efficient method to overlay the face masks so that we could have a bigger impact on CO2 emissions.

Built With

+ 19 more
Share this project:

Updates