SatFetch / AGENTS.md
karansharmaworkspace's picture
Upload 68 files
f343f06 verified
|
Raw
History Blame Contribute Delete
2.14 kB
# Cross-Modal Satellite Image Retrieval
## Project Context
A multi-modal satellite image retrieval system that finds semantically similar remote sensing images across different sensor modalities (optical, SAR, multispectral). Users query with an image from one modality and receive ranked results from the same or different modalities.
**Core Value:** Retrieve semantically similar satellite images across sensor modalities with measurable accuracy (F1@5, F1@10) and acceptable query latency.
## Workflow
This project uses GSD (Get Shit Done) workflow. Key commands:
- `/gsd-discuss-phase N` β€” Gather context for phase N
- `/gsd-plan-phase N` β€” Create detailed plan for phase N
- `/gsd-execute-phase N` β€” Execute plans in phase N
- `/gsd-verify-work` β€” Validate built features
## Tech Stack
- **Framework:** PyTorch 2.x
- **Pre-trained Models:** CLOSP / DOFA-CLIP / SARCLIP (HuggingFace)
- **Vector Search:** FAISS (faiss-cpu)
- **UI:** Gradio 4.x
- **Deployment:** HuggingFace Spaces
## Key Files
- `.planning/PROJECT.md` β€” Project context and goals
- `.planning/REQUIREMENTS.md` β€” v1 requirements (27 total)
- `.planning/ROADMAP.md` β€” Phase structure (7 phases)
- `.planning/config.json` β€” Workflow preferences
- `.planning/research/` β€” Domain research
## Phase Overview
| Phase | Goal | Requirements |
|-------|------|--------------|
| 1 | Data & Preprocessing | DATA-01 to DATA-04 |
| 2 | Feature Extraction | FEAT-01 to FEAT-04 |
| 3 | Retrieval Engine | RETR-01 to RETR-05 |
| 4 | Same/Cross-Modal Retrieval | SAME-01 to SAME-03, CROSS-01 to CROSS-04 |
| 5 | Evaluation Metrics | EVAL-01 to EVAL-06 |
| 6 | Gradio UI | UI-01 to UI-04 |
| 7 | HuggingFace Deployment | UI-05 |
## Evaluation Metrics
- F1-score@5 (same-modal)
- F1-score@10 (same-modal)
- F1-score@5 (cross-modal)
- F1-score@10 (cross-modal)
- Average retrieval time per query
## Notes
- Use pre-trained models, don't train from scratch
- Pre-compute all gallery embeddings (don't extract on-the-fly)
- Per-modality preprocessing is critical (different channel counts)
- Cross-modal retrieval is harder than same-modal β€” focus there