Skip to content

Research work for cloud and snow segmentation problem using meteorological satellite Electro-L №2 multispectral data, also suitable for GOES-16,17 multispectral data. This project includes all needed functions and utils for preprocessing multispectral data to make your own dataset for cloud and (or) snow segmentation problem

Notifications You must be signed in to change notification settings

Nikita-Belyakov/CLOUD_SNOW_SEGMENTATION

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Cloud and snow semantic segmentation for meteorological satellite Electro-L № 2 data

About:

This project is devoted to the cloud and snow semantic segmentation using multispectral satellite images, received from a multizone scanning instrument (MSU-GS) used for hydrometeorological support and installed on the Russian satellite Electro-L No. 2. As the additional information, geographical information (latitude, longitude and altitude) is used. The main difficulty of snow and cloud discrimination using Electro-L No. 2 data is the absence of SWIR channels in the range 1300-1600 nm, which are necessary for accurate snow & cloud distinction (NDSI tests). The repo includes a self-collected dataset with Electro-L No. 2 imagery, cloud masks for it from the geostationary satellites GOES-16 & Meteosat-10 and snow masks from Terra/MODIS. We also attach a trained Multi-Scale Attention Network (MANet) segmentation model weights (from SMP: https://smp.readthedocs.io/en/latest/models.html), able to do accurate segmentation of cloud ansd snow for MSU-GS data. The developed algorithm works in any season of the year during the daytime and is able to perform cloud and snow segmentation in real time mode for Electro-L No.2 and GOES-R data.

Cite: https://doi.org/10.1016/j.asr.2024.03.019

Setup python version

The INFERENCE.ipynb and other notebooks from both folders mentioned above have been run with python 3.9.7 on Windows 10 OS with NVIDIA CUDA supported (Adapt all needed packages versions accroding your Python version)

All required packages are written in requirements.txt

  • It's recomended to use Pytorch version with CUDA support! To install pytorch with cuda run appropriate command in your console from here:
    • https://pytorch.org/get-started/locally/
    • (We used this version of cudann: pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116)
  • There are seperated requrements.txt for each .ipynb in every folder in this repo! Be careful!
  • Just run in your .ipynb this cell:
 !pip install -r requirements.txt

Acknowledgments:

Work is greatly supported by Non-commercial Foundation for the Advancement of Science and Education INTELLECT

Also thanks a lot to https://github.com/skolpin & https://github.com/VasilievArtyom for a huge assist for creating this project!

About

Research work for cloud and snow segmentation problem using meteorological satellite Electro-L №2 multispectral data, also suitable for GOES-16,17 multispectral data. This project includes all needed functions and utils for preprocessing multispectral data to make your own dataset for cloud and (or) snow segmentation problem

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published