With social media platforms and other news outlets being incredibly public, videos oftentimes must be anonymized before posting in order to preserve the identities of bystanders, minors, and those who do not consent to being in the video. By providing a platform that gives users the option to detects and selectively blurs out faces in videos, we can bring attention to important issues and allow users more freedom with sharing their videos, while still taking less time and resources than manual video and photo editing.
What it does
This project is a web application that aims to provide robust and quick sensitive information processing in images and videos. After processing a file through ML model, the user can manually choose which information to blur or not blur. The user can then download the anonymized video from our site.
How we built it
We split this project into front-end and back-end components. For the back-end component, we leveraged Flask and the Pytorch machine learning pipeline where we used Facenet to detect faces then ran it through an unsupervised clustering pipeline (UMAP and DBSCAN) to identify unique faces in the video frames.
Challenges we ran into
Because video files and processors can take up a lot of space, we faced issues with memory usage and processing speed, which we were able to fix by hosting our project on AWS and utilizing a file wrapper/processor. We also initially ran into challenges with multiple edge cases when processing with our ML model.
What I learned
We learned a lot about the PyTorch library, and were able to explore the diverse functionalities and freedom that it provided us. We also learned a lot about video processing and how to increase the efficiency of the processing.
What's next for Visiblur
In the future, we hope to incorporate an option to also detect and blur out sensitive information displayed in the video.