🚀 Live Demo
Sat-Scan Terminal is a geospatial intelligence platform designed to detect, analyze and classify temporal surface changes using Sentinel-2 imagery.
Originally developed for Smart India Hackathon (SIH), Sat-Scan evolved into a complete engineering rebuild emphasizing:
- Temporal Synchronization
- Robust Feature Comparison
- Noise Resistant Classification
- Interpretable Spatial Analysis
- Large Scale Geospatial Processing
| Metric | Value |
|---|---|
| Current State | Functional MVP |
| Deployment | Streamlit Application Released |
| Validation | Real-world Satellite Evaluation |
| Version | v3.0 |
| Status | Active |
Sat-Scan derives understanding from four complementary layers.
| Layer | Objective |
|---|---|
| Temporal Alignment | Synchronize T1 and T2 observations |
| Feature Similarity | Siamese embeddings instead of pixel differencing |
| Probabilistic Interpretation | Dynamic World priors suppress environmental noise |
| Spatial Reasoning | Contour extraction enables interpretable outputs |
Together these components create a robust pipeline capable of operating under real-world geospatial conditions.
Initial prototypes suffered from:
- Coordinate desynchronization
- Seasonal false positives
- Region instability
- Poor spatial interpretation
Rather than applying incremental fixes, the architecture was redesigned from first principles.
Sat-Scan v3.0 represents:
- Root-cause debugging
- Architectural redesign
- Robustness over convenience
- Interpretability over complexity
| Stage | Purpose |
|---|---|
| Sentinel-2 Acquisition | Retrieve temporal imagery |
| AOI Selection | Define analysis region |
| Temporal Alignment | Synchronize observations |
| Feature Extraction | Siamese ResNet embeddings |
| Distance Analysis | Compute change similarity |
| Clustering | Identify candidate regions |
| Contour Extraction | Generate interpretable boundaries |
| Dynamic World Classification | Region labeling |
| Probabilistic Filtering | Noise suppression |
| Visualization | Interactive DualMap rendering |
| Reporting | Change statistics |
| Domain | Stack |
|---|---|
| Deep Learning | PyTorch • Siamese Networks • ResNet-18 |
| Remote Sensing | Sentinel-2 • Google Earth Engine |
| Image Processing | Scikit-Image |
| Geospatial Processing | Rasterio • Affine Transform |
| Visualization | Streamlit • Folium • DualMap |
| Classification | Dynamic World Probability Bands |
| Spatial Analysis | Thresholding • Contours • Clustering |
IF Cluster_Area > Threshold:
IF DynamicWorld_Mode == Built:
LABEL = "HUMAN-MADE"
ELSE:
LABEL = "NATURAL"✔ Contour-based Region Detection
✔ Reduced Seasonal False Positives
✔ Human-interpretable Classification
✔ Temporal Synchronization
✔ Surface Change Statistics
✔ Interactive Visualization
| Component | Initial Prototype | Sat-Scan v3.0 |
|---|---|---|
| Alignment | Drift Issues | Fully Synchronized |
| Noise Handling | High False Positives | Majority Rule Filtering |
| Detection | Bounding Boxes | Contours |
| Stability | Experimental | Consistent |
| Visualization | Static | Interactive |
| Classification | Pixel-based | Probabilistic |
git clone https://github.com/Ganateju/Satilite-Image-Detection.git
cd Satilite-Image-Detection
pip install -r requirements.txtCreate:
.env
GEE_PROJECT_ID=your-google-project-id
Run:
streamlit run frontend/app.py- Geospatial Intelligence
- Remote Sensing
- Computer Vision
- Deep Learning
- Spatial Analytics
- Earth Observation
- Data Visualization
- Systems Engineering
Failure is acceptable.
Not understanding failure is not.
Sat-Scan was rebuilt through architectural analysis and systematic debugging rather than incremental patching.
Built by Ganateju
"Perception under uncertainty."