Inspiration
What it does
The goal of SAVMO is to detect if the driver crashed, based on live dashcam footage. Once a crash is detected, SAVMO will generate a summary of the crash, and transfer it (along with key frames from the crash) to the SAVMO dashboard.
The dashboard is ideally to be used by emergency responders, or could be sent out to close relatives of the owner of the dashcam in order to let them know that a crash occurred.
How we built it
We used Pytorch to fine tune the ResNet18 model on the Car Crash Dataset. Further, we used Flask to build the website for the interface, and the Gemini API for the recaps.
Challenges we ran into
The CRASH/NO CRASH created a lot of flickering and the model was more biased to say that the model crash rather than it didn't crash. Hence the solution to fix that problem is to chance NO CRASH into crashes if it is sandwiched in between two CRASH, e.g: CRASH,NO CRASH,CRASH -> CRASH,CRASH,CRASH.
Additionally, to compute all our data, we had to figure out how to connect to mimi's gpus so that we can run a large enough model that can generalize on unseen data.
At last, putting all of the elements together on a website and that they work at the same time meaning the report system, the AI crashing analysis & the site to make it visually appealing.
Accomplishments that we're proud of
The model have great accuracy, and the coefficient matrix yielded strong results showing that our model was properly trained. The flickering issues was also something that we are proud due to finding a valid and not too complicated solution for the major issue at the moment.
What we learned
We learned how to fine-tune ResNet18 or any model for the first time, use more productively git & how to use Gemini's API for the report system.
What's next for SAVMO (SAVE ME OFFICER!)
Adding sound to predict crashes (good crash indicator), use a sequential models to get better video context and experiment with higher resolution input.
Log in or sign up for Devpost to join the conversation.