Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/msikorski93/sentinel-2-image-clustering
Image clustering with k-means approach.
https://github.com/msikorski93/sentinel-2-image-clustering
clustering gis google-earth-engine k-means-clustering remote-sensing satellite-imagery scikit-learn sentinel-2 unsupervised-machine-learning
Last synced: 3 days ago
JSON representation
Image clustering with k-means approach.
- Host: GitHub
- URL: https://github.com/msikorski93/sentinel-2-image-clustering
- Owner: msikorski93
- Created: 2024-10-30T00:10:16.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-30T00:22:59.000Z (about 2 months ago)
- Last Synced: 2024-10-30T02:49:58.932Z (about 2 months ago)
- Topics: clustering, gis, google-earth-engine, k-means-clustering, remote-sensing, satellite-imagery, scikit-learn, sentinel-2, unsupervised-machine-learning
- Language: Jupyter Notebook
- Homepage:
- Size: 5.43 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sentinel-2-Image-Clustering
![ alt text ](https://img.shields.io/badge/license-MIT-green?style=&logo=)
![ alt text ](https://img.shields.io/badge/-Jupyter-F37626?logo=Jupyter&logoColor=white)
![ alt text ](https://img.shields.io/badge/-NumPy-013243?logo=Numpy&logoColor=white)
![ alt text ](https://img.shields.io/badge/-Google--Earth--Engine-4285F4?logo=googleearthengine&logoColor=white)
![ alt text ](https://img.shields.io/badge/-scikit--learn-F7931E?logo=scikitlearn&logoColor=white)Image clustering (unsupervised classification) on Sentinel-2 satellite images with k-means approach. The rasters were extracted via Google's Earth Engine. Sentinel-2 dataset is open-source and utilizes wide-swath, high-resolution, multi-spectral imaging. A script for extracting the data is attached to this repository.
With the use of model inertias and Davies-Bouldin indices the k-means algorithm detected five clusters (land cover types) in the training raster. The remaining arguments were left to default settings.
Once the model was trained, it was tested to predict the same learned clusters for unseen image. In this case the terrain should be similar. Using this clusterer in a foreign area will return inaccurate labels. A new image adjacent to the previous raster was used to predict the same classes on it. By comparing the original rasters with the clustering results we can notice quite high accuracy in regionalization. Especially in reservoirs and forests. We notice the predominance of agricultural and rural areas. The images have been clustered properly and the terrain types seem to match each other. This k-means model works well on remotely sensed data of this geographic region.