Reduce the impact of wildfire by detecting fire embers using computer vision based object detection and extinguishing them using water retardant bombs powered by drone technogolgies.
Train, test and validation split used for all the datasets: 70%, 15% and 15%
There were two approaches that were tried for detecting embers in images using MMDetection
Approach 1 and 2: Link
(1) Approach 1: Vanilla FasterRCNN model from MMDetection
Below shown are the plots for the various datasets for which Approach 1 was used:
(2) Approach 2: FasterRCNN with modified Anchor Generator Where the anchor scale was reduced from 8 to 4 (i.e. In config file (MMDetection), scales in rpn_head was changed from 8 to 4)
Motivation: Since the objects are very small, by reducing the anchor box size the model would perform better in detecting small objects
Approach 2 was only tested for 0415_take2 and 0415_take1 datasets
(3) Approach 3 (Work in Progress): Link
- Upstream: ResNet50 backbone followed by transpose convolution to increase width and height of feature map
- Downstream: Conv1 with kernel size (1x1) followed by non linearity
- Combing the models: Concatenate the outputs from Upstream and Downstream and pass it through FasterRCNN
- Motivation: Upstream path controls background suppression due to downscaling Downstream path enhances the small object detection due to the absence of downsampling
Output dimensions are in the format (batch_size, channels, width, height)
- Preprocessing_file for creating train, val, and test annotation files from the base annotation JSON file. This file also helps in splitting the dataset images into train, val, and test images.
- Config files used are present in Config
- File to visualize the bounding boxes of the trained model: Inference_file