syamkakarla98 / NasaSpaceAppChallenge

This is repository containing to our project work done during NASA SpaceApp Challenge 2020.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License Version Satellite Python Flask Eartpy

Automated Detection of Hazards

Natural phenomena like flood, fire, and algae blooms are threats to the ecosystems and hamper the chain of the life cycle, making its timely detection and categorization an important factor for mitigation and recovery. Our aim with this effort is to detect and characterize the mentioned hazards, by which researchers and decision-makers can better understand their impacts and scope. We have carried out case studies associated with these phenomena and used satellite imagery and machine learning approaches to classify threshold values that define the boundary between flooded and non-flooded, severity fire, algae bloom classes quickly and accurately. This well-formed approach can reduce the time spent and help to provide accurate maps quickly what is crucial when disaster happens.

All the bands Mentioned below is of SENTINEL 2 Satellite Imagery Bands Launched by Europe Space Agency.

  • Initially, we have used the Green Band (B3), Near Infrared (NIR) Band (B8) of the data, before and after flood satellite images gathered using Sentinel-2 to calculate the Normalized Difference Water Index (NDWI) which differentiates the water body and dry land from satellite images.
  • Then we have generated ground truth for the satellite images using the NDWI of pre-flood and post-flood.
  • Using the ground truth generated from the NDWI, we have developed the machine learning model to classify the flood area and non-flood area.
  • Fine-tuning of the developed machine learning model is done using the grid search method. Image of Flood Detection
  • We have used the Near Infrared (NIR) Band (B8A) and the Shortwave Infrared (SWIR) Band (B12) from Sentinel-2 satellite imagery, both pre-fire and post-fire for calculating the Difference Normalized Burn Ratio (DNBR).
  • The basis of this approach is the fact that natural vegetation affected by fires reflect characteristically in the above mentioned bands of the spectrum.
  • The DNBR is then used to categorize the focus area into various severity levels.
  • The categorized data is then used to train and develop a machine learning model, which classifies the test area into the aforementioned levels.
  • Fine-tuning is done using the grid search method to optimize the performance of the model. Image of Fire Detection
  • Initially we have used the sentinel 2 satellite imagery and segregated the bands and read its values for calculating to NDWI using green band (b3) and NIR band (Band 8). We have classified the water bodies from the image.
  • Post classifying the water bodies, we have used following algorithm
    • Al10SABI - Measures chlorophyll - Blue Band(B2), Green Band(B3), Red Band(B4) and NIR Band(B8 or B8A)
    • TurbBow06RedOverGreen - Measures Turbidity - Red Band(B3) and Green Band(B3)
    • Be16FLHGreenRedNIR - Measures BlueGreenAlgae/PycoCynin- Red Band(B4), Green Band(B3) and NIR Band(B8)
  • Equal Weightage to all these 3 algorithms is given to compute the water quality index which is then normalized between 0 to 1 using min max scaling where 0 represents pure water and 1 represents highest concentration of Harmful Algae Bloom. Image of HAB Detection

Tools and Technologies Used :

We have used a gradient boosting framework that uses tree-based algorithms to solve the problem ie., detection of flooded areas. We used python as the coding language, QGIS, ArcGis, EarthPy, LightGBM, Flask, RasterIO, GDAL software’s are used to develop a Machine learning model that detects the flooded area and non-flooded area.

Resources

Contribution :

We encourage any improvements or suggestion over our project. For Communications please contact at jhaujala3@gmail.com or Ujala Jha

Project Team

About

This is repository containing to our project work done during NASA SpaceApp Challenge 2020.

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 99.8%Language:HTML 0.1%Language:CSS 0.1%Language:Python 0.0%Language:JavaScript 0.0%