Inspiration

Our team knew that we wanted a project that would make a difference in the world. We wanted to create a solution to the question, "What if we can detect danger... before it happens?" In order to accomplish this, we created "helm", an intelligent monitoring system designed to recognize the warning signs, before the threat escalates.

Building our Program

Our program works by taking in a live camera input, and sends it to Presage's SmartSpectra SDK to detect key indicators. With information like an individuals pulse, breathing patterns, and visual cues, we can form a single threat assessment. This is based on both physiological and behavioral analysis, which is combined into our threat assessment algorithm.

Challenges

The Presage SDK proved to be quite problematic, from start to finish. In the beginning, we started with the company-provided docs and Ubuntu on WSL. Well over 2 hours later, we came to the unfortunate realization that our Ubuntu installation was the wrong version (too modern). After installing the proper Ubuntu version, we came across our next great challenge: getting the SmartSpectra SDK set up. After a long, arduous process and some creative interpretations of certain docs, we managed to compile the introductory file, and could finally start developing.

This was just the beginning. As it turns out, getting a video feed from Windows 11 to WSL is nothing short of a modern day miracle. A combination of FFmpeg, TCP, and Windows firewall shenanigans provided a solid base to access our high-quality webcam feed in all of it's glory, right in time for sunrise. Integrating the Python GUI with the C++ detection layer running in WSL proved challenging, but our dedication made quick work of our remaining barriers to success. We even had time left over to refine our UI and add some quality of life features!

Accomplishments that we're proud of

Fast C++ sensing layer provides powerful analytics Simple, native Python GUI is fast and intuitive Feature-rich and accessible, helm is adaptable to a wide range of applications

What we learned

Writing C++ ML/CV code on Windows is painful, especially when the libraries are all Linux-only Proper research into GUI frameworks saved us plenty of time, but a few extra minutes could've saved us hours of redesigning Using libraries that we already understand to solve problems we don't yet grasp was the difference between giving up and breaking through

What's next for helm

Body language profiling Weapon detection Automatic notification of authorities Locally stored facial recognition

Built With

Share this project:

Updates