HIK.
Zurück zum Portfolio

Case Study

Graduation Project·2026

Drone Fire Watch: Feuer- und Raucherkennung aus der Luft

Abschlussprojekt: ein YOLOv8-L-Detektor, trainiert auf dem D-Fire-Datensatz mit 21K Bildern (Precision, Recall und mAP50 ≈ 0,80), per FastAPI an ein React-Operations-Dashboard und einen Streamlit-Feldreporter ausgeliefert.

YOLOv8FastAPIComputer VisionReactStreamlit
github.com/hhalilikurnaz
Drone Fire Watch

01

Überblick

Mein Abschlussprojekt: ein System zur Feuer- und Raucherkennung aus der Luft rund um ein eigenes YOLOv8-L-Modell, das über einen FastAPI-Inferenzservice zwei Clients bedient, ein Operations-Dashboard und einen Feldreporter.

02

Die Herausforderung

Waldbranderkennung stützt sich meist auf manuelle Beobachtung oder verzögerte Satellitenbilder. Bis ein Brand bestätigt ist, breitet er sich womöglich schon aus, und Einsatzteams wissen selten genau, wohin sie müssen oder wohin der Wind das Feuer treibt.

03

Der Ansatz

Ich habe einen YOLOv8-L-Detektor auf D-Fire trainiert, einem Feuer- und Rauchdatensatz mit 21K Bildern, und bewusst das größere Backbone gewählt, weil Genauigkeit hier wichtiger ist als reine Geschwindigkeit. Ein FastAPI-Service kapselt das Modell und liefert strukturierte Detektionen an zwei Clients: ein Dashboard für Operatoren und einen schlanken Reporter für Teams im Feld.

04

So funktioniert es

Luft- oder Feldbilder erreichen einen FastAPI-Inferenzservice, der das YOLOv8-L-Modell mit 640px ausführt und strukturiertes JSON mit Labels, Konfidenzen und Bounding Boxes zurückgibt. Das React-Operations-Dashboard löst oberhalb einer konfigurierbaren Konfidenzschwelle Alarm aus und führt Statistiken und Alarmhistorie. Der Streamlit-Feldreporter liest die EXIF-GPS-Daten jedes Fotos, platziert Detektionen auf einer Karte und reichert sie mit Live-Winddaten von OpenWeatherMap an.

05

Systemarchitektur

Wie die Teile miteinander sprechen. Bewege den Zeiger über einen Knoten oder wechsle zum Quellcode der Runtime.

inference.py

Sense

Infer

Serve

06

Was ich gebaut habe

YOLOv8-L-Modell, trainiert und evaluiert auf dem D-Fire-Datensatz mit 21K Bildern (~100 Epochen, 640px).

FastAPI-Inferenzservice mit strukturiertem JSON-Vertrag für beide Clients.

React-Operations-Dashboard: Alarme per Konfidenzschwelle, Statistiken und Alarmhistorie.

Streamlit-Feldreporter mit EXIF-GPS-Karte und OpenWeatherMap-Winddaten.

07

Ergebnisse

Eigenen YOLOv8-L-Detektor für Feuer und Rauch auf dem D-Fire-Datensatz mit 21K Bildern trainiert (~100 Epochen, 640px); Precision, Recall und mAP50 ≈ 0,80.

Bewusst Genauigkeit vor Latenz gestellt: In einem sicherheitskritischen Bereich kostet ein übersehener Brand mehr als ein langsamerer Frame.

Modell über einen FastAPI-Inferenzservice mit strukturierter JSON-Antwort bereitgestellt.

React-Operations-Dashboard mit Alarmen per Konfidenzschwelle, Statistiken und Alarmhistorie gebaut.

Streamlit-Feldreporter mit EXIF-GPS-Karte und Winddaten von OpenWeatherMap gebaut.

08

Ergebnisse

Precision, Recall und mAP50 ≈ 0,80 für Feuer und Rauch.

Ein Modell, zwei Clients: Operatoren und Feldteams lesen dieselben Detektionen.

Ein vollständiges System (Modell, API und zwei Oberflächen), keine reine Notebook-Demo.

09

Was ich gelernt habe

In sicherheitskritischer Bildverarbeitung das Backbone nach den Kosten eines Fehlers wählen, nicht nach Benchmark-Tempo.

Eine Detektion nützt erst mit Kontext: GPS und Wind machen aus einer Box im Bild eine Entscheidung.

Ein Modell ohne Operator-Oberfläche ist kein System. Die Oberflächen waren Teil des Designs.

10

Tech-Stack

YOLOv8FastAPIComputer VisionReactStreamlit

Hast du etwas Ähnliches im Kopf?

Ich bin offen für neue Projekte. Lass uns über deine Idee sprechen.