God's Eye
In order to detect hazard we focused on collecting data from NASA/JAXA satellite based data. We have focused on one particular phenomena (cyclone). We then created a Deep Learning model using inception network to predict hazard. This can help government to take immediate action that can save people's life and they can also try to impede hazard. The main benefit of this model is it is showing particular area where calamity is happening.
How we developed this:
Project definition: Automatic detection of cyclone from the images of the satellite.
Data Gathering: The best source of data for this ask is NASA World View that is available on this events official website. For our project we have collected data from this source in the form of snapshot for training, validating and testing our deep learning model.
Creating model: For this task we have created a deep learning model with transfer learning that take images as input and detect whether there is cyclone or possibility of cyclone or not and display these portion of the world in rectangular box on the map of the world. After Gathering data, we have done data pre-processing task on our data for making it appropriate for our deep learning model. In this task we remove noisy data from dataset, most blurry images that create noise and make deep learning model slow while learning.
For this task, first we have separated data for training, validation and testing (training data, validation data, testing data) our model in he appropriate amount. After splitting the data we had used VGG-16 model (one of the deep learning model) along with the transfer learning and trained this model on our training data. Using the validation data we had done our validation of our model. After this we had achieved training accuracy of 94.58% and validation accuracy of 82.3%. Then after validating our model we had tested our model on testing set of data and achieve accuracy of 80.62%. It seemed like we had achieved little bit low accuracy on testing.
After splitting the data we had used VGG-19 model (one of the deep learning model) along with the transfer learning and trained this model on our training data. Using the validation data we had done our validation of our model. After this we had achieved training accuracy of 90.83% and validation accuracy of 81.67%. Then after validating our model we had tested our model on testing set of data and achieve accuracy of 83.38%.
After splitting the data we have used InceptionV3 model (one of the deep learning model) along with the transfer learning and trained this model on our training data. Using the validation data we have done our validation of our model. After this we have achieved training accuracy of 96.29% and validation accuracy of 89.57%. Then after validating our model we have tested our model on testing set of data and achieve accuracy of 91.63% . In this model we have almost achieved our goal.
After comparing all the different model we conclude that InceptionV3 model give us the almost accuracy as same as the our goal. Then we conclude InceptionV3 model the best suitable model for our task.
First we gather satellite data(Hazard Images) then we have split that data into Training,Testing and Validation . here we are detecting cyclone so that we have label images 1 (if cyclone is there) and 0 (if cyclone is not there). we have used training data to train Model. Validation data is used to improve the accuracy of Model. Testing data is used to predict the hazard.
Resources
NASA Worldview
https://worldview.earthdata.nasa.gov/
Global Imagery Browse Services (GIBS)
https://earthdata.nasa.gov/eosdis/science-system-description/eosdis-components/gibs
JAXA for Earth
Pre-Trained Weights for Transfer Learning
https://keras.io/api/applications/
1) Download the Repository from GitHub Link given here:-
https://github.com/JeetJoshi/Gos-s-Eye
2) Download the main Model 'my_im.h5' from here and put it in the 'Gos-s-Eye-main' folder :-
https://drive.google.com/file/d/1xWQ9oPmuRgVA7-55XcQl0wl7NndZrOoN/view?usp=sharing
3) Open CMD and set path to the folder and then type the code given below:
python manage.py runserver
Model Architecture:-
https://drive.google.com/file/d/1MJUJxJVTvzlDEvB9EuSytjpUpFhohQND/view?usp=sharing
Model Summary:-
https://drive.google.com/file/d/1s8l0r3NWZv9cKqyHiw20XWM28VfnRI3C/view?usp=sharing