All Projects → annusgit → ForestCoverChange

annusgit / ForestCoverChange

Licence: MIT license
Detecting and Predicting Forest Cover Change in Pakistani Areas Using Remote Sensing Imagery

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
Jupyter Notebook
11667 projects
shell
77523 projects

Projects that are alternatives of or similar to ForestCoverChange

Neural prophet
NeuralProphet - A simple forecasting model based on Neural Networks in PyTorch
Stars: ✭ 1,125 (+4791.3%)
Mutual labels:  time-series, forecasting
query-selector
LONG-TERM SERIES FORECASTING WITH QUERYSELECTOR – EFFICIENT MODEL OF SPARSEATTENTION
Stars: ✭ 63 (+173.91%)
Mutual labels:  time-series, forecasting
Anticipy
A Python library for time series forecasting
Stars: ✭ 71 (+208.7%)
Mutual labels:  time-series, forecasting
Informer2020
The GitHub repository for the paper "Informer" accepted by AAAI 2021.
Stars: ✭ 771 (+3252.17%)
Mutual labels:  time-series, forecasting
Java Timeseries
Time series analysis in Java
Stars: ✭ 155 (+573.91%)
Mutual labels:  time-series, forecasting
Pmdarima
A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function.
Stars: ✭ 838 (+3543.48%)
Mutual labels:  time-series, forecasting
Statespacemodels.jl
StateSpaceModels.jl is a Julia package for time-series analysis using state-space models.
Stars: ✭ 116 (+404.35%)
Mutual labels:  time-series, forecasting
Sktime
A unified framework for machine learning with time series
Stars: ✭ 4,741 (+20513.04%)
Mutual labels:  time-series, forecasting
Pyfts
An open source library for Fuzzy Time Series in Python
Stars: ✭ 154 (+569.57%)
Mutual labels:  time-series, forecasting
Gluon Ts
Probabilistic time series modeling in Python
Stars: ✭ 2,373 (+10217.39%)
Mutual labels:  time-series, forecasting
Darts
A python library for easy manipulation and forecasting of time series.
Stars: ✭ 760 (+3204.35%)
Mutual labels:  time-series, forecasting
Modeltime
Modeltime unlocks time series forecast models and machine learning in one framework
Stars: ✭ 189 (+721.74%)
Mutual labels:  time-series, forecasting
Arch
ARCH models in Python
Stars: ✭ 660 (+2769.57%)
Mutual labels:  time-series, forecasting
Msgarch
MSGARCH R Package
Stars: ✭ 51 (+121.74%)
Mutual labels:  time-series, forecasting
Web Traffic Forecasting
Kaggle | Web Traffic Forecasting 📈
Stars: ✭ 596 (+2491.3%)
Mutual labels:  time-series, forecasting
Forecastml
An R package with Python support for multi-step-ahead forecasting with machine learning and deep learning algorithms
Stars: ✭ 101 (+339.13%)
Mutual labels:  time-series, forecasting
Timetk
A toolkit for working with time series in R
Stars: ✭ 371 (+1513.04%)
Mutual labels:  time-series, forecasting
Flow Forecast
Deep learning PyTorch library for time series forecasting, classification, and anomaly detection (originally for flood forecasting).
Stars: ✭ 368 (+1500%)
Mutual labels:  time-series, forecasting
Forecasting
Time Series Forecasting Best Practices & Examples
Stars: ✭ 2,123 (+9130.43%)
Mutual labels:  time-series, forecasting
Introduction To Time Series Forecasting Python
Introduction to time series preprocessing and forecasting in Python using AR, MA, ARMA, ARIMA, SARIMA and Prophet model with forecast evaluation.
Stars: ✭ 173 (+652.17%)
Mutual labels:  time-series, forecasting

AI-ForestWatch

The aim of this project is to use Landsat-8 imagery to perform forest cover change detection in the Billion Tree Tsunami Afforestation Regions in Pakistan. We do binary land cover segmentation of an image into forest/non-forest classes for our Areas of Interest (AOI), then repeat the same for a whole 7-year temporal series of images from 2014 to 2020 and lastly, compare them to see what forestation changes occured in selected areas. The selected image below shows our results for Battagram district from 2014 to 2020, where red pixels are non-forest labels, green pixels are forest labels and the last image shows overall gain/loss map from 2014 to 2020.

Our Published Work

Our paper contains much more detailed explanation of our methodology, dataset retrieval and preparation, Machine Learning application, model design and band combinations used in our experiments. PDF of the paper is available as jars-spie-accepted-work.pdf in the main repository and it may be accessed online at JARS website.

If you decide to use this work or any proposed ideas in your research, kindly cite our work:

Zulfiqar, A., Ghaffar, M. M., Shahzad, M., Weis, C., Malik, M. I., Shafait, F., & Wehn, N. (2021). AI-ForestWatch: semantic segmentation based end-to-end framework for forest estimation and change detection using multi-spectral remote sensing imagery. Journal of Applied Remote Sensing, 15(2), 024518.

What is this all about?

We analyse the following labelled regions in Pakistan from 2014 to 2020.

Essentially, we extract a per-pixel median image representative of a full year for every given region from Landsat-8. This is done in order to minimize effect of clouds and other weather sensitivities in the results. Google Earth Engine was heavily utilized for the retrieval and preprocessing of data. The pipeline including the preprocessing and there onwards is summarized in the following diagram.

Step-(1) to step-(5) depict the digitization process of the available 2015 ground truth maps that we use for training. Step-(6) shows the UNet model used as our per-pixel classifier and the step-(7) and step-(8) show the generation of forest estimation and change detection, respectively. The available land cover maps are for the year 2015 only, so we digitize them using QGIS. We georeference the maps onto actual satellite images from Landsat-8 and use distinct visual features for Ground Control Point (GCP) selection. The steps involved are summarized below.

We use a UNet segmentation model to make per-pixel classification decisions to segment satellite images into forest/non-forest pixels. The results are binary maps with forest and non-forest pixels, with additional invalid bits that define regions outside of the district boundaries (which are present since images are rectangles but actual district boundaries might be any arbitrary shape). Once we learn to segment images in 2015 tests, we run the same model to infer on the images from 2014, 2016, 2017, 2018, 2019 and 2020. This gives us temporal series of forest cover maps that can be compared to deduce forest cover change statistics as we demonstrate in our paper.

Getting Started with Code

All of the models in this repo are written with pytorch.

Dependencies

You will need the following modules to get the code running

Project Hierarchy

BTT-2020-GroundTruth contains the ground truth labels (digitized maps) used as targets for our UNet model. Most of the training scripts are located in LandCoverSegmentation/semantic_segmentation directory. This directory also contains the data set generator script which divides the huge Satellite Images for the entire district into 256x256 tiles, zips their ground truth with them, and writes these blobs to drive. The path to the blobs directory is consumed by the training script. inference_btt_2020.py is the script used to run inference on a given test image using the trained model.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].