-
-
By entering a location, first responders and citizens can determine the threat of wildfires in their area and see where they might begin
-
Users can log fires that they witness in their area and categorize events based on urgency, where others can view ongoing threats near them
-
First responders and fire fighters can access a dashboard sorted by urgency and quickly assess local situations
-
blAIze links to Google Maps to provide instant directions for EMS and first responders to react and arrive at a scene
-
Users can chat with an AI bot, flAIr, designed to help with fire safety and receive personalized recommendations for protecting their home
Inspiration
Did you know that wildfires cause 100K+ deaths every year (globally), $1.5 trillion in damages in the US and Canada, destroy 8M+ hectares of land and animal habitats every year, and dump millions of tons of greenhouse gases into the atmosphere? A lot of this is because by the time we spot wildfires and know what direction they are going in, it is already too late to stop them. One of our team members, Sean Seguin, was from a particularly fire prone area: Alberta, Canada. Just this year, Jasper National Park had a huge fire, burning much of the parks beauty, killing both first nations people and members of endangered species, and tearing the local town to shreds. On top of that, the Canadian government refused to provide aid, leaving evacuation to charity organizations and the provincial government. Many people were gravely injured. This occurs all over the world every year. Occurrences like these inspired us to create a free tool that allows people to see how fire-prone their area is, easily report wildfires and wildfire signals, and know what to do in order to prepare for a fire.
What it does
blAIze uses AI and databases for its tools. We mainly aim to educate people about how fire-prone the area they live in is as well as what precautions should be taken in order to properly prepare their home/dwelling in case of a fire.
First is our fire-proneness map. This map allows the user to input their location which will then be displayed on a map. They can select a radius, which allows for a static frame of the satellite imagery to be passed to the AI model. While looking, we realized that this has in fact not been done before. As such we needed to create our own model. We created an AI model that utilizes a UNET, a classifier, and a neural network in order to take into account topology, forest cover, temperature, past fire activity, etc. in order to create a mask and then overlay it over the original image. This creates a amazing and quick visual representation of the most fire prone areas as well as if their immediate area is prone to forest fires.
Second, we built a tool that allows people to report fires that they saw with various markers. These markers range from smoke in an area (either seen or smelled) to witnessing an active fire in a given location. These markers on the map are then saved in a file which can be seen by firefighters in the area such that a response can be more educated and/or more prepared to respond to possible threats.
Lastly, we built a generative AI designed to provide advice to users on how they can prepare and prevent fires. This AI is also specifically built to analyze details about a users home (size in sqft, # of floors, fire extinguishers and smoke alarms in house, whether other supplies such as smoke proof masks or fire blankets are present, etc.) and output a specific set of instructions on how best to prepare.
Overall, we want to build an ecosystem of tools that allow users to become fully educated on how likely a fire is, where recent fires have been, and how to prepare themselves in case of a fire. Additionally, we wanted to build a system that allows users to report active fires directly to firefighting departments. With these aspects of the site combined, we believe that blAIze could be the first step towards preventing extensive damage and deaths due to wildfires.
How we built it
The Fire-Proneness Map: The AI model and Integration into the Website Wildfire detection traditionally relies on sensor data, like temperature and rain fall, to assess how at risk an area is. However, these models often cannot make predictions well in advance of a catastrophe and do not make use of data like tree cover and vegetation density. blAIze addresses this gap in fire detection by utilizing satellite images to make predictions. Our algorithm incorporates a pretrained U-Net encoder-decoder network to segment images, reducing dimensionality and capturing the portions of a satellite image that are paramount for downstream predictions. This contributes to the explainability of the algorithm while also increasing performance by simplifying a flawed dataset of poorly labeled images. We also implemented a pretrained convolutional neural network fine-tuned on a wildfire classification dataset, developing a complete pipeline trained in-house to achieve state of the art results ensuring safety, despite skewed datasets and flawed ground truths.
The Firefighter Alert System: Coded Marking and Location Sharing The code marking platform is based on the google maps places API. It takes a user's current location and gives them 4 choices, from least to most urgency. The user can then click on the affected area and select a particular urgency, and the color of the marker on the map reflects said urgency (green for least critical, red for most critical). The actual platform was built using a combination of javascript and python. We also used SQLite to store all the longitudes and latitudes of markers. These markers are then ranked based on criticality and displayed on the dashboard. When a particular 'card' in the dashboard is clicked on, it will show the current location of that marker in google maps and enables directions to that location, again using a generalized version of the google maps places api.
The Chatbot: Fire Planner After creating the basics of the chatbot by implementing its knowledge base and ability to look up recent and current fires in the area, we worked on its main functionality. This bot was designed to look for details such as rural/urban dwelling, number of floors, number of residents, and how many of various critical supplies such as fire extinguishers, fire resistant foam, fire blankets, and accessible water. It then uses this information to create either a step by step plan or list of things to do in order to prepare your house for the event of a incoming fire, decreased air quality due to smoke, etc. Some additional aspects include a specific case when the user says that a fire is already actively approaching their dwelling or is projected to go in their direction. In this situation, the AI will tell the user to contact emergency services immediately, gather family members, and evacuate the area instead of attempting to prepare. This feature was put in for the users safety. We then embedded the chatting UI into a page on our website and made a button to access it.
Challenges we ran into
1) Finding a suitable data set Finding data of high-res satellite imagery which is categorized into "fire-prone" and "not fire-prone" areas was a surprisingly difficult task. While we found a few suitable ones, including one from the google earth engine (which we almost used). None of them were simultaneously large enough, recent enough, and classified in the way we needed. Ultimately, we settled to use one of the datasets that was both recent and classified in the way we needed, but not large enough (<5000 entries) to provide us the high accuracy we wanted. This actually worked our quite well, although we did need to shift the model in order to prevent overtraining.
2) This project was hard. (Our front end friend couldn't participate) We certainly learned a lot, and ran into issues more frequently than successes. For example, one of the largest issues we had was dealing with embedding our overlayed images after they came out of the AI model. We struggled for (i kid you not) about 2 hours trying to embed them. We finally found a solution: firebase. Firebase singlehandedly both simplified and saved our project. There were many instances of this occurring where we needed to both debug and learn on the fly. While we each had our specialties, tying the whole thing together without front end expertise took hours.
3)Getting familiar with new frameworks and languages Of the 3 group members only 1 knew Django vaguely and 1 knew CSS. As such, we had to learn through a combination of tutorials and documentation. However, our combined knowledge and strong programming background likely helped us a lot. Through a lot of trial and error, we figured out what needed to be done and ultimately became efficient at what we were doing.
Accomplishments that we're proud of
1) 86% accuracy on the AI model. Since a model to classify fire-prone and not fire-prone images has not been made before (to our knowledge), we had to come up with the AI's pipeline by ourselves. Additionally, since the data set was relatively small and we didn't want to overtrain the model, 85-90% is essentially the best we could have hoped for. This high level of accuracy will allow our prediction ability to be superior.
2) Got past the biggest roadblock: Django not embedding our overlayed images. This had us on halt for the longest out of any issue. All three minds were working on it for about two hours. However, it is clear that we would not have been able to overcome it if it were not for our combined efforts. Eventually we found a solution by finding an alternate way to hold our images: firebase. This sudden lightbulb idea allowed us to get on track after desperately looking for a solution for hours.
3) Smooth Integration of all three tools, overcoming all issues that came our way, efficient construction of our vision. Despite not being experts, we were able to coordinate our efforts extremely effectively, help each other out, work out issues, and overall create a cohesive and functional product. While we did do individual parts of the project by ourselves, we ultimately came together to stitch the whole thing. We are extremely proud of the frankly unbelievable efficiency we were working at. We made a plan, we worked hard for hours, used our combined expertise and intuition, and ultimately made something magnificent.
What we learned
1) Django and functional web development All of us were essentially new to this. However, as any CS professor will tell you, the best way to learn is projects. This project taught us everything from the basics of Django to finessing images and overlays into a showable format to UI/UX design. Overall, we would say that in the last 24 hours, we have learned so much more than a class would be able to teach us in many weeks.
2) AI pipeline creation
We step foot into uncharted territory with our AI model today. We had to learn how to create and tune an AI model to fit our needs using multiple existing algorithms and models such as UNETs, classifiers, and neural networks. We also had to learn how to fine-tune the AI to our need and make a tool that would fit exactly what we needed to do.
3) Value of coordination in the team
Throughout this whole project, we were helping each other out when we had problems, ran into unexplainable errors, or trying to determine how to theme our website. By working as a unit that was able to fill in weaker spots for each other, we were able to work at an efficiency unachievable by a single individual. This hackathon demonstrated the value of teamwork to us.
What's next for blAIze
Google Map satellite images are not always accurate or updated frequently, and so we plan on utilizing the arcGIS API in the future for higher resolutions. We also aim to incorporate temperature data, rainfall, and soil moisture to increase the accuracy and reliability of predictions.
Datasets
Built With
- css3
- django
- firebase
- github
- google-maps
- html5
- javascript
- matplotlib
- pandas
- python
- scikit-learn
- tensorflow
Log in or sign up for Devpost to join the conversation.