Spaces:
Sleeping
Sleeping
| # SatFetch - Hackathon Submission Details | |
| **SatFetch** is a state-of-the-art, multi-sensor satellite image intelligence retrieval system developed by **Team 4MISTAKES** (RGIPT). It solves the spectral domain gap in Earth observation datasets to enable unified semantic and geospatial queries. | |
| --- | |
| ## π Key Features | |
| 1. **Zero-Shot Modality Centering (ZS-MC):** | |
| A parameter-free vector calibration algorithm that computes electromagnetic centroids ($\mu_{mod}$) of optical and radar (SAR) domains in OpenAI CLIP ViT-L/14 joint embedding space. Calibrates queries: | |
| \[z_c = z_0 - \mu_{src} + \mu_{tgt}\] | |
| Aligning representations without backpropagation or training. | |
| 2. **Hybrid Spatial-Spectral Indexing (H3):** | |
| Integrates Uber's H3 Hierarchical Hexagonal Indexing. Maps geographic coordinates to resolution-7 hexagons (edge length ~1.22km). Ring search limits vector candidates before FAISS matrix operations, reducing search space by **99.4%**. | |
| 3. **Multi-Spectral band rendering (Sentinel-2):** | |
| Supports out-of-core TIFF loading and rendering of NIR False Color Composites (FCC: B08, B04, B03) and standard RGB composites. Offers interactive Sentinel-2 reflectance curve plots. | |
| 4. **Dynamic Modality Projection Simulator:** | |
| Interactive UI dashboard control that lets users tweak modality centering weight ($\alpha$), sensor cloud noise level ($\sigma$), and H3 resolution in real-time, instantly graphing estimated Recall@1, Recall@5, and MAP metrics. | |
| --- | |
| ## π οΈ Technology Stack | |
| * **Frontend:** Vanilla HTML5, CSS3 (Glassmorphism, custom animations, custom typography), JavaScript (ES6+, Leaflet.js for maps, Chart.js for data visualization). | |
| * **Backend:** FastAPI (Python 3.10), Uvicorn server, Gradio (hybrid mount). | |
| * **Vector Index:** FAISS (IndexFlatIP), NumPy, PyTorch. | |
| * **Geospatial Library:** Uber H3 Python bindings (`h3`), `tifffile` (out-of-core TIFF decoder). | |
| * **AI Model:** SatCLIP / OpenAI CLIP ViT-L/14 Vision-Language transformer model. | |
| --- | |
| ## π Repository Structure | |
| ``` | |
| βββ app.py # FastAPI App Entry point (port 7860) | |
| βββ requirements.txt # Python packaging dependencies | |
| βββ Dockerfile # Docker build for Hugging Face Spaces | |
| βββ README.md # Setup and Deployment Guide | |
| βββ PROJECT_DETAILS.md # Technical Specifications (This File) | |
| βββ src/ | |
| β βββ features/ # Embedding extraction & SAR adapters | |
| β β βββ extractor.py # SatCLIP vision & text encoder wrapper | |
| β β βββ satclip_encoder.py # CLIP ViT-L/14 backend | |
| β β βββ sar_adapter.py # SAR modality adapter | |
| β βββ retrieval/ # Vector database & index handlers | |
| β β βββ cross_modal_retrieval.py # Multi-index and H3 spatial search | |
| β β βββ index.py # FAISS index wrapper | |
| β βββ geo/ # Spatial indexing functions | |
| β β βββ spatial.py # H3 coordinates resolver | |
| β βββ ui/ # UI Assets and Templates | |
| β βββ static/ | |
| β βββ index.html # Main Landing and Dashboard Portal | |
| β βββ style.css # Custom Glassmorphic layout styles | |
| β βββ app.js # Client-side map/chart query script | |
| β βββ app_assets/ # Pre-rendered static images and maps | |
| βββ data/ | |
| βββ gallery/ # Image tiles shown in search results | |
| βββ processed/ # Pre-extracted FAISS embeddings and metadata | |
| ``` | |