Landslides Detection
Machine learning tool to detect landslides from optical satellite imagery.
https://github.com/mhscience/landslides_detection
Category: Natural Resources
Sub Category: Soil and Land
Keywords
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: about 19 hours ago
JSON representation
Repository metadata
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 (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T11:43:56.000Z (over 2 years ago)
- Last Synced: 2025-04-17T22:43:37.208Z (10 days 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: 105
- Watchers: 6
- Forks: 35
- Open Issues: 11
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
README.md
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 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 and Deltares Research Institute.
The tool is built using open source software: Google Earth Engine(GEE) and Python with their libraries Remote Sensing and GIS software library (RSGISLib) and Scikit-Learn. It includes three main components:
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 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 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 (developed using RSGISLib); (b) merging algorithm script using a region-growing implementation
-
Image classification script 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 for model training and testing.
Quickstart
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
GitHub Events
Total
- Watch event: 15
- Fork event: 4
Last Year
- Watch event: 15
- Fork event: 4
Committers metadata
Last synced: 8 days ago
Total Commits: 74
Total Committers: 4
Avg Commits per committer: 18.5
Development Distribution Score (DDS): 0.243
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
mhscience | 3****e | 56 |
giosans | g****s@h****t | 13 |
Giorgio Santinelli | G****i@d****l | 3 |
mhscience | m****e@g****m | 2 |
Committer domains:
- deltares.nl: 1
- hotmail.it: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 7
Total pull requests: 13
Average time to close issues: 17 days
Average time to close pull requests: 3 days
Total issue authors: 4
Total pull request authors: 2
Average comments per issue: 1.0
Average comments per pull request: 0.0
Merged pull request: 5
Bot issues: 0
Bot pull requests: 7
Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- mhscience (4)
- yu1206 (1)
- AkashNayak48 (1)
- giosans (1)
Top Pull Request Authors
- dependabot[bot] (7)
- giosans (6)
Top Issue Labels
- documentation (2)
- Epic Tutorials (1)
- enhancement (1)
Top Pull Request Labels
- dependencies (7)
Dependencies
- Babel ==2.8.0
- Fiona ==1.8.13
- GDAL ==3.0.2
- Jinja2 ==2.11.2
- PyQt5 ==5.12.3
- PyQt5-sip ==4.19.18
- PyQtWebEngine ==5.12.1
- PySocks ==1.7.1
- PyYAML ==5.3.1
- QtPy ==1.9.0
- Rtree ==0.9.4
- Send2Trash ==1.5.0
- Shapely ==1.6.4.post2
- alabaster ==0.7.12
- async-generator ==1.10
- backports.functools-lru-cache ==1.6.1
- brotlipy ==0.7.0
- certifi ==2020.6.20
- click ==7.1.2
- click-plugins ==1.1.1
- cligj ==0.5.0
- colorama ==0.4.3
- decorator ==4.4.2
- defusedxml ==0.6.0
- docutils ==0.16
- entrypoints ==0.3
- future ==0.18.2
- h5py ==2.10.0
- imagesize ==1.2.0
- intervaltree ==3.0.2
- ipython-genutils ==0.2.0
- jsonschema ==3.2.0
- jupyter-core ==4.6.3
- jupyterlab ==2.2.8
- lazy-object-proxy ==1.4.3
- mccabe ==0.6.1
- mistune ==0.8.4
- mkl-service ==2.3.0
- munch ==2.5.0
- pandocfilters ==1.4.2
- parso ==0.7.0
- pathtools ==0.1.2
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pyOpenSSL ==19.1.0
- pyflakes ==2.2.0
- pyparsing ==2.4.7
- pyproj ==2.4.2.post1
- python-dateutil ==2.8.1
- pytz ==2020.1
- pywin32 ==227
- pywin32-ctypes ==0.2.0
- pywinpty ==0.5.7
- pyzmq ==19.0.2
- snowballstemmer ==2.0.0
- sphinxcontrib-applehelp ==1.0.2
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==1.0.3
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.4
- testpath ==0.4.4
- tornado ==6.0.4
- webencodings ==0.5.1
- win-inet-pton ==1.1.0
- wincertstore ==0.2
- wrapt ==1.11.2
- xlrd ==1.2.0
- alabaster 0.7.12
- argh 0.26.2
- argon2-cffi 20.1.0
- astroid 2.4.2
- async_generator 1.10
- atomicwrites 1.4.0
- attrs 20.2.0
- autopep8 1.5.4
- babel 2.8.0
- backcall 0.2.0
- backports 1.0
- backports.functools_lru_cache 1.6.1
- bcrypt 3.2.0
- blas 1.0
- bleach 3.2.1
- boost-cpp 1.70.0
- brotlipy 0.7.0
- bzip2 1.0.8
- ca-certificates 2020.6.20
- certifi 2020.6.20
- cffi 1.14.3
- cfitsio 3.470
- cgal-cpp 4.14.1
- chardet 3.0.4
- click 7.1.2
- click-plugins 1.1.1
- cligj 0.5.0
- cloudpickle 1.6.0
- colorama 0.4.3
- cryptography 3.1.1
- curl 7.68.0
- decorator 4.4.2
- defusedxml 0.6.0
- diff-match-patch 20200713
- docutils 0.16
- eigen 3.3.7
- entrypoints 0.3
- expat 2.2.9
- fiona 1.8.13
- flake8 3.8.4
- freetype 2.10.3
- freexl 1.0.5
- future 0.18.2
- gdal 3.0.2
- geopandas 0.8.1
- geos 3.7.2
- geotiff 1.5.1
- gettext 0.19.8.1
- glib 2.66.1
- gsl 2.6
- h5py 2.10.0
- hdf4 4.2.13
- hdf5 1.10.5
- icc_rt 2019.0.0
- icu 64.2
- idna 2.10
- imagesize 1.2.0
- importlib-metadata 2.0.0
- importlib_metadata 2.0.0
- intel-openmp 2020.1
- intervaltree 3.0.2
- ipykernel 5.3.4
- ipython 7.18.1
- ipython_genutils 0.2.0
- isort 5.5.4
- jedi 0.17.1
- jinja2 2.11.2
- joblib 0.17.0
- jpeg 9d
- json5 0.9.5
- jsonschema 3.2.0
- jupyter_client 6.1.7
- jupyter_core 4.6.3
- jupyterlab 2.2.8
- jupyterlab_pygments 0.1.2
- jupyterlab_server 1.2.0
- kealib 1.4.13
- keyring 21.4.0
- krb5 1.16.4
- lazy-object-proxy 1.4.3
- libblas 3.8.0
- libcblas 3.8.0
- libclang 9.0.1
- libcurl 7.68.0
- libffi 3.2.1
- libgdal 3.0.2
- libiconv 1.16
- libkml 1.3.0
- liblapack 3.8.0
- libnetcdf 4.7.1
- libpng 1.6.37
- libpq 11.5
- libsodium 1.0.17
- libspatialindex 1.9.3
- libspatialite 4.3.0a
- libssh2 1.9.0
- libtiff 4.1.0
- libwebp 1.0.2
- libxml2 2.9.10
- lz4-c 1.9.2
- m2w64-expat 2.1.1
- m2w64-gcc-libgfortran 5.3.0
- m2w64-gcc-libs 5.3.0
- m2w64-gcc-libs-core 5.3.0
- m2w64-gettext 0.19.7
- m2w64-gmp 6.1.0
- m2w64-libiconv 1.14
- m2w64-libwinpthread-git 5.0.0.4634.697f757
- m2w64-xz 5.2.2
- markupsafe 1.1.1
- mccabe 0.6.1
- mistune 0.8.4
- mkl 2020.1
- mkl-service 2.3.0
- mpfr 4.0.2
- mpir 3.0.0
- msys2-conda-epoch 20160418
- munch 2.5.0
- muparser 2.2.6.1
- nbclient 0.5.0
- nbconvert 6.0.7
- nbformat 5.0.7
- nest-asyncio 1.4.1
- notebook 6.1.4
- numpy 1.19.1
- numpydoc 1.1.0
- openjpeg 2.3.1
- openssl 1.1.1h
- packaging 20.4
- pandas 1.1.3
- pandoc 2.10.1
- pandocfilters 1.4.2
- paramiko 2.7.2
- parso 0.7.0
- pathtools 0.1.2
- pcre 8.44
- pexpect 4.8.0
- pickleshare 0.7.5
- pip 20.2.3
- pixman 0.38.0
- pluggy 0.13.1
- poppler 0.67.0
- poppler-data 0.4.9
- postgresql 11.5
- proj 6.2.1
- prometheus_client 0.8.0
- prompt-toolkit 3.0.7
- psutil 5.7.2
- pycodestyle 2.6.0
- pycparser 2.20
- pydocstyle 5.1.1
- pyflakes 2.2.0
- pygments 2.7.1
- pylint 2.6.0
- pynacl 1.4.0
- pyopenssl 19.1.0
- pyparsing 2.4.7
- pyproj 2.4.2.post1
- pyqt 5.12.3
- pyreadline 2.1
- pyrsistent 0.17.3
- pysocks 1.7.1
- python 3.8.5
- python-dateutil 2.8.1
- python-jsonrpc-server 0.4.0
- python-language-server 0.35.1
- python_abi 3.8
- pytz 2020.1
- pywin32 227
- pywin32-ctypes 0.2.0
- pywinpty 0.5.7
- pyyaml 5.3.1
- pyzmq 19.0.2
- qdarkstyle 2.8.1
- qt 5.12.5
- qtawesome 1.0.1
- qtconsole 4.7.7
- qtpy 1.9.0
- requests 2.24.0
- rios 1.4.10
- rope 0.17.0
- rsgislib 4.1.95
- rtree 0.9.4
- scikit-learn 0.23.2
- scipy 1.5.0
- send2trash 1.5.0
- setuptools 49.6.0
- shapely 1.6.4
- six 1.15.0
- snowballstemmer 2.0.0
- sortedcontainers 2.2.2
- sphinx 3.2.1
- sphinxcontrib-applehelp 1.0.2
- sphinxcontrib-devhelp 1.0.2
- sphinxcontrib-htmlhelp 1.0.3
- sphinxcontrib-jsmath 1.0.1
- sphinxcontrib-qthelp 1.0.3
- sphinxcontrib-serializinghtml 1.1.4
- spyder 4.1.5
- spyder-kernels 1.9.4
- sqlite 3.33.0
- tbb 2020.1
- terminado 0.9.1
- testpath 0.4.4
- threadpoolctl 2.1.0
- tiledb 1.7.0
- tk 8.6.10
- toml 0.10.1
- tornado 6.0.4
- tqdm 4.50.2
- traitlets 5.0.4
- ujson 3.2.0
- urllib3 1.25.10
- vc 14.1
- vs2015_runtime 14.16.27012
- watchdog 0.10.3
- wcwidth 0.2.5
- webencodings 0.5.1
- wheel 0.35.1
- win_inet_pton 1.1.0
- wincertstore 0.2
- winpty 0.4.3
- wrapt 1.11.2
- xerces-c 3.2.2
- xz 5.2.5
- yaml 0.2.5
- yapf 0.30.0
- zeromq 4.3.2
- zipp 3.3.0
- zlib 1.2.11
- zstd 1.4.5
Score: 6.139884552226255