This repository contains an end-to-end pipeline for satellite image segmentation and object extraction from noisy images. The project evaluates multiple segmentation techniques, including K-Means, Mean Shift, and Graph-Based segmentation, followed by region-growing algorithms and connected component analysis (CCA) for refinement.
Satellite images often contain noise, making object extraction challenging. This project implements:
- Noise Reduction using Gaussian & Median Filtering.
- Segmentation Methods: K-Means, Mean Shift, and Graph-Based segmentation.
- Refinement: Region Growing & Connected Component Analysis (CCA).
- Evaluation Metrics: IoU, Dice Score, and Pixel Accuracy.
- Visualization: Comparison of segmentation results at different stages.
📺 Satellite-Image-Segmentation
│-- 📁 Dataset/ # EuroSAT dataset (RGB)
│-- 📝 requirements.txt # Required dependencies
│-- 📝 README.md # Project documentation
|--📜 segmentation_notebook.ipynb # Jupyter Notebook with complete
implementation
pip install -r requirements.txt
git clone https://github.com/chethanakantipudi
/Satellite-Image-Segmentation.git
cd Satellite-Image-Segmentationpip install -r requirements.txt- Gaussian Filtering
- Median Filtering
- K-Means Clustering
- Mean Shift Segmentation
- Graph-Based Segmentation (Felzenszwalb’s Algorithm)
- Region Growing Algorithm
- Connected Component Analysis (CCA) to remove small noisy regions.
- IoU (Intersection over Union)
- Dice Score
- Pixel Accuracy
We visualize segmentation results at four stages:
- Original Image (No Noise Reduction)
- After Noise Reduction (Gaussian Blur)
- After K-Means Segmentation
- Final Refined Segmentation (Region Growing + CCA)
This project is licensed under the MIT License.
