Aerial Imagery dataset for fire detection: classification and segmentation using Unmanned Aerial Vehicle (UAV)
You can find the preprint from the ... .
-
The dataset is uploaded on IEEE dataport. You can find the dataset here at IEEE Dataport or DOI.
-
This table shows all available data for the dataset.
-
This project uses items 7, 8, 9, and 10 from the dataset. Items 7 and 8 are being used for the "Fire_vs_NoFire" image classification. Items 9 and 10 are for the fire segmentation.
-
If you clone this repository on your local drive, please download item 7 from the dataset and unzip in directory /frames/Training/... for the Training phase of the "Fire_vs_NoFire" image classification. The direcotry looks like this:
Repository/frames/Training
├── Fire/*.jpg
├── No_Fire/*.jpg
- For testing your trained model, please use item 8 and unzip it in direcotry /frame/Test/... . The direcotry looks like this:
Repository/frames/Test
├── Fire/*.jpg
├── No_Fire/*.jpg
- Items 9 and 10 should be unzipped in these directories frames/Segmentation/Data/Image/... and frames/Segmentation/Data/Masks/... accordingly. The direcotry looks like this:
Repository/frames/Segmentation/Data
├── Images/*.jpg
├── Masks/*.png
- Please remove other README files from those directories and make sure that only images are there.
- The binary fire classifcation model of this project is based on the Xception Network:
- The fire segmentation model of this project is based on the U-NET:
- os
- re
- cv2
- copy
- tqdm
- scipy
- numpy
- pickle
- random
- itertools
- Keras 2.4.0
- Tensorflow 2.3.0
- matplotlib.pyplot
This code is run and tested on Python 3.6 on linux (Ubuntu 18.04) machine with no issues. There is a config.py file in this directoy which shows all the configuration parameters such as Mode, image target size, Epochs, batch size, train_validation ratio, etc. All dependency files are available in the root directory of this repository.
- To run the training phase for the "Fire_vs_NoFire" image classification, change the mode value to 'Training' in the config.py file. Like This
Mode = 'Training'
Make sure that you have copied and unzipped the data in correct direcotry.
- To run the test phase for the "Fire_vs_NoFire" image classification, change the mode value to 'Classification' in the config.py file. Change This
Mode = 'Classification'
Make sure that you have copied and unzipped the data in correct direcotry.
- To run the test phase for the Fire segmentation, change the mode value to 'Classification' in the config.py file. Change This
Mode = 'Segmentation'
Make sure that you have copied and unzipped the data in correct direcotry.
Then after setting your parameters, just run the main.py file.
python main.py
- Fire classification accuracy:
- Fire classification Confusion Matrix:
- Fire segmentation metrics and evaluation:
- Comparison between generated masks and grount truth mask:
If you find it useful, please cite our paper as follows:
For academtic and non-commercial usage