Repository with our Deep Learning approach for Wildfire Detection on the FLAME dataset.
We train three convolutional neural network (CNN) models (DenseNet, ResNet, Xception) via transfer learning, then combine them in an ensemble. Our final model is intended to detect Fire vs. No Fire in UAV images.
This project was developed as the final work for PUCP's 1INF52.
- Data Preprocessing: resize and augment the FLAME dataset images.
- Model Training:
- train each CNN individually with Keras Tuner-optimized hyperparameters
- hyperparameters (example from final run):
- Xception: 25 unfrozen layers, 0.45 dropout, 0.001 L2, LR=0.00541
- DenseNet: 20 unfrozen layers, 0.35 dropout, 0.001 L2, LR=0.00147
- ResNet: 45 unfrozen layers, 0.40 dropout, 0.0005 L2, LR=0.00093
- Ensemble: merge each model’s predictions via simple averaging
- Evaluation: compute accuracy, F1-score, confusion matrix, and ROC-AUC on test set
To run the pipeline:
chmod +x ./scripts/run.sh
./scripts/run.sh
We created a minimal FastAPI web application where one can upload an image and see if the model detects fire.
Trained models are also available on Hugging Face.
The project's final report with our research's explanation can be found in the report/
folder
and the presentation and poster can be found on the presentation/
folder.