Inspiration
With the devastating cases like the California Wildfire in 2020 and the recent Louisiana catastrophe, we were inspired to use machine learning to take action and prevent these wildfires earlier on. Giving firefighters and government officials an extra 10-30 minutes before a fire spread further can make a difference of life or death. This extra time can detect, prevent, save the environment and lives. That is what inspired us to create FireGuard.
What it does
We have 7 layers in total: The first convolutional layer: It has 3 channels, outputs 16 channels, and its kernel size is 3x3 and its outputs, has a padding of 1.
The second convolutional layer: Takes the 16 channels from the first layer, and outputs 32 channels, its kernel is 3x3 and its outputs has a padding of 1 still.
The third convolutional layer: Take the 32 channels from the second layer, and outputs the 64 channels, its kernel is 3x3 and it outputs has a padding of 1.
(All convolutional layers are put inside a ReLU activation function)
The max pooling layer looks at each convolutional layer with a kernel of 2x2 and a stride of 2 and it takes the maximum value of the feature map of the what the kernel is currently on in the convolutional layer.
Then we run this into a fully connected layer First parameter: It multiplies the dimensions of the picture which is 64 (number of channels) / 8 / 8 (feature map matrix) It multiplies all of those values which returns the amount of feature for one picture which is 8192 features.
Second parameter basically is the binary classification part, (wildfire or no)
What it returns is what forward propagates the fully connected layer and returns a probability.
We use a log loss function with what was outputted from our fully connected layer and compare it to the actual labels. We minimize our log loss through an optimization method known as the ADAM gradient descent. Our hyperparameters is that learning rate 0.001 and epoch (training iteration) is 3.
After the model is trained, we put it through a validation data set to evaluate if the model is accurate. After that we put it test it with a testing data set to see if the model accurate. All the datasets are also all different from each other.
We also visualized the model accuracy using a confusion matrix to represent how many correct positives and false positive it had. When the confusion matrix showed 0/0 or 1/1 it meant that it predicted correctly. However, when it is 0/1 or 1/0 it is a false positive. 1 means that there is a fire and 0 means there isn't a fire.
Challenges we ran into
Some challenges we faced were trying to get our model to process the data set given and installing the machine learning library. Our data set is 2 gigabytes, and the loading took twenty minutes. In that time, we were unsure if it was even working or if there were any errors. We also had little to no experience in working with machine learning, but with some intense Google and GitHub researching, we figured it out... despite how difficult it was.
Accomplishments that we're proud of
-Getting a 95.52% accuracy in detecting fires -Working together as a team efficiently -Attending our first ever hackathon -Learning how to work with Machine learning
What we learned
Today we learned how to create a convolutional neural network and optimal hyper parameters. We also learned how important it is to use the design thinking process. With this process we were able to work as a team efficiently. We also learned that lower learning rate caused a slower training time but produced a more accurate result. Although learning convolutional neural network last minute was extremely difficult and frustrating, we preserved and made our vision come true!
What's next for FireGuard
With the program of FireGuard the next steps would be to work with firefighters and officers to place our detectors near places prone to wildfires and use our program for real time detection/video. We would then create an app specifically to make our program easier to navigate and understand. With these next steps FireGuard can be expected to make life saving changes.
Log in or sign up for Devpost to join the conversation.