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