No solution exists for accurate marijuana impairment testing. Every year, over 1 million people die from car accidents, and high drivers are 25% more likely to be involved in an accident than sober ones. Employees are 85% more likely to be injured in the workplace under the influence of marijuana. We wanted to tackle this problem for a safer world.
What it does
Harnessing machine learning, computer vision, and natural language processing, we have developed a tool that can administer a sobriety test in under 2 minutes. It can be easily done in any location using just a smartphone. The test consists of multiple research-based cognitive tasks in order to get a complete assessment of the situation.
How we built it
The application consists of a react-native app that can be installed on both iOS and Android devices. The app communicates with Google Cloud Vision ML, applying a neural network model that we built and trained, to identify bloodshot eyes. It is then passed through a computer vision algorithm which we handcrafted in opencv for overall redness detection. Next, there are several games built in react-native to assess cognitive speed and impaired judgement. Google Cloud Platform's Speech Processing API is also used for short-term memory testing. Finally, summary screen displays an estimate of the user's sobriety.
Challenges we ran into
Building our own ML model was challenging because we had to collect our own images and invest time training the model. Also, the obscurity of publicly available research papers increased our time spent research significantly.
Accomplishments that we're proud of
We're very proud of our handcrafted ML model and opencv algorithm, and our intuitive and sleek UI.
What I learned
We had a lot of firsts this hackathon:
- Lily and Jiayi's first hackathon
- Lily's first time working on a mobile app
- Jiayi's first time working with Cloud Vision ML
- Antonio's first time building more complex mobile interactions
- Jason's first time working with React Native
What's next for soberlabs
By obtaining a bigger dataset for our ML model and collecting more data on cognitive impairment, we could improve the accuracy of our algorithms.