One major issue we face in our Calgary climate is safety hazards due to the unpredictable weather. We've all experienced slipping on the death traps leading to the C-Train station here at the university, or we know someone who has. It can be dangerous, and we wanted to create a solution for this problem. We aim to improve safety and the campus experience at the university by providing our fellow campus dwellers with a way to mitigate this problem. Additionally, we provide maintenance staff with real-time hazard information.
What it does
Our product is centered around a machine learning image classification algorithm. The model is fed with images of sidewalks, and then determines whether or not the sidewalk is icy or hazardous to the people on campus. Information on dangerous walkways is then fed to a mobile app which displays a map of the campus along with the hazards our machine learning algorithm has detected.
How we built it
1) Created and sanitized a high-quality dataset comprised of over 500 images using the Bing Search API and Pandas.
2) Constructed a reliable data pipeline to feed images to our ML model.
3) Designed and engineered a convolutional neural network using TensorFlow and Keras.
4) Validated the model on a second dataset.
5) Packaged the model into a micro-service and linked it to a no-SQL database (MongoDB).
6) Designed a cross-platform front-end mobile application to develop a high-quality user experience.
7) Linked it all up!
Challenges we ran into
The biggest challenge of this project was working with technologies and frameworks that we hadn't used before. Given that we aimed to challenge ourselves in this project, we made the decision to use tools that were novel to us such as react-native. This challenge manifested itself particularly during the setup of our work environments.
Accomplishments that we're proud of
- Designing a robust convolutional neural network model that performs to the industry-standard.
- Provided a seamless user experience through our mobile application.
What we learned
- The process of creating a quality dataset for ML applications.
- Creating a cross-platform mobile application using react-native.
What's next for Kami-Tech_CalgaryHacks
- World domination!