AI-powered fire and smoke detection system for emergency response and search-and-rescue operations.
# AFRICA RESQ — AI Fire & Smoke Detection System
## Overview
AFRICA RESQ is an AI-powered fire and smoke detection system designed to support emergency response and search-and-rescue operations.
The system combines computer vision, hazard analysis, risk assessment, survivor detection, and decision-support components.
## System Architecture
```text
Camera / Sensors
↓
Perception
↓
Fusion
↓
Hazard & Survivor Analysis
↓
Risk / Priority / Safe Path
↓
Recommendation
↓
FastAPI Backend
↓
Frontend Dashboard
```
## Main Components
- `perception.py` — Fire and smoke detection using computer vision
- `webcam.py` — Live camera input
- `fusion.py` — Combines system information
- `hazard_engine.py` — Hazard analysis
- `survivor.py` — Survivor detection
- `thermal.py` — Thermal sensor processing
- `risk_engine.py` — Risk assessment
- `priority_engine.py` — Rescue priority assessment
- `safe_path.py` — Safe route processing
- `zone_mapper.py` — Zone mapping
- `recommendation_engine.py` — Generates recommendations
- `main_pipeline.py` — Main processing pipeline
- `live_pipeline.py` — Live processing pipeline
- `shared_state.py` — Shared system state
- `sensor_data.py` — Sensor data handling
- `api.py` — FastAPI backend
## AI Perception
The perception layer uses a trained YOLO-based computer vision model to detect fire and smoke from camera frames.
For each detection, the system can process information such as:
- Detection class
- Confidence score
- Bounding box
- Object location
- Detection source
- Timestamp
## API Endpoints
The backend is built with FastAPI and provides the following REST API endpoints:
| Endpoint | Purpose |
|---|---|
| `GET /` | Check whether the AFRICA RESQ AI system is online |
| `GET /api/status` | Return backend status and timestamp |
| `GET /api/detection` | Return fire, smoke and survivor detection |
| `GET /api/risk` | Return the current risk assessment |
| `GET /api/full` | Return the complete system state |
## API Examples
### GET `/`
Re …