AI / MLLebNet Fellowship capstoneAug 2026
Wildfire Detection
A fire and smoke early-warning system that turns camera, drone and phone images into a single alert.
- alert recall
- 97.8%
- alert recall
- alert precision
- 98.2%
- alert precision
- PR-AUC
- 0.996
- PR-AUC
- mAP@50
- 0.795
- mAP@50
The problem
Lebanon loses forest and farmland to wildfires every summer, and fires are often spotted only once they are already large. A camera that can flag smoke early buys the time that matters.
So the question I optimised for was not how pretty the bounding boxes look. It was: given an image, did we catch the fire?
How it works
I trained YOLOv8m on the D-Fire dataset to detect and localise fire and smoke across fixed cameras, drones and phones. The pipeline validates and analyses the data, trains from config files, and evaluates with calibrated thresholds.
Everything downstream goes through one class, WildfireDetector. It loads the model, applies a confidence threshold per class, and collapses all detected boxes into one alert state: none, smoke, fire, or fire and smoke. The Streamlit demo and the command-line tool both call it, so they can never disagree.
Results
On the held-out test split the model reached 0.795 mAP@50. More importantly, at the image level it raised an alert for 97.8% of images that contained fire or smoke, and 98.2% of its alerts were real, with a PR-AUC of 0.996.
The core is unit-tested without needing a GPU or the dataset, and a single entry point runs the demo, detection, training and evaluation.