Some of us are serious driving enthusiasts, which unfortunately puts us in dangerous situations from time to time. One specific instance that was pretty scary was when one of us was driving alone at 4 am at the highway. The fear of falling asleep while driving is always in the back of your mind, and so we decided to change that. But then a question rose: why stop there? Many dangers lurk around while one is driving, no matter the time of the day or location. And so a pretty ambicious project was born: reducing road fatalities as much as we could. With that in mind, we started hacking.

What it does

Driving safety is a hub of modules, each one collaborating with the others to prevent the biggest dangers. Our flagship module is the "drowsiness detection module", which alerts the driver when he is getting distracted or falling asleep. If the problem persists, the systen gives the user some safety tips. Other modules include: not starting the car if the driver is drunk or high, warning him when close to dangerous or highly populated areas like schools or hospitals, and calling the emergency services if an accident is detected. Alltogether, they form a comprehensive protection system that can prevent accidents to some extent.

How we built it

Our first step was checking the UK road fatalities data set, which helped us prioratize certain key aspects like preventing road distractions or raising awareness about specific areas of the city. Once we had decided on some of the modules, we started building our system. For the driving simulator we used htlm5 and Javascript. Using different text to speech APIs and online maps we built a small but comprehensive recreation of a big city, and implemented the different sensors and warnings that we considered useful. The drowsiness detection module required some pretty intensive computation and data mining, so we considered many different options like Amazon Web Services or face detection APIs. Our final choice was Matlab, since it provides good computational power and machine learning and data analyzing libraries.

Challenges we ran into

One of our main problems was finding a reliable way to detect when the driver was not focused on the road. That's a pretty abstract concept, so balancing false positives and false negatives was complicated. We also wanted to use Unity to simulate the car crashes, but not enough open source resources were available to do it. Therefore we finally chose the web aproach.

Accomplishments that we're proud of

We feel like our goal was extremely ambicious, so we are proud to see most of our initial ideas com to fruition. There were some hindrances on the way but we think that we managed to maneuver around our flaws and maximize our strengths as a team. We have explored many different options, and learnt a lot about how to pipeline different languages together to create something quite unique.

What we learned

We learnt opencv, how Windows10 protects the user (sometimes too much), a lot of web design (we knew almost nothing about it at the beginning of the hack!), and how to simulate a proper roundabout, with all the physics behind it.

What's next for Driving_Safety

One of our favourite things about this project is how scalable it is. There are always new and better ways to create a safer environment. Some of our more specific ideas for the future are detecting reckless driving using the car's accelerators, issuing warnings when the weather makes driving harder and coordinating the emergency services so drivers are warned about accidents, allowing them to change their course and make it easier for the ambulances to reach their destination. And, of course, our dream would be to get all this systems up and running in an actual car ^^

Share this project: