We build a model of car collision that translates the provided rudimentary data from an Autosense device into a rendered crash image. The data provided contains information on crash severity, its time, reference value of Earth’s gravity, calibration, gps, and a suspected event position. The goal is to process the data and provide an impact angle, impact area and construct a png image of the crashed car as outputs. The task inspired us for two main reasons. First, as a team of (mostly) PhD engineers, we tackle the excellence to engineer a better world. This project is a perfect opportunity for us to contribute by applying a wide range of skills and knowledge we have learned before. In particular, the model we develop has a potential to save lives and reduce the severity of injures caused by car crashes. By notifying about a crash and its severity, the ambulance can prioritize emergency vs. non-emergency cases and come faster, especially to remote territories. Implementing the model would not only make it easier for a victim to receive medical care as soon as possible, but would also improve operational and cost efficiency for several business areas. The other reason behind our case inspiration is challenging a power of programming as well as our efficiency in it. Specifically, we are excited to engineer a raw limited dataset into a user-friendly piece of visualization.

What it does

We implemented:

  1. a calibration procedure for coordinate
  2. detection of impact angle
  3. evaluation of time of Maximum Force applied to the car from start of the data tracking
  4. estimation impact of the car based on the time and severity of the car accident
  5. visualization of impact damage

API examples:

curl -H "Content-Type: application/json" -X POST -d @1.json

curl -H "Content-Type: application/json" -X POST -d @1.json --output xxx.png

here 1.json is the file in the format of the data provided initially, timeOffsetMS is a parameter in milliseconds since the start of the time in data.

The first call returns data in JSON format. Example: {"impactAngle":154.98051407054078,"offsetMaximumForce":36143.61990907687}

The second call returns image xxx.png which is visualization of how large are the damage of the car at the moment of time timeOffsetMS. The peak of damages correspond to the offsetMaximumForce. Damage starts 1 second before the offsetMaximumForce and continues half of the second after offsetMaximumForce. If timeOffsetMSoffsetMaximumForce-0.5s then image of maximum damage will be returned.

How we built it

We proceeded as follows. Using theoretical aspects from well-established academic literature (papers by Gidlewski and Prochowski 2016 and Stuble 2014), we modelled the impact from a change in characteristics (speed, etc.) before and after a crash. In addition, concentric impacts & reaction forces between car wheels and the road were added to the model. As a result, the model detects the angle, location, and the moment of crash based on the provided data.

This application is currently deployed on Google Cloud Platform instance with IP address with Flask and gunicorn. We also provide Dockerfile for the easier deployment.

Challenges we ran into

During our work on the project, we struggled with several issues. The first of them is conversion of gps coordinates. Also, tuning API encountered problems. Finally, a big challenge was to detect the angles of impacts.

Accomplishments that we're proud of

Stale working API, accurate prediction of impact angle, user-friendly visualization

What we learned

How to build a simple, though very useful model for crashes of cars. We also sharpen our skill set in API deployment.

What's next for Visualization of impact damage from a car sensor

To conclude, we find the potentials of the project impressive. The resulted images can be used for crash notifications to ambulance or police, which has a full capacity to save lives and reduce disability related to car accidents. The scale of the project could be even extended to create a network, participants of which would be notified about an accident happened nearby and a direction of car moves after a crash. The implementation of the model would be also useful from business perspectives. For example, if an insurance company receives an image and some characteristics of a crash, a conflict of interests caused by attempts to request more money from the insurance would be diminished. Moreover, the data can be collected, providing a full spectrum of further analysis. This device can also be implemented inside all cars, being as black box like for airplanes, which can be used for reconstructing the full event of a crash (e.g., video).

Built With

Share this project: