Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mhscience/landslides_detection
Machine learning tool to detect landslides from optical satellite imagery
https://github.com/mhscience/landslides_detection
geomatics google-earth-engine image-segmentation k-means landslides-detection merging-algorithms obia object-based-image-analysis optical-satellite-imagery random-forest rsgislib
Last synced: 3 months ago
JSON representation
Machine learning tool to detect landslides from optical satellite imagery
- Host: GitHub
- URL: https://github.com/mhscience/landslides_detection
- Owner: mhscience
- License: mit
- Created: 2019-09-10T23:45:24.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T11:43:56.000Z (almost 2 years ago)
- Last Synced: 2024-05-20T06:46:07.345Z (6 months ago)
- Topics: geomatics, google-earth-engine, image-segmentation, k-means, landslides-detection, merging-algorithms, obia, object-based-image-analysis, optical-satellite-imagery, random-forest, rsgislib
- Language: Python
- Homepage:
- Size: 28.3 MB
- Stars: 84
- Watchers: 6
- Forks: 29
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
Awesome Lists containing this project
- open-sustainable-technology - Landslides Detection - Machine learning tool to detect landslides from optical satellite imagery. (Natural Resources / Soil and Land)
README
# landslide_detector
The landslide_detector is a tool developed to detect landslides from optical remotely sensed images using Object-Based Image Analysis (OBIA) and Machine Learning (Random Forest classifier).
I developed this tool to test the methodology proposed in [my master thesis](https://repository.tudelft.nl/islandora/object/uuid%3A52fe6b3b-ec0b-4cad-b51d-7798830688a4?collection=education) in Geomatics at Delft University of Technology. This implementation can be used to assist landslides experts/non-experts in detecting new landslides events and improve existing inventories.
This project was made in join collaboration [Delft University of Technology](https://www.tudelft.nl/en/) and [Deltares Research Institute](https://www.deltares.nl/en/).
The tool is built using open source software: [Google Earth Engine(GEE)](https://earthengine.google.com/) and Python with their libraries [Remote Sensing and GIS software library (RSGISLib)](https://www.rsgislib.org/) and [Scikit-Learn](https://scikit-learn.org/stable/). It includes three main components:
![name me](/doc/img/segmentation.png)
*Image pre-processing and segmentation; sample in a remote area in Italy. (a) Cloud-free pre-landslide image. (b) Cloud-free post-landslide image. (c) Image difference using band ratioing red/green (RGD). (d) Image segmentation.*- [Pre-processing script](https://github.com/mhscience/landslides_detection/blob/master/pre_processingGEE/pre_processing_thesis_mh.js) developed for Google Earth Engine. The script obtains cloud-free images from optical satellite imagery (Sentinel-2), extracts spectral and topographic features from Sentinel-2 and global Digital Elevation Model (DEM), and computes new landslides diagnostic features at pixel level
- [Image segmentation program](https://github.com/mhscience/landslides_detection/tree/master/segmentation) developed in Python. Image segmentation is the first step towards the application of OBIA. It consists on the subdivision of an image into spatially continuous, disjoint, and relative homogeneous regions that refer to segments. This stage is implemented as a two-step approach: (a) an initial segmentation using a [k-means script](https://github.com/mhscience/landslides_detection/tree/master/segmentation/k_means_segmentation) (developed using [RSGISLib](https://www.rsgislib.org/)); (b) [merging algorithm script](https://github.com/mhscience/landslides_detection/tree/master/segmentation/merging_algorithm) using a region-growing implementation
- [Image classification script](https://github.com/mhscience/landslides_detection/tree/master/model) to detect the landslide segments. Once segments with features statistics are obtained from the Image segmentation step, the image is classified by assigning each segment to a class. The classification is conducted using supervised Machine Learning, specifically the Random Forest algorithm
We provide a [script](https://github.com/mhscience/landslides_detection/tree/master/training_script) for model training and testing.
#### Quickstart
[See our tutorial](https://github.com/mhscience/landslides_detection/wiki)#### Author:
MSc.ir. Meylin Herrera Herrera
Master in Geomatics @ Delft University of Technology
Contact: [email protected]#### Contributors
Dr.ir. Mathias Lemmens @ Delft University of Technology
Dr.ir. Amin Askarinejad @ Delft University of Technology
Dr.ir. Faraz Tehrani @ Deltares Research Institute
Ir. Giorgio Santinelli @ Deltares Research Institute#### Contributing
We encourage you to contribute. Please check our [contributing guidelines](https://github.com/mhscience/landslides_detection/blob/master/contributing.md)