We were working on machine learning models and thought of the idea of using the data from heartbeat estimator to help the entertainment program and customer experiences.
What it does
Estimates heart rate using computer vision and sends data to web app to graph the data and provides images and music to stabilize heart rate
How we built it
Used flask as the web framework and read json object from separate file. Used pygal to plot graph of data and basic jinja syntax to render templates for the web app. We obtain the heart rate estimation algorithm from the paper: "Bounded Kalman filter method for motionrobust, non-contact heart rate estimation" written by Sakthi Kumar. The heart rate estimation script mainly utilize kalman filter and cubic spline interpolation to estimate the region of interest in adjusting for facial motion. Then the heart rate was calculated by preprocessing with bandpass filter first, then calculate the power spectral density with fast fourier transform, then finally the peak of power spectrum * 60 is the estimated heart rate.
Challenges we ran into
Thinking about how we could graph and render templates dynamically, or atleast, as dynamically as we could. Figuring out, through much trial and error, how to process a large data rich music file- and effectively use this data to improve the music recommendation function of the app.
Accomplishments that we're proud of
Progressing towards true classification of audio sentiment.
What we learned
Flask, tensorflow, opencv.
What's next for CruiseBeats
Implement more features