Skip to content

jaweed3/RescueVision

Repository files navigation

mAP@50 Model Size Max Latency CPU Only Offline Python ONNX

🚁 RescueVision Edge

Lightweight Sovereign AI for On-Device Victim Localization
in Post-Disaster Aerial Assessment

Universitas Darussalam Gontor (UNIDA)


What if a 7.8 magnitude earthquake levels a city — towers down, internet dead, no cloud, no API, no maps.
Search teams arrive with nothing but drones and a laptop.
They fly. The drone streams footage. A laptop runs our model.
Within seconds, every victim is located — offline, on-device, no connection needed.
That's what RescueVision Edge was built for.



📋 Ringkasan

RescueVision Edge adalah sistem deteksi korban bencana dari citra udara drone yang berjalan sepenuhnya luring tanpa cloud/API eksternal. YOLOv8n → ONNX (11.70 MB), CPU-only, latensi <40 ms.

Aspek Detail
Model YOLOv8n → ONNX (11.70 MB)
Inference CPU-only via CPUExecutionProvider
Latensi ~30 ms rata-rata (max 38.1 ms)
Akurasi [email protected] 0.5280 (pedestrian)
Frontend React + Vite + Leaflet
Backend FastAPI + ONNX Runtime
Offline ✅ Zero external API

✅ Constraint Track A

# Constraint Requirement Status
C-A1 Ukuran Model ≤ 50 MB 11.70 MB
C-A2 Platform CPU-only CPUExecutionProvider
C-A3 Kecepatan ≤ 3.000 ms 38.1 ms max
C-A4 Framework PyTorch / ONNX ✅ Ultralytics + ONNX Runtime
C-A5 Offline Zero API calls ✅ Fully offline

🎬 Demo

Docker
🐳 Docker
compose up → deteksi
API
🔌 API
OpenAPI → inject → GPS
Benchmark
⚡ Benchmark
8 frame → avg 157 ms
Setup
🎛️ Setup RPi
scripts/setup_pi.sh

Live   Detection

📍 Frontend  •  API  •  Swagger UI


🚀 Quick Start

# Docker (recommended)
cp model/best.onnx model.onnx
docker compose up --build     # → localhost:3000

# Development (2 terminal)
cd backend && pip install -r requirements.txt && uvicorn app.main:app --reload --port 8000
cd frontend && npm install && npm run dev -- --port 5173

# Raspberry Pi 4
sudo ./scripts/setup_pi.sh   # auto-install semua dependensi

📡 API

Method Endpoint Fungsi
GET /health Status sistem + model
POST /detect Deteksi 1 gambar
POST /detect/batch Batch (max 100)
POST /inject Inject config dinamis
GET /export/csv Export CSV
GET /export/json Export JSON
curl -X POST "http://localhost:8000/detect?manual_lat=-7.34&manual_lon=110.45" \
  -F "file=@drone_test_frames/frame_0008.jpg"

📊 Benchmark

Metrik YOLOv5n YOLOv8n
[email protected] 0.4684 0.5280
ONNX size 7.49 MB 11.70 MB
CPU latency (max) 19.8 ms 38.1 ms

Detail: docs/architecture_comparison.txt · docs/demo-benchmark.gif


🗂️ Struktur

RescueVision/
├── scripts/        # Utilitas: dataset, benchmark, setup RPi
├── backend/app/    # FastAPI: routes, inference, GPS
├── frontend/src/   # React: components, hooks, API client
├── docs/           # Demo GIF/Cast, proposal, laporan
├── notebooks/      # Training + inference notebook
└── docker-compose.yml

👥 Tim

Nama Role
Farrel Ghozy Affifudin DevOps & Frontend
Fatih Jawwad Al Mumtaz AI/ML & Backend

📄 Lisensi

Dataset VisDrone-DET 2019 — riset non-komersial. Model YOLOv8n — AGPL-3.0.


About

Lightweight Sovereign AI for On-Device Victim Localization in Post-Disaster Aerial Assessment

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors