jeffwen / smoke_segmentation

Segmenting smoke plumes and predicting density from GOES imagery

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smoke segmentation project

In this project, we use geostationary imagery from the GOES-16 satellite to segment smoke plumes. We compare the performance of the segmented smoke plumes against plumes generated by NOAA analysts by externally validating against EPA PM2.5 station readings for years not used in training. You can find more details about the project and the paper presented at ICML 2021 Tackling Climate Change with Machine Learning Workshop at the following links [paper, presentation]. Below are a few of the key files (not all listed).

  • src/aws_satpy_download_script.py - main downloader script that fetches AWS GOES-16 imagery based on input smoke plume file
  • src/raster_to_poly.py - used trained models to output raster of segmentation and convert to polygon for downstream analysis
  • src/utils/ - utility files used throughout download, training, and testing scripts
    • src/utils/data_downloader.py - downloading functions
    • src/utils/data_prep.py - helper functions used in cropping, formatting, generating true color, etc.
    • src/utils/data_set.py - Pytorch dataset class that provides multi-channel satellite and truth mask
    • src/utils/data_vis.py - functions used for visualizing input imagery
    • src/utils/merra2_cropping.R - script to crop MERRA-2 downloads to the correct bounding box
    • src/utils/helpers.py - misc. functions
  • analysis/ - scripts used to compare models vs. hand drawn plumes and to generate model results figures

About

Segmenting smoke plumes and predicting density from GOES imagery


Languages

Language:Python 89.1%Language:R 9.5%Language:Shell 1.4%