snehitvaddi / YOLOv3-Cloud-Based-Fire-Detection

Custom Object detection using YOLOv3 on the cloud. It is trained to detect Fire in a given frame. It can be largely used for Wildfires, fire accidents, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YoloV3 Fire Detection model

A Project on Fire detection using YOLOv3 model. This repo consists of code used for training and detecting Fire using custom YoloV3 model. I trained my custom detector on existing yolov3 weights trained to detect 80 classes.
The Dataset is collected from google images using Download All Images chrome extension. Tool for Dataset labelling Label Img.
Find some readily labelled datasets are available here @Google's Open Image Dataset v5.

Note:

I have made Fire-Implementation.ipynb private for personal reasons, contact me @v.snehith999@gmail.com for complete directory ✌

🧾 Colab Notebook πŸ“‚ Dataset with Labels πŸ”‘ Trained Model Weights ✍ LabelImg
Open In Colab Dataset with Labels Download Weights Label Img

πŸ“₯ Web-Interface using Streamlit


Streamlit library makes it easy to create and share beautiful, custom web apps for machine learning and data science applications.
  • For executing Streamlit application, install streamlit using pip install streamlit --user.
  • Open Command Prompt, and execute streamlit run UI.py.
  • A Streamlit server gets started and opens up web UI in the default browser.

🧬 Sample outputs from Custom YOLOv3 model

Input Output

πŸ“ˆ Training Performance Chart

Here is the chart to describe how my performed during entire training process. It shows average loss vs. iterations. For a model to be 'accurate' you would aim for a loss under 2.


πŸ“‚ Files Required :

  • Darknet repository
  • Labeled Custom Dataset
  • Custom .cfg file
  • obj.data and obj.names files
  • train.txt file (test.txt is optional here as well)

I referenced this tutorial from an YouTube Video by TheAIGuy channel. You can follow a step-by-step walkthrough of video and the code here: https://www.youtube.com/watch?v=10joRJt39Ns

You can download the yolov3 pretrained weights by clicking here and yolov3-tiny here


⚑ Colab Hack: ⭐

If you are a student like me, and unable to pay such amount, here is a jugad for you. πŸ˜‰

πŸ‘‰Step 1: In colab notebook, type CTRL + SHIFT + I (Inspect element)
πŸ‘‰Step 2: Go to the console tab and paste the code given in the image below.

function ClickConnect(){
console.log("Working");
document.querySelector("colab-toolbar-button#connect").click()
}
setInterval(ClickConnect,60000)


🧠 Further Ideas

  • Integrate the model with IOT and leverage Cloud services for real-time monitoring and alerting system.

References:

Streamlit Yolo Deployment - https://srishti.hashnode.dev/object-detection-app-using-yolov3-opencv-and-streamlit-1
YoloV3 Custom Model taining - https://www.youtube.com/channel/UCrydcKaojc44XnuXrfhlV8Q

πŸ’‘ Need Help.

I'm facing bugs with uploading images through Streamlit and Displaying them using OpenCV. Any kind of suggestions will be appriciable.

About

Custom Object detection using YOLOv3 on the cloud. It is trained to detect Fire in a given frame. It can be largely used for Wildfires, fire accidents, etc.


Languages

Language:Jupyter Notebook 99.9%Language:Python 0.1%