ClimateVision is an open-source machine learning platform that detects environmental change from satellite imagery. It uses deep learning (U-Net, Siamese networks) to monitor deforestation, arctic ice melting, and flooding — giving conservation NGOs and researchers automated alerts without manual analysis. Built on Sentinel-2 and Landsat data via Google Earth Engine, it runs as a REST API with a React dashboard for real-time monitoring.
git clone https://github.com/Climate-Vision/ClimateVision.git
cd ClimateVision
pip install -r requirements.txtStart the API server:
uvicorn climatevision.api.main:app --reload --host 0.0.0.0 --port 8000Run a deforestation analysis:
curl -X POST http://localhost:8000/api/predict/json \
-H "Content-Type: application/json" \
-d '{
"bbox": [-60.0, -15.0, -45.0, -5.0],
"start_date": "2023-01-01",
"end_date": "2023-12-31",
"analysis_type": "deforestation"
}'Launch the dashboard:
cd frontend && npm install && npm run dev
# Visit http://localhost:5173Explore the API docs: http://localhost:8000/docs
- Multi-type climate analysis — deforestation, arctic ice melting, flood detection (drought and wildfire detection planned)
- Deep learning inference — U-Net semantic segmentation and Siamese network change detection on Sentinel-2 imagery
- Automated data pipeline — Google Earth Engine integration with cloud masking, normalization, and 256×256 tiling
- NGO management — register organisations, subscribe to regions, receive threshold-based alerts via email or webhook
- REST API — FastAPI backend with paginated run history, stats endpoint, and full OpenAPI docs
- React dashboard — interactive map with bbox region selector, Recharts analytics, confidence gauges, and run history
- MLflow experiment tracking — log training runs, hyperparameters, and model checkpoints
- ONNX export — optimised model export for fast production inference
Full documentation: github.com/Climate-Vision/ClimateVision/wiki
- Getting Started
- API Reference —
http://localhost:8000/docswhen running locally - Project Structure
- Training Guide
- Colab Notebook
| Analysis Type | Status | Classes | Satellite Bands |
|---|---|---|---|
| Deforestation | Active | forest, non-forest | B02, B03, B04, B08 |
| Arctic Ice Melting | Active | sea-ice, open-water, land | B02, B03, B04, B11 |
| Flood Detection | Active | water, flooded, dry-land | B03, B08, B11 |
| Drought Monitoring | Planned | normal, stressed, severe | B04, B08, B11, B12 |
| Wildfire Detection | Planned | unburned, burned, active-fire | B04, B08, B11, B12 |
Performance benchmarks (baseline U-Net on held-out test sets):
| Metric | Value |
|---|---|
| Forest segmentation IoU | in progress |
| Change detection F1 | in progress |
| Inference time (256×256 tile) | ~45ms on CPU |
| API response time | <100ms |
Benchmarks will be updated as the team completes training runs. See MLflow tracking for experiment history.
We welcome contributions — bug reports, new analysis types, model improvements, documentation, and translations.
# Fork the repo, then:
git checkout -b feature/your-feature-name
pip install -r requirements.txt
pytest tests/
# Submit your PR against the develop branchRead the Contributing Guide and Code of Conduct before getting started.
Good first issues are labelled good first issue on GitHub.
This project is licensed under the MIT License — see LICENSE for details.
If you use ClimateVision in your research, please cite:
@software{climatevision2026,
author = {ClimateVision Contributors},
title = {ClimateVision: Open-Source AI Platform for Environmental Monitoring},
year = {2026},
url = {https://github.com/Climate-Vision/ClimateVision},
version = {0.2.0}
}