This is a official repository for the Deevia Hackathon Project.
The problem statement of the hackathon was to develop an android application to detect fire and smoke in real time scenario.
Our Approach: We used the Tensorflow Object Detection API to train the existing model (Transfer Learning) i.e., EfficientDet model.
As we know that, Object detection is a technique of training computers to detect objects from images or videos; over the years, there are many object detection architectures and algorithms created by multiple companies and researchers. In this race of creating the most accurate and efficient model, the Google Brain team recently released the EfficientDet model, it achieved the highest accuracy with fewest training epochs in object detection tasks. This architecture beats the YOLO, AmoebeaNet with minimum computation power. The architecture for the same is as shown below:
It is an advanced version of EfficientNet, which was the state of art object detection model in early 2019, EfficientNet was a baseline network created by Automl MNAS, it achieved state-of-the-art 84.4% more accuracy and used a highly effective compound coefficient to scale up CNNs in a more structured manner. The comparision of different state-of-the-art models is as shown in the image below:
Regarding the Data-set: We re-annotated the existing Fire dataset to Fire and Smoke dataset using LabelImg. We used 320 samples for training and 30 samples for validation. We achieved a loss of 0.14 after training for approximately 5000 steps. The training was done on Google Colaboratory.
Steps to Run the code:
- Clone the github repository.
- Download the weights and move them to training folder and edit the paths in .config file. (This step is required only for training)
- Run the ipynb file either in local system or Colab. Install the dependencies as stated in the notebook.
- For testing the model, run the Fire_smoke_test.ipynb notebook. Load the model from model folder.
Results: Following are a few results from the model.